Compare commits

..

No commits in common. "e2378279d7162d0cd4f2fc2cb905e7931ff58e71" and "bc29ca6c208ec8bb5faadf6260b8a51511b4e1af" have entirely different histories.

36 changed files with 363 additions and 477 deletions

View File

@ -26,8 +26,6 @@ import 'phoenix_html'
import { Socket } from 'phoenix' import { Socket } from 'phoenix'
import { LiveSocket } from 'phoenix_live_view' import { LiveSocket } from 'phoenix_live_view'
import topbar from 'topbar' import topbar from 'topbar'
import CtrlEnter from './ctrlenter'
import Date from './date' import Date from './date'
import DateTime from './datetime' import DateTime from './datetime'
@ -36,7 +34,7 @@ let csrfToken
if (csrfTokenElement) { csrfToken = csrfTokenElement.getAttribute('content') } if (csrfTokenElement) { csrfToken = csrfTokenElement.getAttribute('content') }
const liveSocket = new LiveSocket('/live', Socket, { const liveSocket = new LiveSocket('/live', Socket, {
params: { _csrf_token: csrfToken }, params: { _csrf_token: csrfToken },
hooks: { CtrlEnter, Date, DateTime } hooks: { Date, DateTime }
}) })
// Show progress bar on live navigation and form submits // Show progress bar on live navigation and form submits

View File

@ -1,12 +0,0 @@
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) }
}

View File

@ -1,15 +1,5 @@
# v0.1.13 # v0.1.13
- Update dependencies - 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 # v0.1.12
- Code quality fixes - Code quality fixes

View File

@ -26,7 +26,7 @@ config :memex, Memex.Mailer, adapter: Swoosh.Adapters.Test
config :memex, Memex.Accounts, registration: "public" config :memex, Memex.Accounts, registration: "public"
# Print only warnings and errors during test # Print only warnings and errors during test
config :logger, level: :warning config :logger, level: :warn
# Initialize plugs at runtime for faster test compilation # Initialize plugs at runtime for faster test compilation
config :phoenix, :plug_init_mode, :runtime config :phoenix, :plug_init_mode, :runtime

View File

@ -79,11 +79,11 @@ defmodule Memex.Contexts.Context do
changeset changeset
|> put_change(:tags_string, changeset |> get_field(:tags) |> get_tags_string()) |> put_change(:tags_string, changeset |> get_field(:tags) |> get_tags_string())
|> cast(attrs, [: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: message:
dgettext( dgettext(
"errors", "errors",
"invalid format: only numbers, letters and hyphen are accepted. tags must be comma or space delimited" "invalid format: only numbers, letters and hyphen are accepted. tags must be comma-delimited"
) )
) )
|> cast_tags() |> cast_tags()
@ -98,9 +98,9 @@ defmodule Memex.Contexts.Context do
defp process_tags(tags_string) when tags_string |> is_binary() do defp process_tags(tags_string) when tags_string |> is_binary() do
tags_string tags_string
|> String.split([",", " "], trim: true) |> String.split(",", trim: true)
|> Enum.map(fn str -> str |> String.trim() end) |> Enum.map(fn str -> str |> String.trim() end)
|> Enum.reject(fn str -> str in [nil, ""] end) |> Enum.reject(fn str -> str |> is_nil() end)
|> Enum.sort() |> Enum.sort()
end end

View File

@ -78,11 +78,11 @@ defmodule Memex.Notes.Note do
changeset changeset
|> put_change(:tags_string, changeset |> get_field(:tags) |> get_tags_string()) |> put_change(:tags_string, changeset |> get_field(:tags) |> get_tags_string())
|> cast(attrs, [: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: message:
dgettext( dgettext(
"errors", "errors",
"invalid format: only numbers, letters and hyphen are accepted. tags must be comma or space delimited" "invalid format: only numbers, letters and hyphen are accepted. tags must be comma-delimited"
) )
) )
|> cast_tags() |> cast_tags()
@ -97,9 +97,9 @@ defmodule Memex.Notes.Note do
defp process_tags(tags_string) when tags_string |> is_binary() do defp process_tags(tags_string) when tags_string |> is_binary() do
tags_string tags_string
|> String.split([",", " "], trim: true) |> String.split(",", trim: true)
|> Enum.map(fn str -> str |> String.trim() end) |> Enum.map(fn str -> str |> String.trim() end)
|> Enum.reject(fn str -> str in [nil, ""] end) |> Enum.reject(fn str -> str |> is_nil() end)
|> Enum.sort() |> Enum.sort()
end end

View File

@ -81,11 +81,11 @@ defmodule Memex.Pipelines.Pipeline do
changeset changeset
|> put_change(:tags_string, changeset |> get_field(:tags) |> get_tags_string()) |> put_change(:tags_string, changeset |> get_field(:tags) |> get_tags_string())
|> cast(attrs, [: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: message:
dgettext( dgettext(
"errors", "errors",
"invalid format: only numbers, letters and hyphen are accepted. tags must be comma or space delimited" "invalid format: only numbers, letters and hyphen are accepted. tags must be comma-delimited"
) )
) )
|> cast_tags() |> cast_tags()
@ -100,9 +100,9 @@ defmodule Memex.Pipelines.Pipeline do
defp process_tags(tags_string) when tags_string |> is_binary() do defp process_tags(tags_string) when tags_string |> is_binary() do
tags_string tags_string
|> String.split([",", " "], trim: true) |> String.split(",", trim: true)
|> Enum.map(fn str -> str |> String.trim() end) |> Enum.map(fn str -> str |> String.trim() end)
|> Enum.reject(fn str -> str in [nil, ""] end) |> Enum.reject(fn str -> str |> is_nil() end)
|> Enum.sort() |> Enum.sort()
end end

View File

@ -50,7 +50,7 @@ defmodule Memex.Pipelines.Steps.Step do
%__MODULE__{} %__MODULE__{}
|> cast(attrs, [:title, :content]) |> cast(attrs, [:title, :content])
|> change(pipeline_id: pipeline_id, user_id: user_id, position: position) |> change(pipeline_id: pipeline_id, user_id: user_id, position: position)
|> validate_required([:title, :user_id, :position]) |> validate_required([:title, :content, :user_id, :position])
end end
@spec update_changeset(t(), attrs :: map(), User.t()) :: @spec update_changeset(t(), attrs :: map(), User.t()) ::
@ -62,7 +62,7 @@ defmodule Memex.Pipelines.Steps.Step do
) do ) do
step step
|> cast(attrs, [:title, :content]) |> cast(attrs, [:title, :content])
|> validate_required([:title, :user_id, :position]) |> validate_required([:title, :content, :user_id, :position])
end end
@spec position_changeset(t(), position :: non_neg_integer(), User.t()) :: changeset() @spec position_changeset(t(), position :: non_neg_integer(), User.t()) :: changeset()
@ -73,6 +73,6 @@ defmodule Memex.Pipelines.Steps.Step do
) do ) do
step step
|> change(position: position) |> change(position: position)
|> validate_required([:title, :user_id, :position]) |> validate_required([:title, :content, :user_id, :position])
end end
end end

View File

