Compare commits
	
		
			14 Commits
		
	
	
		
			0.1.12
			...
			fdfca3f7a5
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| fdfca3f7a5 | |||
| c61b2c67b7 | |||
| d0d958a638 | |||
| a437b5966f | |||
| e2378279d7 | |||
| 1b49b668b3 | |||
| 03021614b5 | |||
| 50af86798a | |||
| be01723be2 | |||
| 0a27a4ee29 | |||
| e2f8ac6b78 | |||
| d5e334dc09 | |||
| 1d6ba5960c | |||
| bc29ca6c20 | 
| @@ -17,7 +17,7 @@ steps: | ||||
|       - .mix | ||||
|  | ||||
| - name: test | ||||
|   image: elixir:1.15.4-alpine | ||||
|   image: elixir:1.15.6-alpine | ||||
|   environment: | ||||
|     TEST_DATABASE_URL: ecto://postgres:postgres@database/memex_test | ||||
|     HOST: testing.example.tld | ||||
|   | ||||
| @@ -1,3 +1,3 @@ | ||||
| elixir 1.15.4-otp-26 | ||||
| erlang 26.0.2 | ||||
| elixir 1.15.6-otp-26 | ||||
| erlang 26.1.2 | ||||
| nodejs 20.6.0 | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| FROM elixir:1.15.4-alpine AS build | ||||
| FROM elixir:1.15.6-alpine AS build | ||||
|  | ||||
| # install build dependencies | ||||
| RUN apk add --no-cache build-base npm git python3 | ||||
|   | ||||
| @@ -26,6 +26,8 @@ import 'phoenix_html' | ||||
| import { Socket } from 'phoenix' | ||||
| import { LiveSocket } from 'phoenix_live_view' | ||||
| import topbar from 'topbar' | ||||
|  | ||||
| import CtrlEnter from './ctrlenter' | ||||
| import Date from './date' | ||||
| import DateTime from './datetime' | ||||
|  | ||||
| @@ -34,7 +36,7 @@ let csrfToken | ||||
| if (csrfTokenElement) { csrfToken = csrfTokenElement.getAttribute('content') } | ||||
| const liveSocket = new LiveSocket('/live', Socket, { | ||||
|   params: { _csrf_token: csrfToken }, | ||||
|   hooks: { Date, DateTime } | ||||
|   hooks: { CtrlEnter, Date, DateTime } | ||||
| }) | ||||
|  | ||||
| // Show progress bar on live navigation and form submits | ||||
|   | ||||
							
								
								
									
										12
									
								
								assets/js/ctrlenter.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								assets/js/ctrlenter.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| export default { | ||||
|   addFormSubmit (context) { | ||||
|     context.el.addEventListener('keydown', (e) => { | ||||
|       if (e.ctrlKey && e.key === 'Enter') { | ||||
|         context.el.dispatchEvent( | ||||
|           new Event('submit', { bubbles: true, cancelable: true })) | ||||
|       } | ||||
|     }) | ||||
|   }, | ||||
|   mounted () { this.addFormSubmit(this) }, | ||||
|   updated () { this.addFormSubmit(this) } | ||||
| } | ||||
							
								
								
									
										1801
									
								
								assets/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1801
									
								
								assets/package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -21,26 +21,26 @@ | ||||
|     "topbar": "^2.0.1" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@babel/core": "^7.22.15", | ||||
|     "@babel/preset-env": "^7.22.15", | ||||
|     "autoprefixer": "^10.4.15", | ||||
|     "@babel/core": "^7.23.2", | ||||
|     "@babel/preset-env": "^7.23.2", | ||||
|     "autoprefixer": "^10.4.16", | ||||
|     "babel-loader": "^9.1.3", | ||||
|     "copy-webpack-plugin": "^11.0.0", | ||||
|     "css-loader": "^6.8.1", | ||||
|     "css-minimizer-webpack-plugin": "^5.0.1", | ||||
|     "file-loader": "^6.2.0", | ||||
|     "mini-css-extract-plugin": "^2.7.6", | ||||
|     "npm-check-updates": "^16.13.3", | ||||
|     "postcss": "^8.4.29", | ||||
|     "npm-check-updates": "^16.14.6", | ||||
|     "postcss": "^8.4.31", | ||||
|     "postcss-import": "^15.1.0", | ||||
|     "postcss-loader": "^7.3.3", | ||||
|     "postcss-preset-env": "^9.1.3", | ||||
|     "sass": "^1.66.1", | ||||
|     "postcss-preset-env": "^9.3.0", | ||||
|     "sass": "^1.69.5", | ||||
|     "sass-loader": "^13.3.2", | ||||
|     "standard": "^17.1.0", | ||||
|     "tailwindcss": "^3.3.3", | ||||
|     "tailwindcss": "^3.3.5", | ||||
|     "terser-webpack-plugin": "^5.3.9", | ||||
|     "webpack": "^5.88.2", | ||||
|     "webpack": "^5.89.0", | ||||
|     "webpack-cli": "^5.1.4", | ||||
|     "webpack-dev-server": "^4.15.1" | ||||
|   } | ||||
|   | ||||
							
								
								
									
										16
									
								
								changelog.md
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								changelog.md
									
									
									
									
									
								
							| @@ -1,3 +1,19 @@ | ||||
| # v0.1.14 | ||||
| - Fix issue with item content not able to be displayed sometimes | ||||
|  | ||||
| # v0.1.13 | ||||
| - Update dependencies | ||||
| - Fix debounces | ||||
| - Allow space as delimiter for tags | ||||
| - Add bottom padding to page | ||||
| - Make pipeline step not require content | ||||
| - Make content previews resizable | ||||
| - Fix live flashes not dismissable by click | ||||
| - Fix disconnection modal not displaying | ||||
| - Submit items with ctrl-enter | ||||
| - Display backlinks in pipeline description | ||||
| - Modify backlink format | ||||
|  | ||||
| # v0.1.12 | ||||
| - Code quality fixes | ||||
| - Fix error/404 pages not rendering properly | ||||
|   | ||||
| @@ -26,7 +26,7 @@ config :memex, Memex.Mailer, adapter: Swoosh.Adapters.Test | ||||
| config :memex, Memex.Accounts, registration: "public" | ||||
|  | ||||
| # Print only warnings and errors during test | ||||
| config :logger, level: :warn | ||||
| config :logger, level: :warning | ||||
|  | ||||
| # Initialize plugs at runtime for faster test compilation | ||||
| config :phoenix, :plug_init_mode, :runtime | ||||
|   | ||||
| @@ -79,11 +79,11 @@ defmodule Memex.Contexts.Context do | ||||
|     changeset | ||||
|     |> put_change(:tags_string, changeset |> get_field(:tags) |> get_tags_string()) | ||||
|     |> cast(attrs, [:tags_string]) | ||||
|     |> validate_format(:tags_string, ~r/^[\p{L}\p{N}\-\,]+$/, | ||||
|     |> validate_format(:tags_string, ~r/^[\p{L}\p{N}\-\, ]+$/, | ||||
|       message: | ||||
|         dgettext( | ||||
|           "errors", | ||||
|           "invalid format: only numbers, letters and hyphen are accepted. tags must be comma-delimited" | ||||
|           "invalid format: only numbers, letters and hyphen are accepted. tags must be comma or space delimited" | ||||
|         ) | ||||
|     ) | ||||
|     |> cast_tags() | ||||
| @@ -98,9 +98,9 @@ defmodule Memex.Contexts.Context do | ||||
|  | ||||
|   defp process_tags(tags_string) when tags_string |> is_binary() do | ||||
|     tags_string | ||||
|     |> String.split(",", trim: true) | ||||
|     |> String.split([",", " "], trim: true) | ||||
|     |> Enum.map(fn str -> str |> String.trim() end) | ||||
|     |> Enum.reject(fn str -> str |> is_nil() end) | ||||
|     |> Enum.reject(fn str -> str in [nil, ""] end) | ||||
|     |> Enum.sort() | ||||
|   end | ||||
|  | ||||
|   | ||||
| @@ -78,11 +78,11 @@ defmodule Memex.Notes.Note do | ||||
|     changeset | ||||
|     |> put_change(:tags_string, changeset |> get_field(:tags) |> get_tags_string()) | ||||
|     |> cast(attrs, [:tags_string]) | ||||
|     |> validate_format(:tags_string, ~r/^[\p{L}\p{N}\-\,]+$/, | ||||
|     |> validate_format(:tags_string, ~r/^[\p{L}\p{N}\-\, ]+$/, | ||||
|       message: | ||||
|         dgettext( | ||||
|           "errors", | ||||
|           "invalid format: only numbers, letters and hyphen are accepted. tags must be comma-delimited" | ||||
|           "invalid format: only numbers, letters and hyphen are accepted. tags must be comma or space delimited" | ||||
|         ) | ||||
|     ) | ||||
|     |> cast_tags() | ||||
| @@ -97,9 +97,9 @@ defmodule Memex.Notes.Note do | ||||
|  | ||||
|   defp process_tags(tags_string) when tags_string |> is_binary() do | ||||
|     tags_string | ||||
|     |> String.split(",", trim: true) | ||||
|     |> String.split([",", " "], trim: true) | ||||
|     |> Enum.map(fn str -> str |> String.trim() end) | ||||
|     |> Enum.reject(fn str -> str |> is_nil() end) | ||||
|     |> Enum.reject(fn str -> str in [nil, ""] end) | ||||
|     |> Enum.sort() | ||||
|   end | ||||
|  | ||||
|   | ||||
| @@ -81,11 +81,11 @@ defmodule Memex.Pipelines.Pipeline do | ||||
|     changeset | ||||
|     |> put_change(:tags_string, changeset |> get_field(:tags) |> get_tags_string()) | ||||
|     |> cast(attrs, [:tags_string]) | ||||
|     |> validate_format(:tags_string, ~r/^[\p{L}\p{N}\-\,]+$/, | ||||
|     |> validate_format(:tags_string, ~r/^[\p{L}\p{N}\-\, ]+$/, | ||||
|       message: | ||||
|         dgettext( | ||||
|           "errors", | ||||
|           "invalid format: only numbers, letters and hyphen are accepted. tags must be comma-delimited" | ||||
|           "invalid format: only numbers, letters and hyphen are accepted. tags must be comma or space delimited" | ||||
|         ) | ||||
|     ) | ||||
|     |> cast_tags() | ||||
| @@ -100,9 +100,9 @@ defmodule Memex.Pipelines.Pipeline do | ||||
|  | ||||
|   defp process_tags(tags_string) when tags_string |> is_binary() do | ||||
|     tags_string | ||||
|     |> String.split(",", trim: true) | ||||
|     |> String.split([",", " "], trim: true) | ||||
|     |> Enum.map(fn str -> str |> String.trim() end) | ||||
|     |> Enum.reject(fn str -> str |> is_nil() end) | ||||
|     |> Enum.reject(fn str -> str in [nil, ""] end) | ||||
|     |> Enum.sort() | ||||
|   end | ||||
|  | ||||
|   | ||||
| @@ -50,7 +50,7 @@ defmodule Memex.Pipelines.Steps.Step do | ||||
|     %__MODULE__{} | ||||
|     |> cast(attrs, [:title, :content]) | ||||
|     |> change(pipeline_id: pipeline_id, user_id: user_id, position: position) | ||||
|     |> validate_required([:title, :content, :user_id, :position]) | ||||
|     |> validate_required([:title, :user_id, :position]) | ||||
|   end | ||||
|  | ||||
|   @spec update_changeset(t(), attrs :: map(), User.t()) :: | ||||
| @@ -62,7 +62,7 @@ defmodule Memex.Pipelines.Steps.Step do | ||||
|       ) do | ||||
|     step | ||||
|     |> cast(attrs, [:title, :content]) | ||||
|     |> validate_required([:title, :content, :user_id, :position]) | ||||
|     |> validate_required([:title, :user_id, :position]) | ||||
|   end | ||||
|  | ||||
|   @spec position_changeset(t(), position :: non_neg_integer(), User.t()) :: changeset() | ||||
| @@ -73,6 +73,6 @@ defmodule Memex.Pipelines.Steps.Step do | ||||
|       ) do | ||||
|     step | ||||
|     |> change(position: position) | ||||
|     |> validate_required([:title, :content, :user_id, :position]) | ||||
|     |> validate_required([:title, :user_id, :position]) | ||||
|   end | ||||
| end | ||||
|   | ||||
| @@ -8,7 +8,7 @@ defmodule MemexWeb.CoreComponents do | ||||
|   alias Memex.{Accounts, Accounts.Invite, Accounts.User} | ||||
|   alias Memex.Contexts.Context | ||||
|   alias Memex.Notes.Note | ||||
|   alias Memex.Pipelines.Steps.Step | ||||
|   alias Memex.Pipelines.{Pipeline, Steps.Step} | ||||
|   alias Phoenix.HTML | ||||
|   alias Phoenix.LiveView.JS | ||||
|  | ||||
| @@ -130,15 +130,34 @@ defmodule MemexWeb.CoreComponents do | ||||
|  | ||||
|   def step_content(assigns) | ||||
|  | ||||
|   defp add_links_to_content(content, data_qa_prefix) do | ||||
|     # replace links | ||||
|   attr :pipeline, Pipeline, required: true | ||||
|  | ||||
|   def pipeline_content(assigns) | ||||
|  | ||||
|   defp display_links(record) do | ||||
|     record | ||||
|     |> get_content() | ||||
|     |> replace_hyperlinks(record) | ||||
|     |> replace_triple_links(record) | ||||
|     |> replace_double_links(record) | ||||
|     |> replace_single_links(record) | ||||
|     |> HTML.raw() | ||||
|   end | ||||
|  | ||||
|   defp get_content(%{content: content}), do: content |> get_text() | ||||
|   defp get_content(%{description: description}), do: description |> get_text() | ||||
|   defp get_content(_fallthrough), do: nil |> get_text() | ||||
|  | ||||
|   defp get_text(string) when is_binary(string), do: string | ||||
|   defp get_text(_fallthrough), do: "" | ||||
|  | ||||
|   # replaces hyperlinks like https://bubbletea.dev | ||||
|   # | ||||
|   # link regex from | ||||
|   # https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url | ||||
|   # and modified with additional schemes from | ||||
|   # https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml | ||||
|  | ||||
|     content = | ||||
|   defp replace_hyperlinks(content, _record) do | ||||
|     Regex.replace( | ||||
|       ~r<((file|git|https?|ipfs|ipns|irc|jabber|magnet|mailto|mumble|tel|udp|xmpp):\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*))>, | ||||
|       content, | ||||
| @@ -157,26 +176,80 @@ defmodule MemexWeb.CoreComponents do | ||||
|         "</p>#{link}<p class=\"inline\">" | ||||
|       end | ||||
|     ) | ||||
|   end | ||||
|  | ||||
|     content = | ||||
|   # replaces triple links like [[[slug-title]]] | ||||
|   defp replace_triple_links(content, _record) do | ||||
|     Regex.replace( | ||||
|         ~r/\[\[([\p{L}\p{N}\-]+)\]\]/, | ||||
|       ~r/(^|[^\[])\[\[\[([\p{L}\p{N}\-]+)\]\]\]($|[^\]])/, | ||||
|       content, | ||||
|         fn _whole_match, slug -> | ||||
|       fn _whole_match, prefix, slug, suffix -> | ||||
|         link = | ||||
|           HTML.Link.link( | ||||
|               "[[#{slug}]]", | ||||
|             "[[[#{slug}]]]", | ||||
|             to: ~p"/note/#{slug}", | ||||
|               class: "link inline", | ||||
|               data: [qa: "#{data_qa_prefix}-#{slug}"] | ||||
|             class: "link inline" | ||||
|           ) | ||||
|           |> HTML.Safe.to_iodata() | ||||
|           |> IO.iodata_to_binary() | ||||
|  | ||||
|           "</p>#{link}<p class=\"inline\">" | ||||
|         "#{prefix}</p>#{link}<p class=\"inline\">#{suffix}" | ||||
|       end | ||||
|     ) | ||||
|   end | ||||
|  | ||||
|     content |> HTML.raw() | ||||
|   # replaces double links like [[slug-title]] | ||||
|   defp replace_double_links(content, record) do | ||||
|     Regex.replace( | ||||
|       ~r/(^|[^\[])\[\[([\p{L}\p{N}\-]+)\]\]($|[^\]])/, | ||||
|       content, | ||||
|       fn _whole_match, prefix, slug, suffix -> | ||||
|         target = | ||||
|           case record do | ||||
|             %Pipeline{} -> ~p"/context/#{slug}" | ||||
|             %Step{} -> ~p"/context/#{slug}" | ||||
|             _context -> ~p"/note/#{slug}" | ||||
|           end | ||||
|  | ||||
|         link = | ||||
|           HTML.Link.link( | ||||
|             "[[#{slug}]]", | ||||
|             to: target, | ||||
|             class: "link inline" | ||||
|           ) | ||||
|           |> HTML.Safe.to_iodata() | ||||
|           |> IO.iodata_to_binary() | ||||
|  | ||||
|         "#{prefix}</p>#{link}<p class=\"inline\">#{suffix}" | ||||
|       end | ||||
|     ) | ||||
|   end | ||||
|  | ||||
|   # replaces single links like [slug-title] | ||||
|   defp replace_single_links(content, record) do | ||||
|     Regex.replace( | ||||
|       ~r/(^|[^\[])\[([\p{L}\p{N}\-]+)\]($|[^\]])/, | ||||
|       content, | ||||
|       fn _whole_match, prefix, slug, suffix -> | ||||
|         target = | ||||
|           case record do | ||||
|             %Pipeline{} -> ~p"/pipeline/#{slug}" | ||||
|             %Step{} -> ~p"/pipeline/#{slug}" | ||||
|             %Context{} -> ~p"/context/#{slug}" | ||||
|             _note -> ~p"/note/#{slug}" | ||||
|           end | ||||
|  | ||||
|         link = | ||||
|           HTML.Link.link( | ||||
|             "[#{slug}]", | ||||
|             to: target, | ||||
|             class: "link inline" | ||||
|           ) | ||||
|           |> HTML.Safe.to_iodata() | ||||
|           |> IO.iodata_to_binary() | ||||
|  | ||||
|         "#{prefix}</p>#{link}<p class=\"inline\">#{suffix}" | ||||
|       end | ||||
|     ) | ||||
|   end | ||||
| end | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| <div | ||||
|   id={"show-context-content-#{@context.id}"} | ||||
|   class="input input-primary h-128 min-h-128 inline-block whitespace-pre-wrap overflow-x-hidden overflow-y-auto" | ||||
|   class="input input-primary h-128 min-h-128 inline-block whitespace-pre-wrap overflow-x-hidden overflow-y-auto resize-y" | ||||
|   phx-update="ignore" | ||||
|   readonly | ||||
|   phx-no-format | ||||
| ><p class="inline"><%= add_links_to_content(@context.content, "context-note") %></p></div> | ||||
| ><p class="inline"><%= display_links(@context) %></p></div> | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| <div | ||||
|   id={"show-note-content-#{@note.id}"} | ||||
|   class="input input-primary h-128 min-h-128 inline-block whitespace-pre-wrap overflow-x-hidden overflow-y-auto" | ||||
|   class="input input-primary h-128 min-h-128 inline-block whitespace-pre-wrap overflow-x-hidden overflow-y-auto resize-y" | ||||
|   phx-update="ignore" | ||||
|   readonly | ||||
|   phx-no-format | ||||
| ><p class="inline"><%= add_links_to_content(@note.content, "note-link") %></p></div> | ||||
| ><p class="inline"><%= display_links(@note) %></p></div> | ||||
|   | ||||
| @@ -0,0 +1,7 @@ | ||||
| <div | ||||
|   id={"show-pipeline-description-#{@pipeline.id}"} | ||||
|   class="input input-primary h-32 min-h-32 inline-block whitespace-pre-wrap overflow-x-hidden overflow-y-auto resize-y" | ||||
|   phx-update="ignore" | ||||
|   readonly | ||||
|   phx-no-format | ||||
| ><p class="inline"><%= display_links(@pipeline) %></p></div> | ||||
| @@ -1,7 +1,7 @@ | ||||
| <div | ||||
|   id={"show-step-content-#{@step.id}"} | ||||
|   class="input input-primary h-32 min-h-32 inline-block whitespace-pre-wrap overflow-x-hidden overflow-y-auto" | ||||
|   class="input input-primary h-32 min-h-32 inline-block whitespace-pre-wrap overflow-x-hidden overflow-y-auto resize-y" | ||||
|   phx-update="ignore" | ||||
|   readonly | ||||
|   phx-no-format | ||||
| ><p class="inline"><%= add_links_to_content(@step.content, "step-context") %></p></div> | ||||
| ><p class="inline"><%= display_links(@step) %></p></div> | ||||
|   | ||||
| @@ -1,13 +1,26 @@ | ||||
| <main role="main" class="min-h-full min-w-full"> | ||||
| <main role="main" class="pb-8 min-w-full"> | ||||
|   <header> | ||||
|     <.topbar current_user={assigns[:current_user]} /> | ||||
|  | ||||
|     <div class="mx-8 my-2 flex flex-col space-y-4 text-center"> | ||||
|       <p :if={@flash["info"]} class="alert alert-info" role="alert"> | ||||
|         <%= @flash["info"] %> | ||||
|       <p | ||||
|         :if={@flash && @flash |> Map.has_key?("info")} | ||||
|         class="alert alert-info cursor-pointer" | ||||
|         role="alert" | ||||
|         phx-click="lv:clear-flash" | ||||
|         phx-value-key="info" | ||||
|       > | ||||
|         <%= live_flash(@flash, :info) %> | ||||
|       </p> | ||||
|       <p :if={@flash["error"]} class="alert alert-danger" role="alert"> | ||||
|         <%= @flash["error"] %> | ||||
|  | ||||
|       <p | ||||
|         :if={@flash && @flash |> Map.has_key?("error")} | ||||
|         class="alert alert-danger cursor-pointer" | ||||
|         role="alert" | ||||
|         phx-click="lv:clear-flash" | ||||
|         phx-value-key="error" | ||||
|       > | ||||
|         <%= live_flash(@flash, :error) %> | ||||
|       </p> | ||||
|     </div> | ||||
|   </header> | ||||
| @@ -16,3 +29,17 @@ | ||||
|     <%= @inner_content %> | ||||
|   </div> | ||||
| </main> | ||||
|  | ||||
| <div | ||||
|   id="disconnect" | ||||
|   class="z-50 fixed opacity-0 bottom-8 right-12 px-8 py-4 w-max h-max | ||||
|   border border-primary-400 shadow-lg rounded-lg bg-primary-900 text-primary-400 | ||||
|   flex justify-center items-center space-x-4 | ||||
|   transition-opacity ease-in-out duration-500 delay-[2000ms]" | ||||
| > | ||||
|   <i class="fas fa-fade text-md fa-satellite-dish"></i> | ||||
|  | ||||
|   <h1 class="title text-md"> | ||||
|     <%= gettext("Reconnecting...") %> | ||||
|   </h1> | ||||
| </div> | ||||
|   | ||||
| @@ -1,45 +0,0 @@ | ||||
| <main class="pb-8 min-w-full"> | ||||
|   <header> | ||||
|     <.topbar current_user={assigns[:current_user]} /> | ||||
|  | ||||
|     <div class="mx-8 my-2 flex flex-col space-y-4 text-center"> | ||||
|       <p | ||||
|         :if={@flash && @flash |> Map.has_key?("info")} | ||||
|         class="alert alert-info" | ||||
|         role="alert" | ||||
|         phx-click="lv:clear-flash" | ||||
|         phx-value-key="info" | ||||
|       > | ||||
|         <%= live_flash(@flash, "info") %> | ||||
|       </p> | ||||
|  | ||||
|       <p | ||||
|         :if={@flash && @flash |> Map.has_key?("error")} | ||||
|         class="alert alert-danger" | ||||
|         role="alert" | ||||
|         phx-click="lv:clear-flash" | ||||
|         phx-value-key="error" | ||||
|       > | ||||
|         <%= live_flash(@flash, "error") %> | ||||
|       </p> | ||||
|     </div> | ||||
|   </header> | ||||
|  | ||||
|   <div class="mx-4 sm:mx-8 md:mx-16"> | ||||
|     <%= @inner_content %> | ||||
|   </div> | ||||
| </main> | ||||
|  | ||||
| <div | ||||
|   id="disconnect" | ||||
|   class="z-50 fixed opacity-0 bottom-12 right-12 px-8 py-4 w-max h-max | ||||
|   border border-primary-400 shadow-lg rounded-lg bg-primary-900 text-primary-400 | ||||
|   flex justify-center items-center space-x-4 | ||||
|   transition-opacity ease-in-out duration-500 delay-[2000ms]" | ||||
| > | ||||
|   <i class="fas fa-fade text-md fa-satellite-dish"></i> | ||||
|  | ||||
|   <h1 class="title text-md"> | ||||
|     <%= gettext("Reconnecting...") %> | ||||
|   </h1> | ||||
| </div> | ||||
| @@ -6,13 +6,14 @@ | ||||
|     phx-target={@myself} | ||||
|     phx-change="validate" | ||||
|     phx-submit="save" | ||||
|     phx-debounce="300" | ||||
|     phx-hook="CtrlEnter" | ||||
|     class="flex flex-col justify-start items-stretch space-y-4" | ||||
|   > | ||||
|     <%= text_input(f, :slug, | ||||
|       class: "input input-primary", | ||||
|       placeholder: gettext("slug"), | ||||
|       aria_label: gettext("slug") | ||||
|       aria_label: gettext("slug"), | ||||
|       phx_debounce: 300 | ||||
|     ) %> | ||||
|     <%= error_tag(f, :slug) %> | ||||
|  | ||||
| @@ -20,8 +21,11 @@ | ||||
|       id: "context-form-content", | ||||
|       class: "input input-primary h-64 min-h-64", | ||||
|       phx_update: "ignore", | ||||
|       placeholder: gettext("use [[note-slug]] to link to a note"), | ||||
|       aria_label: gettext("use [[note-slug]] to link to a note") | ||||
|       placeholder: | ||||
|         gettext("use [[note-slug]] to link to a note or [context-slug] to link to a context"), | ||||
|       aria_label: | ||||
|         gettext("use [[note-slug]] to link to a note or [context-slug] to link to a context"), | ||||
|       phx_debounce: 300 | ||||
|     ) %> | ||||
|     <%= error_tag(f, :content) %> | ||||
|  | ||||
| @@ -29,7 +33,8 @@ | ||||
|       id: "tags-input", | ||||
|       class: "input input-primary", | ||||
|       placeholder: gettext("tag1,tag2"), | ||||
|       aria_label: gettext("tag1,tag2") | ||||
|       aria_label: gettext("tag1,tag2"), | ||||
|       phx_debounce: 300 | ||||
|     ) %> | ||||
|     <%= error_tag(f, :tags_string) %> | ||||
|  | ||||
| @@ -37,7 +42,8 @@ | ||||
|       <%= select(f, :visibility, Ecto.Enum.values(Memex.Contexts.Context, :visibility), | ||||
|         class: "grow input input-primary", | ||||
|         prompt: gettext("select privacy"), | ||||
|         aria_label: gettext("select privacy") | ||||
|         aria_label: gettext("select privacy"), | ||||
|         phx_debounce: 300 | ||||
|       ) %> | ||||
|  | ||||
|       <%= submit(dgettext("actions", "save"), | ||||
|   | ||||
| @@ -10,6 +10,7 @@ | ||||
|     phx-target={@myself} | ||||
|     phx-change="validate" | ||||
|     phx-submit="save" | ||||
|     phx-hook="CtrlEnter" | ||||
|   > | ||||
|     <div | ||||
|       :if={@changeset.action && not @changeset.valid?()} | ||||
| @@ -18,13 +19,27 @@ | ||||
|       <%= changeset_errors(@changeset) %> | ||||
|     </div> | ||||
|  | ||||
|     <%= label(f, :name, gettext("name"), class: "title text-lg text-primary-400") %> | ||||
|     <%= text_input(f, :name, class: "input input-primary col-span-2") %> | ||||
|     <%= label(f, :name, gettext("name"), | ||||
|       class: "title text-lg text-primary-400", | ||||
|       phx_debounce: 300 | ||||
|     ) %> | ||||
|     <%= text_input(f, :name, | ||||
|       class: "input input-primary col-span-2", | ||||
|       phx_debounce: 300 | ||||
|     ) %> | ||||
|     <%= error_tag(f, :name, "col-span-3") %> | ||||
|  | ||||
|     <%= label(f, :uses_left, gettext("uses left"), class: "title text-lg text-primary-400") %> | ||||
|     <%= number_input(f, :uses_left, min: 0, class: "input input-primary col-span-2") %> | ||||
|     <%= label(f, :uses_left, gettext("uses left"), | ||||
|       class: "title text-lg text-primary-400", | ||||
|       phx_debounce: 300 | ||||
|     ) %> | ||||
|     <%= number_input(f, :uses_left, | ||||
|       min: 0, | ||||
|       class: "input input-primary col-span-2", | ||||
|       phx_debounce: 300 | ||||
|     ) %> | ||||
|     <%= error_tag(f, :uses_left, "col-span-3") %> | ||||
|  | ||||
|     <span class="col-span-3 text-primary-500 italic text-center"> | ||||
|       <%= gettext(~s/leave "uses left" blank to make invite unlimited/) %> | ||||
|     </span> | ||||
|   | ||||
| @@ -6,13 +6,14 @@ | ||||
|     phx-target={@myself} | ||||
|     phx-change="validate" | ||||
|     phx-submit="save" | ||||
|     phx-debounce="300" | ||||
|     phx-hook="CtrlEnter" | ||||
|     class="flex flex-col justify-start items-stretch space-y-4" | ||||
|   > | ||||
|     <%= text_input(f, :slug, | ||||
|       class: "input input-primary", | ||||
|       placeholder: gettext("slug"), | ||||
|       aria_label: gettext("slug") | ||||
|       aria_label: gettext("slug"), | ||||
|       phx_debounce: 300 | ||||
|     ) %> | ||||
|     <%= error_tag(f, :slug) %> | ||||
|  | ||||
| @@ -20,8 +21,9 @@ | ||||
|       id: "note-form-content", | ||||
|       class: "input input-primary h-64 min-h-64", | ||||
|       phx_update: "ignore", | ||||
|       placeholder: gettext("content"), | ||||
|       aria_label: gettext("content") | ||||
|       placeholder: gettext("use [note-slug] to link to a note"), | ||||
|       aria_label: gettext("use [note-slug] to link to a note"), | ||||
|       phx_debounce: 300 | ||||
|     ) %> | ||||
|     <%= error_tag(f, :content) %> | ||||
|  | ||||
| @@ -29,7 +31,8 @@ | ||||
|       id: "tags-input", | ||||
|       class: "input input-primary", | ||||
|       placeholder: gettext("tag1,tag2"), | ||||
|       aria_label: gettext("tag1,tag2") | ||||
|       aria_label: gettext("tag1,tag2"), | ||||
|       phx_debounce: 300 | ||||
|     ) %> | ||||
|     <%= error_tag(f, :tags_string) %> | ||||
|  | ||||
| @@ -37,7 +40,8 @@ | ||||
|       <%= select(f, :visibility, Ecto.Enum.values(Memex.Notes.Note, :visibility), | ||||
|         class: "grow input input-primary", | ||||
|         prompt: gettext("select privacy"), | ||||
|         aria_label: gettext("select privacy") | ||||
|         aria_label: gettext("select privacy"), | ||||
|         phx_debounce: 300 | ||||
|       ) %> | ||||
|  | ||||
|       <%= submit(dgettext("actions", "save"), | ||||
|   | ||||
| @@ -6,13 +6,14 @@ | ||||
|     phx-target={@myself} | ||||
|     phx-change="validate" | ||||
|     phx-submit="save" | ||||
|     phx-debounce="300" | ||||
|     phx-hook="CtrlEnter" | ||||
|     class="flex flex-col justify-start items-stretch space-y-4" | ||||
|   > | ||||
|     <%= text_input(f, :slug, | ||||
|       class: "input input-primary", | ||||
|       placeholder: gettext("slug"), | ||||
|       aria_label: gettext("slug") | ||||
|       aria_label: gettext("slug"), | ||||
|       phx_debounce: 300 | ||||
|     ) %> | ||||
|     <%= error_tag(f, :slug) %> | ||||
|  | ||||
| @@ -20,8 +21,15 @@ | ||||
|       id: "pipeline-form-description", | ||||
|       class: "input input-primary h-64 min-h-64", | ||||
|       phx_update: "ignore", | ||||
|       placeholder: gettext("description"), | ||||
|       aria_label: gettext("description") | ||||
|       placeholder: | ||||
|         gettext( | ||||
|           "use [[[note-slug]]] to link to a note or use [[context-slug]] to link to a context or [pipeline-slug] to link to a pipeline" | ||||
|         ), | ||||
|       aria_label: | ||||
|         gettext( | ||||
|           "use [[[note-slug]]] to link to a note or use [[context-slug]] to link to a context or [pipeline-slug] to link to a pipeline" | ||||
|         ), | ||||
|       phx_debounce: 300 | ||||
|     ) %> | ||||
|     <%= error_tag(f, :description) %> | ||||
|  | ||||
| @@ -29,7 +37,8 @@ | ||||
|       id: "tags-input", | ||||
|       class: "input input-primary", | ||||
|       placeholder: gettext("tag1,tag2"), | ||||
|       aria_label: gettext("tag1,tag2") | ||||
|       aria_label: gettext("tag1,tag2"), | ||||
|       phx_debounce: 300 | ||||
|     ) %> | ||||
|     <%= error_tag(f, :tags_string) %> | ||||
|  | ||||
| @@ -37,7 +46,8 @@ | ||||
|       <%= select(f, :visibility, Ecto.Enum.values(Memex.Pipelines.Pipeline, :visibility), | ||||
|         class: "grow input input-primary", | ||||
|         prompt: gettext("select privacy"), | ||||
|         aria_label: gettext("select privacy") | ||||
|         aria_label: gettext("select privacy"), | ||||
|         phx_debounce: 300 | ||||
|       ) %> | ||||
|  | ||||
|       <%= submit(dgettext("actions", "save"), | ||||
|   | ||||
| @@ -9,14 +9,7 @@ | ||||
|     </.link> | ||||
|   </div> | ||||
|  | ||||
|   <textarea | ||||
|     :if={@pipeline.description} | ||||
|     id="show-pipeline-description" | ||||
|     class="input input-primary h-32 min-h-32" | ||||
|     phx-update="ignore" | ||||
|     readonly | ||||
|     phx-no-format | ||||
|   ><%= @pipeline.description %></textarea> | ||||
|   <.pipeline_content pipeline={@pipeline} /> | ||||
|  | ||||
|   <p class="self-end"> | ||||
|     <%= gettext("Visibility: %{visibility}", visibility: @pipeline.visibility) %> | ||||
|   | ||||
| @@ -6,13 +6,14 @@ | ||||
|     phx-target={@myself} | ||||
|     phx-change="validate" | ||||
|     phx-submit="save" | ||||
|     phx-debounce="300" | ||||
|     phx-hook="CtrlEnter" | ||||
|     class="flex flex-col justify-start items-stretch space-y-4" | ||||
|   > | ||||
|     <%= text_input(f, :title, | ||||
|       class: "input input-primary", | ||||
|       placeholder: gettext("title"), | ||||
|       aria_label: gettext("title") | ||||
|       aria_label: gettext("title"), | ||||
|       phx_debounce: 300 | ||||
|     ) %> | ||||
|     <%= error_tag(f, :title) %> | ||||
|  | ||||
| @@ -20,8 +21,15 @@ | ||||
|       id: "step-form-content", | ||||
|       class: "input input-primary h-64 min-h-64", | ||||
|       phx_update: "ignore", | ||||
|       placeholder: gettext("use [[context-slug]] to link to a context"), | ||||
|       aria_label: gettext("use [[context-slug]] to link to a context") | ||||
|       placeholder: | ||||
|         gettext( | ||||
|           "use [[[note-slug]]] to link to a note or use [[context-slug]] to link to a context or [pipeline-slug] to link to a pipeline" | ||||
|         ), | ||||
|       aria_label: | ||||
|         gettext( | ||||
|           "use [[[note-slug]]] to link to a note or use [[context-slug]] to link to a context or [pipeline-slug] to link to a pipeline" | ||||
|         ), | ||||
|       phx_debounce: 300 | ||||
|     ) %> | ||||
|     <%= error_tag(f, :content) %> | ||||
|  | ||||
|   | ||||
							
								
								
									
										6
									
								
								mix.exs
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								mix.exs
									
									
									
									
									
								
							| @@ -4,8 +4,8 @@ defmodule Memex.MixProject do | ||||