@ -8,7 +8,7 @@ defmodule MemexWeb.CoreComponents do
alias Memex.{Accounts, Accounts.Invite, Accounts.User} alias Memex.{Accounts, Accounts.Invite, Accounts.User}
alias Memex.Contexts.Context alias Memex.Contexts.Context
alias Memex.Notes.Note alias Memex.Notes.Note
alias Memex.Pipelines.{Pipeline, Steps.Step} alias Memex.Pipelines.Steps.Step
alias Phoenix.HTML alias Phoenix.HTML
alias Phoenix.LiveView.JS alias Phoenix.LiveView.JS
@ -130,118 +130,53 @@ defmodule MemexWeb.CoreComponents do
def step_content(assigns) def step_content(assigns)
attr :pipeline, Pipeline, required: true defp add_links_to_content(content, data_qa_prefix) do
# replace links
def pipeline_content(assigns) # 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
defp display_backlinks(record) do content =
record Regex.replace(
|> get_text() ~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()@:%_\+.~#?&//=]*))>,
|> replace_links(record) content,
|> replace_triple_backlinks(record) fn _whole_match, link ->
|> replace_double_backlinks(record) link =
|> replace_single_backlinks(record) HTML.Link.link(
|> HTML.raw() link,
end to: link,
class: "link inline",
target: "_blank",
rel: "noopener noreferrer"
)
|> HTML.Safe.to_iodata()
|> IO.iodata_to_binary()
defp get_text(%{content: content}), do: content "</p>#{link}<p class=\"inline\">"
defp get_text(%{description: description}), do: description end
defp get_text(_fallthrough), do: "" )
# link regex from content =
# https://stackoverflow.com/questions/3809401/what-is-a-good-regular-expression-to-match-a-url Regex.replace(
# and modified with additional schemes from ~r/\[\[([\p{L}\p{N}\-]+)\]\]/,
# https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml content,
defp replace_links(content, _record) do fn _whole_match, slug ->
Regex.replace( link =
~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()@:%_\+.~#?&//=]*))>, HTML.Link.link(
content, "[[#{slug}]]",
fn _whole_match, link -> to: ~p"/note/#{slug}",
link = class: "link inline",
HTML.Link.link( data: [qa: "#{data_qa_prefix}-#{slug}"]
link, )
to: link, |> HTML.Safe.to_iodata()
class: "link inline", |> IO.iodata_to_binary()
target: "_blank",
rel: "noopener noreferrer"
)
|> HTML.Safe.to_iodata()
|> IO.iodata_to_binary()
"</p>#{link}<p class=\"inline\">" "</p>#{link}<p class=\"inline\">"
end end
) )
end
defp replace_triple_backlinks(content, _record) do content |> HTML.raw()
Regex.replace(
~r/(^|[^\[])\[\[\[([\p{L}\p{N}\-]+)\]\]\]($|[^\]])/,
content,
fn _whole_match, prefix, slug, suffix ->
link =
HTML.Link.link(
"[[[#{slug}]]]",
to: ~p"/note/#{slug}",
class: "link inline"
)
|> HTML.Safe.to_iodata()
|> IO.iodata_to_binary()
"#{prefix}</p>#{link}<p class=\"inline\">#{suffix}"
end
)
end
defp replace_double_backlinks(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
defp replace_single_backlinks(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
end end

View File

@ -1,7 +1,7 @@
<div <div
id={"show-context-content-#{@context.id}"} 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 resize-y" class="input input-primary h-128 min-h-128 inline-block whitespace-pre-wrap overflow-x-hidden overflow-y-auto"
phx-update="ignore" phx-update="ignore"
readonly readonly
phx-no-format phx-no-format
><p class="inline"><%= display_backlinks(@context) %></p></div> ><p class="inline"><%= add_links_to_content(@context.content, "context-note") %></p></div>

View File

@ -1,7 +1,7 @@
<div <div
id={"show-note-content-#{@note.id}"} 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 resize-y" class="input input-primary h-128 min-h-128 inline-block whitespace-pre-wrap overflow-x-hidden overflow-y-auto"
phx-update="ignore" phx-update="ignore"
readonly readonly
phx-no-format phx-no-format
><p class="inline"><%= display_backlinks(@note) %></p></div> ><p class="inline"><%= add_links_to_content(@note.content, "note-link") %></p></div>

View File

@ -1,7 +0,0 @@
<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_backlinks(@pipeline) %></p></div>

View File

@ -1,7 +1,7 @@
<div <div
id={"show-step-content-#{@step.id}"} 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 resize-y" class="input input-primary h-32 min-h-32 inline-block whitespace-pre-wrap overflow-x-hidden overflow-y-auto"
phx-update="ignore" phx-update="ignore"
readonly readonly
phx-no-format phx-no-format
><p class="inline"><%= display_backlinks(@step) %></p></div> ><p class="inline"><%= add_links_to_content(@step.content, "step-context") %></p></div>

View File

@ -1,26 +1,13 @@
<main role="main" class="pb-8 min-w-full"> <main role="main" class="min-h-full min-w-full">
<header> <header>
<.topbar current_user={assigns[:current_user]} /> <.topbar current_user={assigns[:current_user]} />
<div class="mx-8 my-2 flex flex-col space-y-4 text-center"> <div class="mx-8 my-2 flex flex-col space-y-4 text-center">
<p <p :if={@flash["info"]} class="alert alert-info" role="alert">
:if={@flash && @flash |> Map.has_key?("info")} <%= @flash["info"] %>
class="alert alert-info cursor-pointer"
role="alert"
phx-click="lv:clear-flash"
phx-value-key="info"
>
<%= live_flash(@flash, :info) %>
</p> </p>
<p :if={@flash["error"]} class="alert alert-danger" role="alert">
<p <%= @flash["error"] %>
: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> </p>
</div> </div>
</header> </header>
@ -29,17 +16,3 @@
<%= @inner_content %> <%= @inner_content %>
</div> </div>
</main> </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>

View File

@ -0,0 +1,45 @@
<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>

View File

@ -6,14 +6,13 @@
phx-target={@myself} phx-target={@myself}
phx-change="validate" phx-change="validate"
phx-submit="save" phx-submit="save"
phx-hook="CtrlEnter" phx-debounce="300"
class="flex flex-col justify-start items-stretch space-y-4" class="flex flex-col justify-start items-stretch space-y-4"
> >
<%= text_input(f, :slug, <%= text_input(f, :slug,
class: "input input-primary", class: "input input-primary",
placeholder: gettext("slug"), placeholder: gettext("slug"),
aria_label: gettext("slug"), aria_label: gettext("slug")
phx_debounce: 300
) %> ) %>
<%= error_tag(f, :slug) %> <%= error_tag(f, :slug) %>
@ -21,11 +20,8 @@
id: "context-form-content", id: "context-form-content",
class: "input input-primary h-64 min-h-64", class: "input input-primary h-64 min-h-64",
phx_update: "ignore", phx_update: "ignore",
placeholder: placeholder: gettext("use [[note-slug]] to link to a note"),
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")
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) %> <%= error_tag(f, :content) %>
@ -33,8 +29,7 @@
id: "tags-input", id: "tags-input",
class: "input input-primary", class: "input input-primary",
placeholder: gettext("tag1,tag2"), placeholder: gettext("tag1,tag2"),
aria_label: gettext("tag1,tag2"), aria_label: gettext("tag1,tag2")
phx_debounce: 300
) %> ) %>
<%= error_tag(f, :tags_string) %> <%= error_tag(f, :tags_string) %>
@ -42,8 +37,7 @@
<%= select(f, :visibility, Ecto.Enum.values(Memex.Contexts.Context, :visibility), <%= select(f, :visibility, Ecto.Enum.values(Memex.Contexts.Context, :visibility),
class: "grow input input-primary", class: "grow input input-primary",
prompt: gettext("select privacy"), prompt: gettext("select privacy"),
aria_label: gettext("select privacy"), aria_label: gettext("select privacy")
phx_debounce: 300
) %> ) %>
<%= submit(dgettext("actions", "save"), <%= submit(dgettext("actions", "save"),

View File

@ -10,7 +10,6 @@
phx-target={@myself} phx-target={@myself}
phx-change="validate" phx-change="validate"
phx-submit="save" phx-submit="save"
phx-hook="CtrlEnter"
> >
<div <div
:if={@changeset.action && not @changeset.valid?()} :if={@changeset.action && not @changeset.valid?()}
@ -19,27 +18,13 @@
<%= changeset_errors(@changeset) %> <%= changeset_errors(@changeset) %>
</div> </div>
<%= label(f, :name, gettext("name"), <%= label(f, :name, gettext("name"), class: "title text-lg text-primary-400") %>
class: "title text-lg text-primary-400", <%= text_input(f, :name, class: "input input-primary col-span-2") %>
phx_debounce: 300
) %>
<%= text_input(f, :name,
class: "input input-primary col-span-2",
phx_debounce: 300
) %>
<%= error_tag(f, :name, "col-span-3") %> <%= error_tag(f, :name, "col-span-3") %>
<%= label(f, :uses_left, gettext("uses left"), <%= label(f, :uses_left, gettext("uses left"), class: "title text-lg text-primary-400") %>
class: "title text-lg text-primary-400", <%= number_input(f, :uses_left, min: 0, class: "input input-primary col-span-2") %>
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") %> <%= error_tag(f, :uses_left, "col-span-3") %>
<span class="col-span-3 text-primary-500 italic text-center"> <span class="col-span-3 text-primary-500 italic text-center">
<%= gettext(~s/leave "uses left" blank to make invite unlimited/) %> <%= gettext(~s/leave "uses left" blank to make invite unlimited/) %>
</span> </span>

View File

@ -6,14 +6,13 @@
phx-target={@myself} phx-target={@myself}
phx-change="validate" phx-change="validate"
phx-submit="save" phx-submit="save"
phx-hook="CtrlEnter" phx-debounce="300"
class="flex flex-col justify-start items-stretch space-y-4" class="flex flex-col justify-start items-stretch space-y-4"
> >
<%= text_input(f, :slug, <%= text_input(f, :slug,
class: "input input-primary", class: "input input-primary",
placeholder: gettext("slug"), placeholder: gettext("slug"),
aria_label: gettext("slug"), aria_label: gettext("slug")
phx_debounce: 300
) %> ) %>
<%= error_tag(f, :slug) %> <%= error_tag(f, :slug) %>
@ -21,9 +20,8 @@
id: "note-form-content", id: "note-form-content",
class: "input input-primary h-64 min-h-64", class: "input input-primary h-64 min-h-64",
phx_update: "ignore", phx_update: "ignore",
placeholder: gettext("use [note-slug] to link to a note"), placeholder: gettext("content"),
aria_label: gettext("use [note-slug] to link to a note"), aria_label: gettext("content")
phx_debounce: 300
) %> ) %>
<%= error_tag(f, :content) %> <%= error_tag(f, :content) %>
@ -31,8 +29,7 @@
id: "tags-input", id: "tags-input",
class: "input input-primary", class: "input input-primary",
placeholder: gettext("tag1,tag2"), placeholder: gettext("tag1,tag2"),
aria_label: gettext("tag1,tag2"), aria_label: gettext("tag1,tag2")
phx_debounce: 300
) %> ) %>
<%= error_tag(f, :tags_string) %> <%= error_tag(f, :tags_string) %>
@ -40,8 +37,7 @@
<%= select(f, :visibility, Ecto.Enum.values(Memex.Notes.Note, :visibility), <%= select(f, :visibility, Ecto.Enum.values(Memex.Notes.Note, :visibility),
class: "grow input input-primary", class: "grow input input-primary",
prompt: gettext("select privacy"), prompt: gettext("select privacy"),
aria_label: gettext("select privacy"), aria_label: gettext("select privacy")
phx_debounce: 300
) %> ) %>
<%= submit(dgettext("actions", "save"), <%= submit(dgettext("actions", "save"),

View File

@ -6,14 +6,13 @@
phx-target={@myself} phx-target={@myself}
phx-change="validate" phx-change="validate"
phx-submit="save" phx-submit="save"
phx-hook="CtrlEnter" phx-debounce="300"
class="flex flex-col justify-start items-stretch space-y-4" class="flex flex-col justify-start items-stretch space-y-4"
> >
<%= text_input(f, :slug, <%= text_input(f, :slug,
class: "input input-primary", class: "input input-primary",
placeholder: gettext("slug"), placeholder: gettext("slug"),
aria_label: gettext("slug"), aria_label: gettext("slug")
phx_debounce: 300
) %> ) %>
<%= error_tag(f, :slug) %> <%= error_tag(f, :slug) %>
@ -21,15 +20,8 @@
id: "pipeline-form-description", id: "pipeline-form-description",
class: "input input-primary h-64 min-h-64", class: "input input-primary h-64 min-h-64",
phx_update: "ignore", phx_update: "ignore",
placeholder: placeholder: gettext("description"),
gettext( aria_label: gettext("description")
"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) %> <%= error_tag(f, :description) %>
@ -37,8 +29,7 @@
id: "tags-input", id: "tags-input",
class: "input input-primary", class: "input input-primary",
placeholder: gettext("tag1,tag2"), placeholder: gettext("tag1,tag2"),
aria_label: gettext("tag1,tag2"), aria_label: gettext("tag1,tag2")
phx_debounce: 300
) %> ) %>
<%= error_tag(f, :tags_string) %> <%= error_tag(f, :tags_string) %>
@ -46,8 +37,7 @@
<%= select(f, :visibility, Ecto.Enum.values(Memex.Pipelines.Pipeline, :visibility), <%= select(f, :visibility, Ecto.Enum.values(Memex.Pipelines.Pipeline, :visibility),
class: "grow input input-primary", class: "grow input input-primary",
prompt: gettext("select privacy"), prompt: gettext("select privacy"),
aria_label: gettext("select privacy"), aria_label: gettext("select privacy")
phx_debounce: 300
) %> ) %>
<%= submit(dgettext("actions", "save"), <%= submit(dgettext("actions", "save"),

View File

@ -9,7 +9,14 @@
</.link> </.link>
</div> </div>
<.pipeline_content pipeline={@pipeline} /> <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>
<p class="self-end"> <p class="self-end">
<%= gettext("Visibility: %{visibility}", visibility: @pipeline.visibility) %> <%= gettext("Visibility: %{visibility}", visibility: @pipeline.visibility) %>

View File

@ -6,14 +6,13 @@
phx-target={@myself} phx-target={@myself}
phx-change="validate" phx-change="validate"
phx-submit="save" phx-submit="save"
phx-hook="CtrlEnter" phx-debounce="300"
class="flex flex-col justify-start items-stretch space-y-4" class="flex flex-col justify-start items-stretch space-y-4"
> >
<%= text_input(f, :title, <%= text_input(f, :title,
class: "input input-primary", class: "input input-primary",
placeholder: gettext("title"), placeholder: gettext("title"),
aria_label: gettext("title"), aria_label: gettext("title")
phx_debounce: 300
) %> ) %>
<%= error_tag(f, :title) %> <%= error_tag(f, :title) %>
@ -21,15 +20,8 @@
id: "step-form-content", id: "step-form-content",
class: "input input-primary h-64 min-h-64", class: "input input-primary h-64 min-h-64",
phx_update: "ignore", phx_update: "ignore",
placeholder: placeholder: gettext("use [[context-slug]] to link to a context"),
gettext( aria_label: gettext("use [[context-slug]] to link to a context")
"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) %> <%= error_tag(f, :content) %>

View File

@ -44,8 +44,8 @@ msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:50 #: lib/memex_web/live/note_live/index.html.heex:50
#: lib/memex_web/live/note_live/show.html.heex:34 #: 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/index.html.heex:52
#: lib/memex_web/live/pipeline_live/show.html.heex:34 #: lib/memex_web/live/pipeline_live/show.html.heex:41
#: lib/memex_web/live/pipeline_live/show.html.heex:105 #: lib/memex_web/live/pipeline_live/show.html.heex:112
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "delete" msgid "delete"
msgstr "" msgstr ""
@ -60,8 +60,8 @@ msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:40 #: lib/memex_web/live/note_live/index.html.heex:40
#: lib/memex_web/live/note_live/show.html.heex:24 #: 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/index.html.heex:40
#: lib/memex_web/live/pipeline_live/show.html.heex:24 #: lib/memex_web/live/pipeline_live/show.html.heex:31
#: lib/memex_web/live/pipeline_live/show.html.heex:94 #: lib/memex_web/live/pipeline_live/show.html.heex:101
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "edit" msgid "edit"
msgstr "" msgstr ""
@ -108,16 +108,16 @@ msgstr ""
msgid "register" msgid "register"
msgstr "" msgstr ""
#: lib/memex_web/live/context_live/form_component.html.heex:49 #: lib/memex_web/live/context_live/form_component.html.heex:43
#: lib/memex_web/live/invite_live/form_component.html.heex:47 #: lib/memex_web/live/invite_live/form_component.html.heex:32
#: lib/memex_web/live/note_live/form_component.html.heex:47 #: lib/memex_web/live/note_live/form_component.html.heex:43
#: lib/memex_web/live/pipeline_live/form_component.html.heex:53 #: lib/memex_web/live/pipeline_live/form_component.html.heex:43
#: lib/memex_web/live/step_live/form_component.html.heex:37 #: lib/memex_web/live/step_live/form_component.html.heex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "save" msgid "save"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:120 #: lib/memex_web/live/pipeline_live/show.html.heex:127
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "add step" msgid "add step"
msgstr "" msgstr ""
@ -162,12 +162,12 @@ msgid "delete %{note_slug}"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:49 #: lib/memex_web/live/pipeline_live/index.html.heex:49
#: lib/memex_web/live/pipeline_live/show.html.heex:32 #: lib/memex_web/live/pipeline_live/show.html.heex:39
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "delete %{pipeline_slug}" msgid "delete %{pipeline_slug}"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:103 #: lib/memex_web/live/pipeline_live/show.html.heex:110
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "delete %{step_title}" msgid "delete %{step_title}"
msgstr "" msgstr ""
@ -192,7 +192,7 @@ msgstr ""
msgid "edit %{pipeline_slug}" msgid "edit %{pipeline_slug}"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:92 #: lib/memex_web/live/pipeline_live/show.html.heex:99
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "edit %{step_title}" msgid "edit %{step_title}"
msgstr "" msgstr ""
@ -202,12 +202,12 @@ msgstr ""
msgid "edit invite for %{invite_name}" msgid "edit invite for %{invite_name}"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:82 #: lib/memex_web/live/pipeline_live/show.html.heex:89
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "move %{step_title} down" msgid "move %{step_title} down"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:66 #: lib/memex_web/live/pipeline_live/show.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "move %{step_title} up" msgid "move %{step_title} up"
msgstr "" msgstr ""

View File

@ -44,8 +44,8 @@ msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:50 #: lib/memex_web/live/note_live/index.html.heex:50
#: lib/memex_web/live/note_live/show.html.heex:34 #: 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/index.html.heex:52
#: lib/memex_web/live/pipeline_live/show.html.heex:34 #: lib/memex_web/live/pipeline_live/show.html.heex:41
#: lib/memex_web/live/pipeline_live/show.html.heex:105 #: lib/memex_web/live/pipeline_live/show.html.heex:112
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "delete" msgid "delete"
msgstr "" msgstr ""
@ -60,8 +60,8 @@ msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:40 #: lib/memex_web/live/note_live/index.html.heex:40
#: lib/memex_web/live/note_live/show.html.heex:24 #: 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/index.html.heex:40
#: lib/memex_web/live/pipeline_live/show.html.heex:24 #: lib/memex_web/live/pipeline_live/show.html.heex:31
#: lib/memex_web/live/pipeline_live/show.html.heex:94 #: lib/memex_web/live/pipeline_live/show.html.heex:101
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "edit" msgid "edit"
msgstr "" msgstr ""
@ -108,16 +108,16 @@ msgstr ""
msgid "register" msgid "register"
msgstr "" msgstr ""
#: lib/memex_web/live/context_live/form_component.html.heex:49 #: lib/memex_web/live/context_live/form_component.html.heex:43
#: lib/memex_web/live/invite_live/form_component.html.heex:47 #: lib/memex_web/live/invite_live/form_component.html.heex:32
#: lib/memex_web/live/note_live/form_component.html.heex:47 #: lib/memex_web/live/note_live/form_component.html.heex:43
#: lib/memex_web/live/pipeline_live/form_component.html.heex:53 #: lib/memex_web/live/pipeline_live/form_component.html.heex:43
#: lib/memex_web/live/step_live/form_component.html.heex:37 #: lib/memex_web/live/step_live/form_component.html.heex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "save" msgid "save"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:120 #: lib/memex_web/live/pipeline_live/show.html.heex:127
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "add step" msgid "add step"
msgstr "" msgstr ""
@ -162,12 +162,12 @@ msgid "delete %{note_slug}"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:49 #: lib/memex_web/live/pipeline_live/index.html.heex:49
#: lib/memex_web/live/pipeline_live/show.html.heex:32 #: lib/memex_web/live/pipeline_live/show.html.heex:39
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "delete %{pipeline_slug}" msgid "delete %{pipeline_slug}"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:103 #: lib/memex_web/live/pipeline_live/show.html.heex:110
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "delete %{step_title}" msgid "delete %{step_title}"
msgstr "" msgstr ""
@ -192,7 +192,7 @@ msgstr ""
msgid "edit %{pipeline_slug}" msgid "edit %{pipeline_slug}"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:92 #: lib/memex_web/live/pipeline_live/show.html.heex:99
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "edit %{step_title}" msgid "edit %{step_title}"
msgstr "" msgstr ""
@ -202,12 +202,12 @@ msgstr ""
msgid "edit invite for %{invite_name}" msgid "edit invite for %{invite_name}"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:82 #: lib/memex_web/live/pipeline_live/show.html.heex:89
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "move %{step_title} down" msgid "move %{step_title} down"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:66 #: lib/memex_web/live/pipeline_live/show.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "move %{step_title} up" msgid "move %{step_title} up"
msgstr "" msgstr ""

View File

@ -12,14 +12,14 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Translate Toolkit 3.7.4\n" "X-Generator: Translate Toolkit 3.7.4\n"
#: lib/memex_web/components/layouts/app.html.heex:43 #: lib/memex_web/components/layouts/live.html.heex:43
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Reconnecting..." msgid "Reconnecting..."
msgstr "" msgstr ""
#: lib/memex_web/live/context_live/show.html.heex:15 #: lib/memex_web/live/context_live/show.html.heex:15
#: lib/memex_web/live/note_live/show.html.heex:15 #: lib/memex_web/live/note_live/show.html.heex:15
#: lib/memex_web/live/pipeline_live/show.html.heex:15 #: lib/memex_web/live/pipeline_live/show.html.heex:22
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Visibility: %{visibility}" msgid "Visibility: %{visibility}"
msgstr "" msgstr ""
@ -45,6 +45,12 @@ msgstr ""
msgid "confirm new password" msgid "confirm new password"
msgstr "" 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/components/core_components/topbar.html.heex:28
#: lib/memex_web/live/context_live/index.ex:35 #: lib/memex_web/live/context_live/index.ex:35
#: lib/memex_web/live/context_live/index.ex:43 #: lib/memex_web/live/context_live/index.ex:43
@ -237,20 +243,20 @@ msgstr ""
msgid "report bugs or request features" msgid "report bugs or request features"
msgstr "" msgstr ""
#: lib/memex_web/live/context_live/form_component.html.heex:50 #: lib/memex_web/live/context_live/form_component.html.heex:44
#: lib/memex_web/live/note_live/form_component.html.heex:48 #: lib/memex_web/live/note_live/form_component.html.heex:44
#: lib/memex_web/live/pipeline_live/form_component.html.heex:54 #: lib/memex_web/live/pipeline_live/form_component.html.heex:44
#: lib/memex_web/live/step_live/form_component.html.heex:38 #: lib/memex_web/live/step_live/form_component.html.heex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "saving..." msgid "saving..."
msgstr "" msgstr ""
#: lib/memex_web/live/context_live/form_component.html.heex:44 #: lib/memex_web/live/context_live/form_component.html.heex:39
#: lib/memex_web/live/context_live/form_component.html.heex:45 #: lib/memex_web/live/context_live/form_component.html.heex:40
#: lib/memex_web/live/note_live/form_component.html.heex:42 #: lib/memex_web/live/note_live/form_component.html.heex:39
#: lib/memex_web/live/note_live/form_component.html.heex:43 #: lib/memex_web/live/note_live/form_component.html.heex:40
#: lib/memex_web/live/pipeline_live/form_component.html.heex:48 #: lib/memex_web/live/pipeline_live/form_component.html.heex:39
#: lib/memex_web/live/pipeline_live/form_component.html.heex:49 #: lib/memex_web/live/pipeline_live/form_component.html.heex:40
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "select privacy" msgid "select privacy"
msgstr "" msgstr ""
@ -266,12 +272,12 @@ msgstr ""
msgid "settings" msgid "settings"
msgstr "" msgstr ""
#: lib/memex_web/live/context_live/form_component.html.heex:35 #: lib/memex_web/live/context_live/form_component.html.heex:31
#: lib/memex_web/live/context_live/form_component.html.heex:36 #: lib/memex_web/live/context_live/form_component.html.heex:32
#: lib/memex_web/live/note_live/form_component.html.heex:33 #: lib/memex_web/live/note_live/form_component.html.heex:31
#: lib/memex_web/live/note_live/form_component.html.heex:34 #: lib/memex_web/live/note_live/form_component.html.heex:32
#: lib/memex_web/live/pipeline_live/form_component.html.heex:39 #: lib/memex_web/live/pipeline_live/form_component.html.heex:31
#: lib/memex_web/live/pipeline_live/form_component.html.heex:40 #: lib/memex_web/live/pipeline_live/form_component.html.heex:32
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "tag1,tag2" msgid "tag1,tag2"
msgstr "" msgstr ""
@ -328,6 +334,8 @@ msgid "no contexts found"
msgstr "" msgstr ""
#: lib/memex_web/components/pipelines_table_component.ex:48 #: 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 #, elixir-autogen, elixir-format
msgid "description" msgid "description"
msgstr "" msgstr ""
@ -401,6 +409,12 @@ msgstr ""
msgid "home" msgid "home"
msgstr "" 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.ex:10
#: lib/memex_web/live/faq_live.html.heex:3 #: lib/memex_web/live/faq_live.html.heex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -422,7 +436,7 @@ msgstr ""
msgid "what is this?" msgid "what is this?"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:52 #: lib/memex_web/live/pipeline_live/show.html.heex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{position}. %{title}" msgid "%{position}. %{title}"
msgstr "" msgstr ""
@ -447,12 +461,12 @@ msgstr ""
msgid "add step to %{slug}" msgid "add step to %{slug}"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:46 #: lib/memex_web/live/pipeline_live/show.html.heex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "no steps" msgid "no steps"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:41 #: lib/memex_web/live/pipeline_live/show.html.heex:48
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "steps:" msgid "steps:"
msgstr "" msgstr ""
@ -463,6 +477,12 @@ msgstr ""
msgid "title" msgid "title"
msgstr "" 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 #: lib/memex_web/live/faq_live.html.heex:65
#, elixir-autogen, elixir-format #, 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!" msgid "finally, i wanted to externalize the processes for common situations that use these thought processes at discrete steps. these are pipelines!"
@ -638,7 +658,7 @@ msgstr ""
msgid "keep me logged in for 60 days" msgid "keep me logged in for 60 days"
msgstr "" msgstr ""
#: lib/memex_web/live/invite_live/form_component.html.heex:22 #: lib/memex_web/live/invite_live/form_component.html.heex:21
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "name" msgid "name"
msgstr "" msgstr ""
@ -649,12 +669,12 @@ msgstr ""
msgid "password" msgid "password"
msgstr "" msgstr ""
#: lib/memex_web/live/invite_live/form_component.html.heex:32 #: lib/memex_web/live/invite_live/form_component.html.heex:25
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "uses left" msgid "uses left"
msgstr "" msgstr ""
#: lib/memex_web/live/invite_live/form_component.html.heex:44 #: lib/memex_web/live/invite_live/form_component.html.heex:29
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "leave \"uses left\" blank to make invite unlimited" msgid "leave \"uses left\" blank to make invite unlimited"
msgstr "" msgstr ""
@ -691,23 +711,3 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "reset your password" msgid "reset your password"
msgstr "" 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 ""

View File

@ -79,6 +79,13 @@ msgstr ""
msgid "unauthorized" msgid "unauthorized"
msgstr "" 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_registration_html/new.html.heex:13
#: lib/memex_web/controllers/user_reset_password_html/edit.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 #: lib/memex_web/controllers/user_settings_html/edit.html.heex:64
@ -139,10 +146,3 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "user confirmation link is invalid or it has expired." msgid "user confirmation link is invalid or it has expired."
msgstr "" 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 ""

View File

@ -70,8 +70,8 @@ msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:47 #: lib/memex_web/live/note_live/index.html.heex:47
#: lib/memex_web/live/note_live/show.html.heex:31 #: 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/index.html.heex:47
#: lib/memex_web/live/pipeline_live/show.html.heex:31 #: lib/memex_web/live/pipeline_live/show.html.heex:38
#: lib/memex_web/live/pipeline_live/show.html.heex:102 #: lib/memex_web/live/pipeline_live/show.html.heex:109
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "are you sure?" msgid "are you sure?"
msgstr "" msgstr ""
@ -137,7 +137,7 @@ msgstr ""
msgid "are you sure you want to delete %{email}? this action is permanent!" msgid "are you sure you want to delete %{email}? this action is permanent!"
msgstr "" msgstr ""
#: lib/memex_web/live/invite_live/form_component.html.heex:49 #: lib/memex_web/live/invite_live/form_component.html.heex:34
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "saving..." msgid "saving..."
msgstr "" msgstr ""

View File

@ -10,14 +10,14 @@
msgid "" msgid ""
msgstr "" msgstr ""
#: lib/memex_web/components/layouts/app.html.heex:43 #: lib/memex_web/components/layouts/live.html.heex:43
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Reconnecting..." msgid "Reconnecting..."
msgstr "" msgstr ""
#: lib/memex_web/live/context_live/show.html.heex:15 #: lib/memex_web/live/context_live/show.html.heex:15
#: lib/memex_web/live/note_live/show.html.heex:15 #: lib/memex_web/live/note_live/show.html.heex:15
#: lib/memex_web/live/pipeline_live/show.html.heex:15 #: lib/memex_web/live/pipeline_live/show.html.heex:22
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Visibility: %{visibility}" msgid "Visibility: %{visibility}"
msgstr "" msgstr ""
@ -43,6 +43,12 @@ msgstr ""
msgid "confirm new password" msgid "confirm new password"
msgstr "" 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/components/core_components/topbar.html.heex:28
#: lib/memex_web/live/context_live/index.ex:35 #: lib/memex_web/live/context_live/index.ex:35
#: lib/memex_web/live/context_live/index.ex:43 #: lib/memex_web/live/context_live/index.ex:43
@ -235,20 +241,20 @@ msgstr ""
msgid "report bugs or request features" msgid "report bugs or request features"
msgstr "" msgstr ""
#: lib/memex_web/live/context_live/form_component.html.heex:50 #: lib/memex_web/live/context_live/form_component.html.heex:44
#: lib/memex_web/live/note_live/form_component.html.heex:48 #: lib/memex_web/live/note_live/form_component.html.heex:44
#: lib/memex_web/live/pipeline_live/form_component.html.heex:54 #: lib/memex_web/live/pipeline_live/form_component.html.heex:44
#: lib/memex_web/live/step_live/form_component.html.heex:38 #: lib/memex_web/live/step_live/form_component.html.heex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "saving..." msgid "saving..."
msgstr "" msgstr ""
#: lib/memex_web/live/context_live/form_component.html.heex:44 #: lib/memex_web/live/context_live/form_component.html.heex:39
#: lib/memex_web/live/context_live/form_component.html.heex:45 #: lib/memex_web/live/context_live/form_component.html.heex:40
#: lib/memex_web/live/note_live/form_component.html.heex:42 #: lib/memex_web/live/note_live/form_component.html.heex:39
#: lib/memex_web/live/note_live/form_component.html.heex:43 #: lib/memex_web/live/note_live/form_component.html.heex:40
#: lib/memex_web/live/pipeline_live/form_component.html.heex:48 #: lib/memex_web/live/pipeline_live/form_component.html.heex:39
#: lib/memex_web/live/pipeline_live/form_component.html.heex:49 #: lib/memex_web/live/pipeline_live/form_component.html.heex:40
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "select privacy" msgid "select privacy"
msgstr "" msgstr ""
@ -264,12 +270,12 @@ msgstr ""
msgid "settings" msgid "settings"
msgstr "" msgstr ""
#: lib/memex_web/live/context_live/form_component.html.heex:35 #: lib/memex_web/live/context_live/form_component.html.heex:31
#: lib/memex_web/live/context_live/form_component.html.heex:36 #: lib/memex_web/live/context_live/form_component.html.heex:32
#: lib/memex_web/live/note_live/form_component.html.heex:33 #: lib/memex_web/live/note_live/form_component.html.heex:31
#: lib/memex_web/live/note_live/form_component.html.heex:34 #: lib/memex_web/live/note_live/form_component.html.heex:32
#: lib/memex_web/live/pipeline_live/form_component.html.heex:39 #: lib/memex_web/live/pipeline_live/form_component.html.heex:31
#: lib/memex_web/live/pipeline_live/form_component.html.heex:40 #: lib/memex_web/live/pipeline_live/form_component.html.heex:32
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "tag1,tag2" msgid "tag1,tag2"
msgstr "" msgstr ""
@ -326,6 +332,8 @@ msgid "no contexts found"
msgstr "" msgstr ""
#: lib/memex_web/components/pipelines_table_component.ex:48 #: 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 #, elixir-autogen, elixir-format
msgid "description" msgid "description"
msgstr "" msgstr ""
@ -399,6 +407,12 @@ msgstr ""
msgid "home" msgid "home"
msgstr "" 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.ex:10
#: lib/memex_web/live/faq_live.html.heex:3 #: lib/memex_web/live/faq_live.html.heex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -420,7 +434,7 @@ msgstr ""
msgid "what is this?" msgid "what is this?"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:52 #: lib/memex_web/live/pipeline_live/show.html.heex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{position}. %{title}" msgid "%{position}. %{title}"
msgstr "" msgstr ""
@ -445,12 +459,12 @@ msgstr ""
msgid "add step to %{slug}" msgid "add step to %{slug}"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:46 #: lib/memex_web/live/pipeline_live/show.html.heex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "no steps" msgid "no steps"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:41 #: lib/memex_web/live/pipeline_live/show.html.heex:48
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "steps:" msgid "steps:"
msgstr "" msgstr ""
@ -461,6 +475,12 @@ msgstr ""
msgid "title" msgid "title"
msgstr "" 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 #: lib/memex_web/live/faq_live.html.heex:65
#, elixir-autogen, elixir-format #, 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!" msgid "finally, i wanted to externalize the processes for common situations that use these thought processes at discrete steps. these are pipelines!"
@ -636,7 +656,7 @@ msgstr ""
msgid "keep me logged in for 60 days" msgid "keep me logged in for 60 days"
msgstr "" msgstr ""
#: lib/memex_web/live/invite_live/form_component.html.heex:22 #: lib/memex_web/live/invite_live/form_component.html.heex:21
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "name" msgid "name"
msgstr "" msgstr ""
@ -647,12 +667,12 @@ msgstr ""
msgid "password" msgid "password"
msgstr "" msgstr ""
#: lib/memex_web/live/invite_live/form_component.html.heex:32 #: lib/memex_web/live/invite_live/form_component.html.heex:25
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "uses left" msgid "uses left"
msgstr "" msgstr ""
#: lib/memex_web/live/invite_live/form_component.html.heex:44 #: lib/memex_web/live/invite_live/form_component.html.heex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "leave \"uses left\" blank to make invite unlimited" msgid "leave \"uses left\" blank to make invite unlimited"
msgstr "" msgstr ""
@ -689,23 +709,3 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "reset your password" msgid "reset your password"
msgstr "" 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 ""

View File

@ -45,8 +45,8 @@ msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:50 #: lib/memex_web/live/note_live/index.html.heex:50
#: lib/memex_web/live/note_live/show.html.heex:34 #: 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/index.html.heex:52
#: lib/memex_web/live/pipeline_live/show.html.heex:34 #: lib/memex_web/live/pipeline_live/show.html.heex:41
#: lib/memex_web/live/pipeline_live/show.html.heex:105 #: lib/memex_web/live/pipeline_live/show.html.heex:112
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "delete" msgid "delete"
msgstr "" msgstr ""
@ -61,8 +61,8 @@ msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:40 #: lib/memex_web/live/note_live/index.html.heex:40
#: lib/memex_web/live/note_live/show.html.heex:24 #: 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/index.html.heex:40
#: lib/memex_web/live/pipeline_live/show.html.heex:24 #: lib/memex_web/live/pipeline_live/show.html.heex:31
#: lib/memex_web/live/pipeline_live/show.html.heex:94 #: lib/memex_web/live/pipeline_live/show.html.heex:101
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "edit" msgid "edit"
msgstr "" msgstr ""
@ -109,16 +109,16 @@ msgstr ""
msgid "register" msgid "register"
msgstr "" msgstr ""
#: lib/memex_web/live/context_live/form_component.html.heex:49 #: lib/memex_web/live/context_live/form_component.html.heex:43
#: lib/memex_web/live/invite_live/form_component.html.heex:47 #: lib/memex_web/live/invite_live/form_component.html.heex:32
#: lib/memex_web/live/note_live/form_component.html.heex:47 #: lib/memex_web/live/note_live/form_component.html.heex:43
#: lib/memex_web/live/pipeline_live/form_component.html.heex:53 #: lib/memex_web/live/pipeline_live/form_component.html.heex:43
#: lib/memex_web/live/step_live/form_component.html.heex:37 #: lib/memex_web/live/step_live/form_component.html.heex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "save" msgid "save"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:120 #: lib/memex_web/live/pipeline_live/show.html.heex:127
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "add step" msgid "add step"
msgstr "" msgstr ""
@ -163,12 +163,12 @@ msgid "delete %{note_slug}"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/index.html.heex:49 #: lib/memex_web/live/pipeline_live/index.html.heex:49
#: lib/memex_web/live/pipeline_live/show.html.heex:32 #: lib/memex_web/live/pipeline_live/show.html.heex:39
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "delete %{pipeline_slug}" msgid "delete %{pipeline_slug}"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:103 #: lib/memex_web/live/pipeline_live/show.html.heex:110
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "delete %{step_title}" msgid "delete %{step_title}"
msgstr "" msgstr ""
@ -193,7 +193,7 @@ msgstr ""
msgid "edit %{pipeline_slug}" msgid "edit %{pipeline_slug}"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:92 #: lib/memex_web/live/pipeline_live/show.html.heex:99
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "edit %{step_title}" msgid "edit %{step_title}"
msgstr "" msgstr ""
@ -203,12 +203,12 @@ msgstr ""
msgid "edit invite for %{invite_name}" msgid "edit invite for %{invite_name}"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:82 #: lib/memex_web/live/pipeline_live/show.html.heex:89
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "move %{step_title} down" msgid "move %{step_title} down"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:66 #: lib/memex_web/live/pipeline_live/show.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "move %{step_title} up" msgid "move %{step_title} up"
msgstr "" msgstr ""

View File

@ -11,14 +11,14 @@ msgstr ""
"Language: en\n" "Language: en\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: lib/memex_web/components/layouts/app.html.heex:43 #: lib/memex_web/components/layouts/live.html.heex:43
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Reconnecting..." msgid "Reconnecting..."
msgstr "" msgstr ""
#: lib/memex_web/live/context_live/show.html.heex:15 #: lib/memex_web/live/context_live/show.html.heex:15
#: lib/memex_web/live/note_live/show.html.heex:15 #: lib/memex_web/live/note_live/show.html.heex:15
#: lib/memex_web/live/pipeline_live/show.html.heex:15 #: lib/memex_web/live/pipeline_live/show.html.heex:22
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Visibility: %{visibility}" msgid "Visibility: %{visibility}"
msgstr "" msgstr ""
@ -44,6 +44,12 @@ msgstr ""
msgid "confirm new password" msgid "confirm new password"
msgstr "" 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/components/core_components/topbar.html.heex:28
#: lib/memex_web/live/context_live/index.ex:35 #: lib/memex_web/live/context_live/index.ex:35
#: lib/memex_web/live/context_live/index.ex:43 #: lib/memex_web/live/context_live/index.ex:43
@ -236,20 +242,20 @@ msgstr ""
msgid "report bugs or request features" msgid "report bugs or request features"
msgstr "" msgstr ""
#: lib/memex_web/live/context_live/form_component.html.heex:50 #: lib/memex_web/live/context_live/form_component.html.heex:44
#: lib/memex_web/live/note_live/form_component.html.heex:48 #: lib/memex_web/live/note_live/form_component.html.heex:44
#: lib/memex_web/live/pipeline_live/form_component.html.heex:54 #: lib/memex_web/live/pipeline_live/form_component.html.heex:44
#: lib/memex_web/live/step_live/form_component.html.heex:38 #: lib/memex_web/live/step_live/form_component.html.heex:30
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "saving..." msgid "saving..."
msgstr "" msgstr ""
#: lib/memex_web/live/context_live/form_component.html.heex:44 #: lib/memex_web/live/context_live/form_component.html.heex:39
#: lib/memex_web/live/context_live/form_component.html.heex:45 #: lib/memex_web/live/context_live/form_component.html.heex:40
#: lib/memex_web/live/note_live/form_component.html.heex:42 #: lib/memex_web/live/note_live/form_component.html.heex:39
#: lib/memex_web/live/note_live/form_component.html.heex:43 #: lib/memex_web/live/note_live/form_component.html.heex:40
#: lib/memex_web/live/pipeline_live/form_component.html.heex:48 #: lib/memex_web/live/pipeline_live/form_component.html.heex:39
#: lib/memex_web/live/pipeline_live/form_component.html.heex:49 #: lib/memex_web/live/pipeline_live/form_component.html.heex:40
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "select privacy" msgid "select privacy"
msgstr "" msgstr ""
@ -265,12 +271,12 @@ msgstr ""
msgid "settings" msgid "settings"
msgstr "" msgstr ""
#: lib/memex_web/live/context_live/form_component.html.heex:35 #: lib/memex_web/live/context_live/form_component.html.heex:31
#: lib/memex_web/live/context_live/form_component.html.heex:36 #: lib/memex_web/live/context_live/form_component.html.heex:32
#: lib/memex_web/live/note_live/form_component.html.heex:33 #: lib/memex_web/live/note_live/form_component.html.heex:31
#: lib/memex_web/live/note_live/form_component.html.heex:34 #: lib/memex_web/live/note_live/form_component.html.heex:32
#: lib/memex_web/live/pipeline_live/form_component.html.heex:39 #: lib/memex_web/live/pipeline_live/form_component.html.heex:31
#: lib/memex_web/live/pipeline_live/form_component.html.heex:40 #: lib/memex_web/live/pipeline_live/form_component.html.heex:32
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "tag1,tag2" msgid "tag1,tag2"
msgstr "" msgstr ""
@ -327,6 +333,8 @@ msgid "no contexts found"
msgstr "" msgstr ""
#: lib/memex_web/components/pipelines_table_component.ex:48 #: 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 #, elixir-autogen, elixir-format
msgid "description" msgid "description"
msgstr "" msgstr ""
@ -400,6 +408,12 @@ msgstr ""
msgid "home" msgid "home"
msgstr "" 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.ex:10
#: lib/memex_web/live/faq_live.html.heex:3 #: lib/memex_web/live/faq_live.html.heex:3
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@ -421,7 +435,7 @@ msgstr ""
msgid "what is this?" msgid "what is this?"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:52 #: lib/memex_web/live/pipeline_live/show.html.heex:59
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{position}. %{title}" msgid "%{position}. %{title}"
msgstr "" msgstr ""
@ -446,12 +460,12 @@ msgstr ""
msgid "add step to %{slug}" msgid "add step to %{slug}"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:46 #: lib/memex_web/live/pipeline_live/show.html.heex:53
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "no steps" msgid "no steps"
msgstr "" msgstr ""
#: lib/memex_web/live/pipeline_live/show.html.heex:41 #: lib/memex_web/live/pipeline_live/show.html.heex:48
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "steps:" msgid "steps:"
msgstr "" msgstr ""
@ -462,6 +476,12 @@ msgstr ""
msgid "title" msgid "title"
msgstr "" 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 #: lib/memex_web/live/faq_live.html.heex:65
#, elixir-autogen, elixir-format #, 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!" msgid "finally, i wanted to externalize the processes for common situations that use these thought processes at discrete steps. these are pipelines!"
@ -637,7 +657,7 @@ msgstr ""
msgid "keep me logged in for 60 days" msgid "keep me logged in for 60 days"
msgstr "" msgstr ""
#: lib/memex_web/live/invite_live/form_component.html.heex:22 #: lib/memex_web/live/invite_live/form_component.html.heex:21
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "name" msgid "name"
msgstr "" msgstr ""
@ -648,12 +668,12 @@ msgstr ""
msgid "password" msgid "password"
msgstr "" msgstr ""
#: lib/memex_web/live/invite_live/form_component.html.heex:32 #: lib/memex_web/live/invite_live/form_component.html.heex:25
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "uses left" msgid "uses left"
msgstr "" msgstr ""
#: lib/memex_web/live/invite_live/form_component.html.heex:44 #: lib/memex_web/live/invite_live/form_component.html.heex:29
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "leave \"uses left\" blank to make invite unlimited" msgid "leave \"uses left\" blank to make invite unlimited"
msgstr "" msgstr ""
@ -690,23 +710,3 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "reset your password" msgid "reset your password"
msgstr "" 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 ""

View File

@ -80,6 +80,13 @@ msgstr ""
msgid "unauthorized" msgid "unauthorized"
msgstr "" 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_registration_html/new.html.heex:13
#: lib/memex_web/controllers/user_reset_password_html/edit.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 #: lib/memex_web/controllers/user_settings_html/edit.html.heex:64
@ -140,10 +147,3 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "user confirmation link is invalid or it has expired." msgid "user confirmation link is invalid or it has expired."
msgstr "" 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 ""

View File

@ -71,8 +71,8 @@ msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:47 #: lib/memex_web/live/note_live/index.html.heex:47
#: lib/memex_web/live/note_live/show.html.heex:31 #: 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/index.html.heex:47
#: lib/memex_web/live/pipeline_live/show.html.heex:31 #: lib/memex_web/live/pipeline_live/show.html.heex:38
#: lib/memex_web/live/pipeline_live/show.html.heex:102 #: lib/memex_web/live/pipeline_live/show.html.heex:109
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "are you sure?" msgid "are you sure?"
msgstr "" msgstr ""
@ -138,7 +138,7 @@ msgstr ""
msgid "are you sure you want to delete %{email}? this action is permanent!" msgid "are you sure you want to delete %{email}? this action is permanent!"
msgstr "" msgstr ""
#: lib/memex_web/live/invite_live/form_component.html.heex:49 #: lib/memex_web/live/invite_live/form_component.html.heex:34
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "saving..." msgid "saving..."
msgstr "" msgstr ""

View File

@ -79,6 +79,13 @@ msgstr ""
msgid "unauthorized" msgid "unauthorized"
msgstr "" 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_registration_html/new.html.heex:13
#: lib/memex_web/controllers/user_reset_password_html/edit.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 #: lib/memex_web/controllers/user_settings_html/edit.html.heex:64
@ -139,10 +146,3 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "user confirmation link is invalid or it has expired." msgid "user confirmation link is invalid or it has expired."
msgstr "" 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 ""

View File

@ -70,8 +70,8 @@ msgstr ""
#: lib/memex_web/live/note_live/index.html.heex:47 #: lib/memex_web/live/note_live/index.html.heex:47
#: lib/memex_web/live/note_live/show.html.heex:31 #: 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/index.html.heex:47
#: lib/memex_web/live/pipeline_live/show.html.heex:31 #: lib/memex_web/live/pipeline_live/show.html.heex:38
#: lib/memex_web/live/pipeline_live/show.html.heex:102 #: lib/memex_web/live/pipeline_live/show.html.heex:109
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "are you sure?" msgid "are you sure?"
msgstr "" msgstr ""
@ -137,7 +137,7 @@ msgstr ""
msgid "are you sure you want to delete %{email}? this action is permanent!" msgid "are you sure you want to delete %{email}? this action is permanent!"
msgstr "" msgstr ""
#: lib/memex_web/live/invite_live/form_component.html.heex:49 #: lib/memex_web/live/invite_live/form_component.html.heex:34
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "saving..." msgid "saving..."
msgstr "" msgstr ""

View File

@ -17,7 +17,7 @@ defmodule MemexWeb.ContextLiveTest do
} }
@invalid_attrs %{ @invalid_attrs %{
content: nil, content: nil,
tags_string: "invalid_tag or_tags", tags_string: "invalid tags",
slug: nil, slug: nil,
visibility: nil visibility: nil
} }
@ -114,7 +114,7 @@ defmodule MemexWeb.ContextLiveTest do
|> render_change(context: @invalid_attrs) |> render_change(context: @invalid_attrs)
assert html =~ "can&#39;t be blank" assert html =~ "can&#39;t be blank"
assert html =~ "tags must be comma or space delimited" assert html =~ "tags must be comma-delimited"
{:ok, _live, html} = {:ok, _live, html} =
show_live show_live

View File

@ -17,7 +17,7 @@ defmodule MemexWeb.NoteLiveTest do
} }
@invalid_attrs %{ @invalid_attrs %{
content: nil, content: nil,
tags_string: "invalid_tag or_tags", tags_string: "invalid tags",
slug: nil, slug: nil,
visibility: nil visibility: nil
} }
@ -55,7 +55,7 @@ defmodule MemexWeb.NoteLiveTest do
|> render_change(note: @invalid_attrs) |> render_change(note: @invalid_attrs)
assert html =~ "can&#39;t be blank" assert html =~ "can&#39;t be blank"
assert html =~ "tags must be comma or space delimited" assert html =~ "tags must be comma-delimited"
{:ok, _live, html} = {:ok, _live, html} =
index_live index_live

View File

@ -17,7 +17,7 @@ defmodule MemexWeb.PipelineLiveTest do
} }
@invalid_attrs %{ @invalid_attrs %{
description: nil, description: nil,
tags_string: "invalid_tag or_tags", tags_string: "invalid tags",
slug: nil, slug: nil,
visibility: nil visibility: nil
} }
@ -130,7 +130,7 @@ defmodule MemexWeb.PipelineLiveTest do
|> render_change(pipeline: @invalid_attrs) |> render_change(pipeline: @invalid_attrs)
assert html =~ "can&#39;t be blank" assert html =~ "can&#39;t be blank"
assert html =~ "tags must be comma or space delimited" assert html =~ "tags must be comma-delimited"
{:ok, _live, html} = {:ok, _live, html} =
show_live show_live