|   def project do | ||||
|     [ | ||||
|       app: :memex, | ||||
|       version: "0.1.12", | ||||
|       elixir: "1.15.4", | ||||
|       version: "0.1.14", | ||||
|       elixir: "1.15.6", | ||||
|       elixirc_paths: elixirc_paths(Mix.env()), | ||||
|       start_permanent: Mix.env() == :prod, | ||||
|       aliases: aliases(), | ||||
| @@ -51,7 +51,7 @@ defmodule Memex.MixProject do | ||||
|       {:phoenix_ecto, "~> 4.4"}, | ||||
|       {:phoenix_html, "~> 3.0"}, | ||||
|       {:phoenix_live_reload, "~> 1.2", only: :dev}, | ||||
|       {:phoenix_live_view, "~> 0.19.0"}, | ||||
|       {:phoenix_live_view, "~> 0.20.0"}, | ||||
|       {:phoenix_live_dashboard, "~> 0.8"}, | ||||
|       {:ecto_sql, "~> 3.6"}, | ||||
|       {:postgrex, ">= 0.0.0"}, | ||||
|   | ||||
							
								
								
									
										36
									
								
								mix.lock
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								mix.lock
									
									
									
									
									
								
							| @@ -1,27 +1,27 @@ | ||||
| %{ | ||||
|   "bcrypt_elixir": {:hex, :bcrypt_elixir, "3.1.0", "0b110a9a6c619b19a7f73fa3004aa11d6e719a67e672d1633dc36b6b2290a0f7", [:make, :mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "2ad2acb5a8bc049e8d5aa267802631912bb80d5f4110a178ae7999e69dca1bf7"}, | ||||
|   "bunt": {:hex, :bunt, "0.2.1", "e2d4792f7bc0ced7583ab54922808919518d0e57ee162901a16a1b6664ef3b14", [:mix], [], "hexpm", "a330bfb4245239787b15005e66ae6845c9cd524a288f0d141c148b02603777a5"}, | ||||
|   "castore": {:hex, :castore, "1.0.3", "7130ba6d24c8424014194676d608cb989f62ef8039efd50ff4b3f33286d06db8", [:mix], [], "hexpm", "680ab01ef5d15b161ed6a95449fac5c6b8f60055677a8e79acf01b27baa4390b"}, | ||||
|   "castore": {:hex, :castore, "1.0.4", "ff4d0fb2e6411c0479b1d965a814ea6d00e51eb2f58697446e9c41a97d940b28", [:mix], [], "hexpm", "9418c1b8144e11656f0be99943db4caf04612e3eaecefb5dae9a2a87565584f8"}, | ||||
|   "comeonin": {:hex, :comeonin, "5.4.0", "246a56ca3f41d404380fc6465650ddaa532c7f98be4bda1b4656b3a37cc13abe", [:mix], [], "hexpm", "796393a9e50d01999d56b7b8420ab0481a7538d0caf80919da493b4a6e51faf1"}, | ||||
|   "connection": {:hex, :connection, "1.1.0", "ff2a49c4b75b6fb3e674bfc5536451607270aac754ffd1bdfe175abe4a6d7a68", [:mix], [], "hexpm", "722c1eb0a418fbe91ba7bd59a47e28008a189d47e37e0e7bb85585a016b2869c"}, | ||||
|   "cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"}, | ||||
|   "cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"}, | ||||
|   "cowlib": {:hex, :cowlib, "2.12.1", "a9fa9a625f1d2025fe6b462cb865881329b5caff8f1854d1cbc9f9533f00e1e1", [:make, :rebar3], [], "hexpm", "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0"}, | ||||
|   "credo": {:hex, :credo, "1.7.0", "6119bee47272e85995598ee04f2ebbed3e947678dee048d10b5feca139435f75", [:mix], [{:bunt, "~> 0.2.1", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "6839fcf63d1f0d1c0f450abc8564a57c43d644077ab96f2934563e68b8a769d7"}, | ||||
|   "db_connection": {:hex, :db_connection, "2.5.0", "bb6d4f30d35ded97b29fe80d8bd6f928a1912ca1ff110831edcd238a1973652c", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c92d5ba26cd69ead1ff7582dbb860adeedfff39774105a4f1c92cbb654b55aa2"}, | ||||
|   "credo": {:hex, :credo, "1.7.1", "6e26bbcc9e22eefbff7e43188e69924e78818e2fe6282487d0703652bc20fd62", [:mix], [{:bunt, "~> 0.2.1", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "e9871c6095a4c0381c89b6aa98bc6260a8ba6addccf7f6a53da8849c748a58a2"}, | ||||
|   "db_connection": {:hex, :db_connection, "2.6.0", "77d835c472b5b67fc4f29556dee74bf511bbafecdcaf98c27d27fa5918152086", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c2f992d15725e721ec7fbc1189d4ecdb8afef76648c746a8e1cad35e3b8a35f3"}, | ||||
|   "decimal": {:hex, :decimal, "2.1.1", "5611dca5d4b2c3dd497dec8f68751f1f1a54755e8ed2a966c2633cf885973ad6", [:mix], [], "hexpm", "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"}, | ||||
|   "dialyxir": {:hex, :dialyxir, "1.4.1", "a22ed1e7bd3a3e3f197b68d806ef66acb61ee8f57b3ac85fc5d57354c5482a93", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "84b795d6d7796297cca5a3118444b80c7d94f7ce247d49886e7c291e1ae49801"}, | ||||
|   "earmark_parser": {:hex, :earmark_parser, "1.4.33", "3c3fd9673bb5dcc9edc28dd90f50c87ce506d1f71b70e3de69aa8154bc695d44", [:mix], [], "hexpm", "2d526833729b59b9fdb85785078697c72ac5e5066350663e5be6a1182da61b8f"}, | ||||
|   "dialyxir": {:hex, :dialyxir, "1.4.2", "764a6e8e7a354f0ba95d58418178d486065ead1f69ad89782817c296d0d746a5", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "516603d8067b2fd585319e4b13d3674ad4f314a5902ba8130cd97dc902ce6bbd"}, | ||||
|   "earmark_parser": {:hex, :earmark_parser, "1.4.37", "2ad73550e27c8946648b06905a57e4d454e4d7229c2dafa72a0348c99d8be5f7", [:mix], [], "hexpm", "6b19783f2802f039806f375610faa22da130b8edc21209d0bff47918bb48360e"}, | ||||
|   "ecto": {:hex, :ecto, "3.10.3", "eb2ae2eecd210b4eb8bece1217b297ad4ff824b4384c0e3fdd28aaf96edd6135", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "44bec74e2364d491d70f7e42cd0d690922659d329f6465e89feb8a34e8cd3433"}, | ||||
|   "ecto_psql_extras": {:hex, :ecto_psql_extras, "0.7.13", "9947637f82b92dcec93d44ad09ba24d1990bd7ca69e1c68981fb3b6f8bd18829", [:mix], [{:ecto_sql, "~> 3.7", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16.0 or ~> 0.17.0", [hex: :postgrex, repo: "hexpm", optional: false]}, {:table_rex, "~> 3.1.1", [hex: :table_rex, repo: "hexpm", optional: false]}], "hexpm", "0f2288e6163f6aacd7e59545a56adc8df7d2079d18be7d3d6159d10f4dffc396"}, | ||||
|   "ecto_psql_extras": {:hex, :ecto_psql_extras, "0.7.14", "7a20cfe913b0476542b43870e67386461258734896035e3f284039fd18bd4c4c", [:mix], [{:ecto_sql, "~> 3.7", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16.0 or ~> 0.17.0", [hex: :postgrex, repo: "hexpm", optional: false]}, {:table_rex, "~> 3.1.1", [hex: :table_rex, repo: "hexpm", optional: false]}], "hexpm", "22f5f98592dd597db9416fcef00effae0787669fdcb6faf447e982b553798e98"}, | ||||
|   "ecto_sql": {:hex, :ecto_sql, "3.10.2", "6b98b46534b5c2f8b8b5f03f126e75e2a73c64f3c071149d32987a5378b0fdbd", [:mix], [{:db_connection, "~> 2.4.1 or ~> 2.5", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.10.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16.0 or ~> 0.17.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "68c018debca57cb9235e3889affdaec7a10616a4e3a80c99fa1d01fdafaa9007"}, | ||||
|   "elixir_make": {:hex, :elixir_make, "0.7.7", "7128c60c2476019ed978210c245badf08b03dbec4f24d05790ef791da11aa17c", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}], "hexpm", "5bc19fff950fad52bbe5f211b12db9ec82c6b34a9647da0c2224b8b8464c7e6c"}, | ||||
|   "eqrcode": {:hex, :eqrcode, "0.1.10", "6294fece9d68ad64eef1c3c92cf111cfd6469f4fbf230a2d4cc905a682178f3f", [:mix], [], "hexpm", "da30e373c36a0fd37ab6f58664b16029919896d6c45a68a95cc4d713e81076f1"}, | ||||
|   "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, | ||||
|   "ex_doc": {:hex, :ex_doc, "0.30.6", "5f8b54854b240a2b55c9734c4b1d0dd7bdd41f71a095d42a70445c03cf05a281", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "bd48f2ddacf4e482c727f9293d9498e0881597eae6ddc3d9562bd7923375109f"}, | ||||
|   "ex_doc": {:hex, :ex_doc, "0.30.9", "d691453495c47434c0f2052b08dd91cc32bc4e1a218f86884563448ee2502dd2", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "d7aaaf21e95dc5cddabf89063327e96867d00013963eadf2c6ad135506a8bc10"}, | ||||
|   "expo": {:hex, :expo, "0.4.1", "1c61d18a5df197dfda38861673d392e642649a9cef7694d2f97a587b2cfb319b", [:mix], [], "hexpm", "2ff7ba7a798c8c543c12550fa0e2cbc81b95d4974c65855d8d15ba7b37a1ce47"}, | ||||
|   "file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"}, | ||||
|   "floki": {:hex, :floki, "0.34.3", "5e2dcaec5d7c228ce5b1d3501502e308b2d79eb655e4191751a1fe491c37feac", [:mix], [], "hexpm", "9577440eea5b97924b4bf3c7ea55f7b8b6dce589f9b28b096cc294a8dc342341"}, | ||||
|   "floki": {:hex, :floki, "0.35.2", "87f8c75ed8654b9635b311774308b2760b47e9a579dabf2e4d5f1e1d42c39e0b", [:mix], [], "hexpm", "6b05289a8e9eac475f644f09c2e4ba7e19201fd002b89c28c1293e7bd16773d9"}, | ||||
|   "gen_smtp": {:hex, :gen_smtp, "1.2.0", "9cfc75c72a8821588b9b9fe947ae5ab2aed95a052b81237e0928633a13276fd3", [:rebar3], [{:ranch, ">= 1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "5ee0375680bca8f20c4d85f58c2894441443a743355430ff33a783fe03296779"}, | ||||
|   "gettext": {:hex, :gettext, "0.23.1", "821e619a240e6000db2fc16a574ef68b3bd7fe0167ccc264a81563cc93e67a31", [:mix], [{:expo, "~> 0.4.0", [hex: :expo, repo: "hexpm", optional: false]}], "hexpm", "19d744a36b809d810d610b57c27b934425859d158ebd56561bc41f7eeb8795db"}, | ||||
|   "jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"}, | ||||
| @@ -30,25 +30,25 @@ | ||||
|   "makeup_erlang": {:hex, :makeup_erlang, "0.1.2", "ad87296a092a46e03b7e9b0be7631ddcf64c790fa68a9ef5323b6cbb36affc72", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "f3f5a1ca93ce6e092d92b6d9c049bcda58a3b617a8d888f8e7231c85630e8108"}, | ||||
|   "mime": {:hex, :mime, "2.0.5", "dc34c8efd439abe6ae0343edbb8556f4d63f178594894720607772a041b04b02", [:mix], [], "hexpm", "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"}, | ||||
|   "nimble_parsec": {:hex, :nimble_parsec, "1.3.1", "2c54013ecf170e249e9291ed0a62e5832f70a476c61da16f6aac6dca0189f2af", [:mix], [], "hexpm", "2682e3c0b2eb58d90c6375fc0cc30bc7be06f365bf72608804fb9cffa5e1b167"}, | ||||
|   "oban": {:hex, :oban, "2.15.4", "d49ab4ffb7153010e32f80fe9e56f592706238149ec579eb50f8a4e41d218856", [:mix], [{:ecto_sql, "~> 3.6", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:ecto_sqlite3, "~> 0.9", [hex: :ecto_sqlite3, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16", [hex: :postgrex, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "5fce611fdfffb13e9148df883116e5201adf1e731eb302cc88cde0588510079c"}, | ||||
|   "phoenix": {:hex, :phoenix, "1.7.7", "4cc501d4d823015007ba3cdd9c41ecaaf2ffb619d6fb283199fa8ddba89191e0", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "8966e15c395e5e37591b6ed0bd2ae7f48e961f0f60ac4c733f9566b519453085"}, | ||||
|   "phoenix_ecto": {:hex, :phoenix_ecto, "4.4.2", "b21bd01fdeffcfe2fab49e4942aa938b6d3e89e93a480d4aee58085560a0bc0d", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "70242edd4601d50b69273b057ecf7b684644c19ee750989fd555625ae4ce8f5d"}, | ||||
|   "phoenix_html": {:hex, :phoenix_html, "3.3.2", "d6ce982c6d8247d2fc0defe625255c721fb8d5f1942c5ac051f6177bffa5973f", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "44adaf8e667c1c20fb9d284b6b0fa8dc7946ce29e81ce621860aa7e96de9a11d"}, | ||||
|   "phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.8.1", "c4f2a2d3b26e6ca684d162ccf18aaeed8bed2181896e0393d0a2959789482e51", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:ecto_sqlite3_extras, "~> 1.1.7 or ~> 1.2.0", [hex: :ecto_sqlite3_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.19.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "1ca0f954274ce1916f771f86b3d49a91d3447e7c32d171660676095c5f30abe9"}, | ||||
|   "oban": {:hex, :oban, "2.16.3", "33ebe7da637cce4da5438c1636bc25448a8628994a0c064ac6078bbe6dc97bd6", [:mix], [{:ecto_sql, "~> 3.6", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:ecto_sqlite3, "~> 0.9", [hex: :ecto_sqlite3, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16", [hex: :postgrex, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "4d8a7fb62f63cf2f2080c78954425f5fd8916ef57196b7f79b5bc657abb2ac5f"}, | ||||
|   "phoenix": {:hex, :phoenix, "1.7.10", "02189140a61b2ce85bb633a9b6fd02dff705a5f1596869547aeb2b2b95edd729", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "cf784932e010fd736d656d7fead6a584a4498efefe5b8227e9f383bf15bb79d0"}, | ||||
|   "phoenix_ecto": {:hex, :phoenix_ecto, "4.4.3", "86e9878f833829c3f66da03d75254c155d91d72a201eb56ae83482328dc7ca93", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "d36c401206f3011fefd63d04e8ef626ec8791975d9d107f9a0817d426f61ac07"}, | ||||
|   "phoenix_html": {:hex, :phoenix_html, "3.3.3", "380b8fb45912b5638d2f1d925a3771b4516b9a78587249cabe394e0a5d579dc9", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "923ebe6fec6e2e3b3e569dfbdc6560de932cd54b000ada0208b5f45024bdd76c"}, | ||||
|   "phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.8.3", "7ff51c9b6609470f681fbea20578dede0e548302b0c8bdf338b5a753a4f045bf", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:ecto_sqlite3_extras, "~> 1.1.7 or ~> 1.2.0", [hex: :ecto_sqlite3_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.19 or ~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "f9470a0a8bae4f56430a23d42f977b5a6205fdba6559d76f932b876bfaec652d"}, | ||||
|   "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.4.1", "2aff698f5e47369decde4357ba91fc9c37c6487a512b41732818f2204a8ef1d3", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "9bffb834e7ddf08467fe54ae58b5785507aaba6255568ae22b4d46e2bb3615ab"}, | ||||
|   "phoenix_live_view": {:hex, :phoenix_live_view, "0.19.5", "6e730595e8e9b8c5da230a814e557768828fd8dfeeb90377d2d8dbb52d4ec00a", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "b2eaa0dd3cfb9bd7fb949b88217df9f25aed915e986a28ad5c8a0d054e7ca9d3"}, | ||||
|   "phoenix_live_view": {:hex, :phoenix_live_view, "0.20.1", "92a37acf07afca67ac98bd326532ba8f44ad7d4bdf3e4361b03f7f02594e5ae9", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "be494fd1215052729298b0e97d5c2ce8e719c00854b82cd8cf15c1cd7fcf6294"}, | ||||
|   "phoenix_pubsub": {:hex, :phoenix_pubsub, "2.1.3", "3168d78ba41835aecad272d5e8cd51aa87a7ac9eb836eabc42f6e57538e3731d", [:mix], [], "hexpm", "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502"}, | ||||
|   "phoenix_template": {:hex, :phoenix_template, "1.0.3", "32de561eefcefa951aead30a1f94f1b5f0379bc9e340bb5c667f65f1edfa4326", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "16f4b6588a4152f3cc057b9d0c0ba7e82ee23afa65543da535313ad8d25d8e2c"}, | ||||
|   "plug": {:hex, :plug, "1.14.2", "cff7d4ec45b4ae176a227acd94a7ab536d9b37b942c8e8fa6dfc0fff98ff4d80", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "842fc50187e13cf4ac3b253d47d9474ed6c296a8732752835ce4a86acdf68d13"}, | ||||
|   "plug": {:hex, :plug, "1.15.1", "b7efd81c1a1286f13efb3f769de343236bd8b7d23b4a9f40d3002fc39ad8f74c", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "459497bd94d041d98d948054ec6c0b76feacd28eec38b219ca04c0de13c79d30"}, | ||||
|   "plug_cowboy": {:hex, :plug_cowboy, "2.6.1", "9a3bbfceeb65eff5f39dab529e5cd79137ac36e913c02067dba3963a26efe9b2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "de36e1a21f451a18b790f37765db198075c25875c64834bcc82d90b309eb6613"}, | ||||
|   "plug_crypto": {:hex, :plug_crypto, "1.2.5", "918772575e48e81e455818229bf719d4ab4181fcbf7f85b68a35620f78d89ced", [:mix], [], "hexpm", "26549a1d6345e2172eb1c233866756ae44a9609bd33ee6f99147ab3fd87fd842"}, | ||||
|   "plug_crypto": {:hex, :plug_crypto, "2.0.0", "77515cc10af06645abbfb5e6ad7a3e9714f805ae118fa1a70205f80d2d70fe73", [:mix], [], "hexpm", "53695bae57cc4e54566d993eb01074e4d894b65a3766f1c43e2c61a1b0f45ea9"}, | ||||
|   "postgrex": {:hex, :postgrex, "0.17.3", "c92cda8de2033a7585dae8c61b1d420a1a1322421df84da9a82a6764580c503d", [:mix], [{:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "946cf46935a4fdca7a81448be76ba3503cff082df42c6ec1ff16a4bdfbfb098d"}, | ||||
|   "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, | ||||
|   "swoosh": {:hex, :swoosh, "1.11.5", "429dccde78e2f60c6339e96917efecebca9d1f254d2878a150f580d2f782260b", [:mix], [{:cowboy, "~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:finch, "~> 0.6", [hex: :finch, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13 or ~> 1.0", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "21ee57dcd68d2f56d3bbe11e76d56d142b221bb12b6018c551cc68442b800040"}, | ||||
|   "swoosh": {:hex, :swoosh, "1.14.0", "710e363e114dedb4080b737e0307f5410887ffc9a239f818231e5618b6b84e1b", [:mix], [{:cowboy, "~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:finch, "~> 0.6", [hex: :finch, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13 or ~> 1.0", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: true]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "dccfc986ac99c18345ab3e1a8b934b2d817fd6d59a2494f0af78502184c71025"}, | ||||
|   "table_rex": {:hex, :table_rex, "3.1.1", "0c67164d1714b5e806d5067c1e96ff098ba7ae79413cc075973e17c38a587caa", [:mix], [], "hexpm", "678a23aba4d670419c23c17790f9dcd635a4a89022040df7d5d772cb21012490"}, | ||||
|   "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, | ||||
|   "telemetry_metrics": {:hex, :telemetry_metrics, "0.6.1", "315d9163a1d4660aedc3fee73f33f1d355dcc76c5c3ab3d59e76e3edf80eef1f", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7be9e0871c41732c233be71e4be11b96e56177bf15dde64a8ac9ce72ac9834c6"}, | ||||
|   "telemetry_poller": {:hex, :telemetry_poller, "1.0.0", "db91bb424e07f2bb6e73926fcafbfcbcb295f0193e0a00e825e589a0a47e8453", [:rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "b3a24eafd66c3f42da30fc3ca7dda1e9d546c12250a2d60d7b81d264fbec4f6e"}, | ||||
|   "websock": {:hex, :websock, "0.5.3", "2f69a6ebe810328555b6fe5c831a851f485e303a7c8ce6c5f675abeb20ebdadc", [:mix], [], "hexpm", "6105453d7fac22c712ad66fab1d45abdf049868f253cf719b625151460b8b453"}, | ||||
|   "websock_adapter": {:hex, :websock_adapter, "0.5.4", "7af8408e7ed9d56578539594d1ee7d8461e2dd5c3f57b0f2a5352d610ddde757", [:mix], [{:bandit, ">= 0.6.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "d2c238c79c52cbe223fcdae22ca0bb5007a735b9e933870e241fce66afb4f4ab"}, | ||||
|   "websock_adapter": {:hex, :websock_adapter, "0.5.5", "9dfeee8269b27e958a65b3e235b7e447769f66b5b5925385f5a569269164a210", [:mix], [{:bandit, ">= 0.6.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "4b977ba4a01918acbf77045ff88de7f6972c2a009213c515a445c48f224ffce9"}, | ||||
| } | ||||
|   | ||||
| @@ -44,8 +44,8 @@ msgstr "" | ||||
| #: lib/memex_web/live/note_live/index.html.heex:50 | ||||
| #: lib/memex_web/live/note_live/show.html.heex:34 | ||||
| #: lib/memex_web/live/pipeline_live/index.html.heex:52 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:41 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:112 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:34 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:105 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "delete" | ||||
| msgstr "" | ||||
| @@ -60,8 +60,8 @@ msgstr "" | ||||
| #: lib/memex_web/live/note_live/index.html.heex:40 | ||||
| #: lib/memex_web/live/note_live/show.html.heex:24 | ||||
| #: lib/memex_web/live/pipeline_live/index.html.heex:40 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:31 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:101 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:24 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:94 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "edit" | ||||
| msgstr "" | ||||
| @@ -108,16 +108,16 @@ msgstr "" | ||||
| msgid "register" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:43 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:32 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:43 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:43 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:29 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:49 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:47 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:47 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:53 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:37 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "save" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:127 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:120 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "add step" | ||||
| msgstr "" | ||||
| @@ -162,12 +162,12 @@ msgid "delete %{note_slug}" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/index.html.heex:49 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:39 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:32 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "delete %{pipeline_slug}" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:110 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:103 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "delete %{step_title}" | ||||
| msgstr "" | ||||
| @@ -192,7 +192,7 @@ msgstr "" | ||||
| msgid "edit %{pipeline_slug}" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:99 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:92 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "edit %{step_title}" | ||||
| msgstr "" | ||||
| @@ -202,12 +202,12 @@ msgstr "" | ||||
| msgid "edit invite for %{invite_name}" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:89 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:82 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "move %{step_title} down" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:73 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:66 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "move %{step_title} up" | ||||
| msgstr "" | ||||
|   | ||||
| @@ -44,8 +44,8 @@ msgstr "" | ||||
| #: lib/memex_web/live/note_live/index.html.heex:50 | ||||
| #: lib/memex_web/live/note_live/show.html.heex:34 | ||||
| #: lib/memex_web/live/pipeline_live/index.html.heex:52 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:41 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:112 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:34 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:105 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "delete" | ||||
| msgstr "" | ||||
| @@ -60,8 +60,8 @@ msgstr "" | ||||
| #: lib/memex_web/live/note_live/index.html.heex:40 | ||||
| #: lib/memex_web/live/note_live/show.html.heex:24 | ||||
| #: lib/memex_web/live/pipeline_live/index.html.heex:40 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:31 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:101 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:24 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:94 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "edit" | ||||
| msgstr "" | ||||
| @@ -108,16 +108,16 @@ msgstr "" | ||||
| msgid "register" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:43 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:32 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:43 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:43 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:29 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:49 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:47 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:47 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:53 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:37 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "save" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:127 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:120 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "add step" | ||||
| msgstr "" | ||||
| @@ -162,12 +162,12 @@ msgid "delete %{note_slug}" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/index.html.heex:49 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:39 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:32 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "delete %{pipeline_slug}" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:110 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:103 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "delete %{step_title}" | ||||
| msgstr "" | ||||
| @@ -192,7 +192,7 @@ msgstr "" | ||||
| msgid "edit %{pipeline_slug}" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:99 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:92 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "edit %{step_title}" | ||||
| msgstr "" | ||||
| @@ -202,12 +202,12 @@ msgstr "" | ||||
| msgid "edit invite for %{invite_name}" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:89 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:82 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "move %{step_title} down" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:73 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:66 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "move %{step_title} up" | ||||
| msgstr "" | ||||
|   | ||||
| @@ -12,14 +12,14 @@ msgstr "" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "X-Generator: Translate Toolkit 3.7.4\n" | ||||
|  | ||||
| #: lib/memex_web/components/layouts/live.html.heex:43 | ||||
| #: lib/memex_web/components/layouts/app.html.heex:43 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "Reconnecting..." | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/show.html.heex:15 | ||||
| #: lib/memex_web/live/note_live/show.html.heex:15 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:22 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:15 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "Visibility: %{visibility}" | ||||
| msgstr "" | ||||
| @@ -45,12 +45,6 @@ msgstr "" | ||||
| msgid "confirm new password" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:23 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:24 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "content" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/components/core_components/topbar.html.heex:28 | ||||
| #: lib/memex_web/live/context_live/index.ex:35 | ||||
| #: lib/memex_web/live/context_live/index.ex:43 | ||||
| @@ -243,20 +237,20 @@ msgstr "" | ||||
| msgid "report bugs or request features" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:44 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:44 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:44 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:30 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:50 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:48 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:54 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:38 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "saving..." | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:39 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:40 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:39 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:40 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:39 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:40 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:44 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:45 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:42 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:43 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:48 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:49 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "select privacy" | ||||
| msgstr "" | ||||
| @@ -272,12 +266,12 @@ msgstr "" | ||||
| msgid "settings" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:31 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:32 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:31 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:32 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:31 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:32 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:35 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:36 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:33 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:34 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:39 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:40 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "tag1,tag2" | ||||
| msgstr "" | ||||
| @@ -334,8 +328,6 @@ msgid "no contexts found" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/components/pipelines_table_component.ex:48 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:23 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:24 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "description" | ||||
| msgstr "" | ||||
| @@ -409,12 +401,6 @@ msgstr "" | ||||
| msgid "home" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:23 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:24 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "use [[note-slug]] to link to a note" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/faq_live.ex:10 | ||||
| #: lib/memex_web/live/faq_live.html.heex:3 | ||||
| #, elixir-autogen, elixir-format | ||||
| @@ -436,7 +422,7 @@ msgstr "" | ||||
| msgid "what is this?" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:59 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:52 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "%{position}. %{title}" | ||||
| msgstr "" | ||||
| @@ -461,12 +447,12 @@ msgstr "" | ||||
| msgid "add step to %{slug}" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:53 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:46 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "no steps" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:48 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:41 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "steps:" | ||||
| msgstr "" | ||||
| @@ -477,12 +463,6 @@ msgstr "" | ||||
| msgid "title" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:23 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:24 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "use [[context-slug]] to link to a context" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/faq_live.html.heex:65 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "finally, i wanted to externalize the processes for common situations that use these thought processes at discrete steps. these are pipelines!" | ||||
| @@ -658,7 +638,7 @@ msgstr "" | ||||
| msgid "keep me logged in for 60 days" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:21 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:22 | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "name" | ||||
| msgstr "" | ||||
| @@ -669,12 +649,12 @@ msgstr "" | ||||
| msgid "password" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:25 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:32 | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "uses left" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:29 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:44 | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "leave \"uses left\" blank to make invite unlimited" | ||||
| msgstr "" | ||||
| @@ -711,3 +691,23 @@ msgstr "" | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "reset your password" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:25 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:29 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:25 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:29 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "use [[[note-slug]]] to link to a note or use [[context-slug]] to link to a context or [pipeline-slug] to link to a pipeline" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:25 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:27 | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "use [[note-slug]] to link to a note or [context-slug] to link to a context" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:24 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:25 | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "use [note-slug] to link to a note" | ||||
| msgstr "" | ||||
|   | ||||
| @@ -79,13 +79,6 @@ msgstr "" | ||||
| msgid "unauthorized" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex/contexts/context.ex:84 | ||||
| #: lib/memex/notes/note.ex:83 | ||||
| #: lib/memex/pipelines/pipeline.ex:86 | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "invalid format: only numbers, letters and hyphen are accepted. tags must be comma-delimited" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/controllers/user_registration_html/new.html.heex:13 | ||||
| #: lib/memex_web/controllers/user_reset_password_html/edit.html.heex:13 | ||||
| #: lib/memex_web/controllers/user_settings_html/edit.html.heex:64 | ||||
| @@ -146,3 +139,10 @@ msgstr "" | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "user confirmation link is invalid or it has expired." | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex/contexts/context.ex:84 | ||||
| #: lib/memex/notes/note.ex:83 | ||||
| #: lib/memex/pipelines/pipeline.ex:86 | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "invalid format: only numbers, letters and hyphen are accepted. tags must be comma or space delimited" | ||||
| msgstr "" | ||||
|   | ||||
| @@ -70,8 +70,8 @@ msgstr "" | ||||
| #: lib/memex_web/live/note_live/index.html.heex:47 | ||||
| #: lib/memex_web/live/note_live/show.html.heex:31 | ||||
| #: lib/memex_web/live/pipeline_live/index.html.heex:47 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:38 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:109 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:31 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:102 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "are you sure?" | ||||
| msgstr "" | ||||
| @@ -137,7 +137,7 @@ msgstr "" | ||||
| msgid "are you sure you want to delete %{email}? this action is permanent!" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:34 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:49 | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "saving..." | ||||
| msgstr "" | ||||
|   | ||||
| @@ -10,14 +10,14 @@ | ||||
| msgid "" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/components/layouts/live.html.heex:43 | ||||
| #: lib/memex_web/components/layouts/app.html.heex:43 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "Reconnecting..." | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/show.html.heex:15 | ||||
| #: lib/memex_web/live/note_live/show.html.heex:15 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:22 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:15 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "Visibility: %{visibility}" | ||||
| msgstr "" | ||||
| @@ -43,12 +43,6 @@ msgstr "" | ||||
| msgid "confirm new password" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:23 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:24 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "content" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/components/core_components/topbar.html.heex:28 | ||||
| #: lib/memex_web/live/context_live/index.ex:35 | ||||
| #: lib/memex_web/live/context_live/index.ex:43 | ||||
| @@ -241,20 +235,20 @@ msgstr "" | ||||
| msgid "report bugs or request features" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:44 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:44 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:44 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:30 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:50 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:48 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:54 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:38 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "saving..." | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:39 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:40 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:39 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:40 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:39 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:40 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:44 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:45 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:42 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:43 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:48 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:49 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "select privacy" | ||||
| msgstr "" | ||||
| @@ -270,12 +264,12 @@ msgstr "" | ||||
| msgid "settings" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:31 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:32 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:31 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:32 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:31 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:32 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:35 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:36 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:33 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:34 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:39 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:40 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "tag1,tag2" | ||||
| msgstr "" | ||||
| @@ -332,8 +326,6 @@ msgid "no contexts found" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/components/pipelines_table_component.ex:48 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:23 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:24 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "description" | ||||
| msgstr "" | ||||
| @@ -407,12 +399,6 @@ msgstr "" | ||||
| msgid "home" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:23 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:24 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "use [[note-slug]] to link to a note" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/faq_live.ex:10 | ||||
| #: lib/memex_web/live/faq_live.html.heex:3 | ||||
| #, elixir-autogen, elixir-format | ||||
| @@ -434,7 +420,7 @@ msgstr "" | ||||
| msgid "what is this?" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:59 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:52 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "%{position}. %{title}" | ||||
| msgstr "" | ||||
| @@ -459,12 +445,12 @@ msgstr "" | ||||
| msgid "add step to %{slug}" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:53 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:46 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "no steps" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:48 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:41 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "steps:" | ||||
| msgstr "" | ||||
| @@ -475,12 +461,6 @@ msgstr "" | ||||
| msgid "title" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:23 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:24 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "use [[context-slug]] to link to a context" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/faq_live.html.heex:65 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "finally, i wanted to externalize the processes for common situations that use these thought processes at discrete steps. these are pipelines!" | ||||
| @@ -656,7 +636,7 @@ msgstr "" | ||||
| msgid "keep me logged in for 60 days" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:21 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:22 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "name" | ||||
| msgstr "" | ||||
| @@ -667,12 +647,12 @@ msgstr "" | ||||
| msgid "password" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:25 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:32 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "uses left" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:29 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:44 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "leave \"uses left\" blank to make invite unlimited" | ||||
| msgstr "" | ||||
| @@ -709,3 +689,23 @@ msgstr "" | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "reset your password" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:25 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:29 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:25 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:29 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "use [[[note-slug]]] to link to a note or use [[context-slug]] to link to a context or [pipeline-slug] to link to a pipeline" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:25 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:27 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "use [[note-slug]] to link to a note or [context-slug] to link to a context" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:24 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:25 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "use [note-slug] to link to a note" | ||||
| msgstr "" | ||||
|   | ||||
| @@ -45,8 +45,8 @@ msgstr "" | ||||
| #: lib/memex_web/live/note_live/index.html.heex:50 | ||||
| #: lib/memex_web/live/note_live/show.html.heex:34 | ||||
| #: lib/memex_web/live/pipeline_live/index.html.heex:52 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:41 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:112 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:34 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:105 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "delete" | ||||
| msgstr "" | ||||
| @@ -61,8 +61,8 @@ msgstr "" | ||||
| #: lib/memex_web/live/note_live/index.html.heex:40 | ||||
| #: lib/memex_web/live/note_live/show.html.heex:24 | ||||
| #: lib/memex_web/live/pipeline_live/index.html.heex:40 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:31 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:101 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:24 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:94 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "edit" | ||||
| msgstr "" | ||||
| @@ -109,16 +109,16 @@ msgstr "" | ||||
| msgid "register" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:43 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:32 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:43 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:43 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:29 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:49 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:47 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:47 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:53 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:37 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "save" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:127 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:120 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "add step" | ||||
| msgstr "" | ||||
| @@ -163,12 +163,12 @@ msgid "delete %{note_slug}" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/index.html.heex:49 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:39 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:32 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "delete %{pipeline_slug}" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:110 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:103 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "delete %{step_title}" | ||||
| msgstr "" | ||||
| @@ -193,7 +193,7 @@ msgstr "" | ||||
| msgid "edit %{pipeline_slug}" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:99 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:92 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "edit %{step_title}" | ||||
| msgstr "" | ||||
| @@ -203,12 +203,12 @@ msgstr "" | ||||
| msgid "edit invite for %{invite_name}" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:89 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:82 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "move %{step_title} down" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:73 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:66 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "move %{step_title} up" | ||||
| msgstr "" | ||||
|   | ||||
| @@ -11,14 +11,14 @@ msgstr "" | ||||
| "Language: en\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
|  | ||||
| #: lib/memex_web/components/layouts/live.html.heex:43 | ||||
| #: lib/memex_web/components/layouts/app.html.heex:43 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "Reconnecting..." | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/show.html.heex:15 | ||||
| #: lib/memex_web/live/note_live/show.html.heex:15 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:22 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:15 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "Visibility: %{visibility}" | ||||
| msgstr "" | ||||
| @@ -44,12 +44,6 @@ msgstr "" | ||||
| msgid "confirm new password" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:23 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:24 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "content" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/components/core_components/topbar.html.heex:28 | ||||
| #: lib/memex_web/live/context_live/index.ex:35 | ||||
| #: lib/memex_web/live/context_live/index.ex:43 | ||||
| @@ -242,20 +236,20 @@ msgstr "" | ||||
| msgid "report bugs or request features" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:44 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:44 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:44 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:30 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:50 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:48 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:54 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:38 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "saving..." | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:39 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:40 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:39 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:40 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:39 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:40 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:44 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:45 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:42 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:43 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:48 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:49 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "select privacy" | ||||
| msgstr "" | ||||
| @@ -271,12 +265,12 @@ msgstr "" | ||||
| msgid "settings" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:31 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:32 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:31 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:32 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:31 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:32 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:35 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:36 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:33 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:34 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:39 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:40 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "tag1,tag2" | ||||
| msgstr "" | ||||
| @@ -333,8 +327,6 @@ msgid "no contexts found" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/components/pipelines_table_component.ex:48 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:23 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:24 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "description" | ||||
| msgstr "" | ||||
| @@ -408,12 +400,6 @@ msgstr "" | ||||
| msgid "home" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:23 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:24 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "use [[note-slug]] to link to a note" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/faq_live.ex:10 | ||||
| #: lib/memex_web/live/faq_live.html.heex:3 | ||||
| #, elixir-autogen, elixir-format | ||||
| @@ -435,7 +421,7 @@ msgstr "" | ||||
| msgid "what is this?" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:59 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:52 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "%{position}. %{title}" | ||||
| msgstr "" | ||||
| @@ -460,12 +446,12 @@ msgstr "" | ||||
| msgid "add step to %{slug}" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:53 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:46 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "no steps" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:48 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:41 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "steps:" | ||||
| msgstr "" | ||||
| @@ -476,12 +462,6 @@ msgstr "" | ||||
| msgid "title" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:23 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:24 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "use [[context-slug]] to link to a context" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/faq_live.html.heex:65 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "finally, i wanted to externalize the processes for common situations that use these thought processes at discrete steps. these are pipelines!" | ||||
| @@ -657,7 +637,7 @@ msgstr "" | ||||
| msgid "keep me logged in for 60 days" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:21 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:22 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "name" | ||||
| msgstr "" | ||||
| @@ -668,12 +648,12 @@ msgstr "" | ||||
| msgid "password" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:25 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:32 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "uses left" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:29 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:44 | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "leave \"uses left\" blank to make invite unlimited" | ||||
| msgstr "" | ||||
| @@ -710,3 +690,23 @@ msgstr "" | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "reset your password" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:25 | ||||
| #: lib/memex_web/live/pipeline_live/form_component.html.heex:29 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:25 | ||||
| #: lib/memex_web/live/step_live/form_component.html.heex:29 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "use [[[note-slug]]] to link to a note or use [[context-slug]] to link to a context or [pipeline-slug] to link to a pipeline" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:25 | ||||
| #: lib/memex_web/live/context_live/form_component.html.heex:27 | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "use [[note-slug]] to link to a note or [context-slug] to link to a context" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:24 | ||||
| #: lib/memex_web/live/note_live/form_component.html.heex:25 | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "use [note-slug] to link to a note" | ||||
| msgstr "" | ||||
|   | ||||
| @@ -80,13 +80,6 @@ msgstr "" | ||||
| msgid "unauthorized" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex/contexts/context.ex:84 | ||||
| #: lib/memex/notes/note.ex:83 | ||||
| #: lib/memex/pipelines/pipeline.ex:86 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "invalid format: only numbers, letters and hyphen are accepted. tags must be comma-delimited" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/controllers/user_registration_html/new.html.heex:13 | ||||
| #: lib/memex_web/controllers/user_reset_password_html/edit.html.heex:13 | ||||
| #: lib/memex_web/controllers/user_settings_html/edit.html.heex:64 | ||||
| @@ -147,3 +140,10 @@ msgstr "" | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "user confirmation link is invalid or it has expired." | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex/contexts/context.ex:84 | ||||
| #: lib/memex/notes/note.ex:83 | ||||
| #: lib/memex/pipelines/pipeline.ex:86 | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "invalid format: only numbers, letters and hyphen are accepted. tags must be comma or space delimited" | ||||
| msgstr "" | ||||
|   | ||||
| @@ -71,8 +71,8 @@ msgstr "" | ||||
| #: lib/memex_web/live/note_live/index.html.heex:47 | ||||
| #: lib/memex_web/live/note_live/show.html.heex:31 | ||||
| #: lib/memex_web/live/pipeline_live/index.html.heex:47 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:38 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:109 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:31 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:102 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "are you sure?" | ||||
| msgstr "" | ||||
| @@ -138,7 +138,7 @@ msgstr "" | ||||
| msgid "are you sure you want to delete %{email}? this action is permanent!" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:34 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:49 | ||||
| #, elixir-autogen, elixir-format, fuzzy | ||||
| msgid "saving..." | ||||
| msgstr "" | ||||
|   | ||||
| @@ -79,13 +79,6 @@ msgstr "" | ||||
| msgid "unauthorized" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex/contexts/context.ex:84 | ||||
| #: lib/memex/notes/note.ex:83 | ||||
| #: lib/memex/pipelines/pipeline.ex:86 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "invalid format: only numbers, letters and hyphen are accepted. tags must be comma-delimited" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/controllers/user_registration_html/new.html.heex:13 | ||||
| #: lib/memex_web/controllers/user_reset_password_html/edit.html.heex:13 | ||||
| #: lib/memex_web/controllers/user_settings_html/edit.html.heex:64 | ||||
| @@ -146,3 +139,10 @@ msgstr "" | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "user confirmation link is invalid or it has expired." | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex/contexts/context.ex:84 | ||||
| #: lib/memex/notes/note.ex:83 | ||||
| #: lib/memex/pipelines/pipeline.ex:86 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "invalid format: only numbers, letters and hyphen are accepted. tags must be comma or space delimited" | ||||
| msgstr "" | ||||
|   | ||||
| @@ -70,8 +70,8 @@ msgstr "" | ||||
| #: lib/memex_web/live/note_live/index.html.heex:47 | ||||
| #: lib/memex_web/live/note_live/show.html.heex:31 | ||||
| #: lib/memex_web/live/pipeline_live/index.html.heex:47 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:38 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:109 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:31 | ||||
| #: lib/memex_web/live/pipeline_live/show.html.heex:102 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "are you sure?" | ||||
| msgstr "" | ||||
| @@ -137,7 +137,7 @@ msgstr "" | ||||
| msgid "are you sure you want to delete %{email}? this action is permanent!" | ||||
| msgstr "" | ||||
|  | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:34 | ||||
| #: lib/memex_web/live/invite_live/form_component.html.heex:49 | ||||
| #, elixir-autogen, elixir-format | ||||
| msgid "saving..." | ||||
| msgstr "" | ||||
|   | ||||
| @@ -17,7 +17,7 @@ defmodule MemexWeb.ContextLiveTest do | ||||
|   } | ||||
|   @invalid_attrs %{ | ||||
|     content: nil, | ||||
|     tags_string: "invalid tags", | ||||
|     tags_string: "invalid_tag or_tags", | ||||
|     slug: nil, | ||||
|     visibility: nil | ||||
|   } | ||||
| @@ -114,7 +114,7 @@ defmodule MemexWeb.ContextLiveTest do | ||||
|         |> render_change(context: @invalid_attrs) | ||||
|  | ||||
|       assert html =~ "can't be blank" | ||||
|       assert html =~ "tags must be comma-delimited" | ||||
|       assert html =~ "tags must be comma or space delimited" | ||||
|  | ||||
|       {:ok, _live, html} = | ||||
|         show_live | ||||
|   | ||||
| @@ -17,7 +17,7 @@ defmodule MemexWeb.NoteLiveTest do | ||||
|   } | ||||
|   @invalid_attrs %{ | ||||
|     content: nil, | ||||
|     tags_string: "invalid tags", | ||||
|     tags_string: "invalid_tag or_tags", | ||||
|     slug: nil, | ||||
|     visibility: nil | ||||
|   } | ||||
| @@ -55,7 +55,7 @@ defmodule MemexWeb.NoteLiveTest do | ||||
|         |> render_change(note: @invalid_attrs) | ||||
|  | ||||
|       assert html =~ "can't be blank" | ||||
|       assert html =~ "tags must be comma-delimited" | ||||
|       assert html =~ "tags must be comma or space delimited" | ||||
|  | ||||
|       {:ok, _live, html} = | ||||
|         index_live | ||||
|   | ||||
| @@ -17,7 +17,7 @@ defmodule MemexWeb.PipelineLiveTest do | ||||
|   } | ||||
|   @invalid_attrs %{ | ||||
|     description: nil, | ||||
|     tags_string: "invalid tags", | ||||
|     tags_string: "invalid_tag or_tags", | ||||
|     slug: nil, | ||||
|     visibility: nil | ||||
|   } | ||||
| @@ -130,7 +130,7 @@ defmodule MemexWeb.PipelineLiveTest do | ||||
|         |> render_change(pipeline: @invalid_attrs) | ||||
|  | ||||
|       assert html =~ "can't be blank" | ||||
|       assert html =~ "tags must be comma-delimited" | ||||
|       assert html =~ "tags must be comma or space delimited" | ||||
|  | ||||
|       {:ok, _live, html} = | ||||
|         show_live | ||||
|   | ||||
		Reference in New Issue
	
	Block a user