add backlinks
This commit is contained in:
		@@ -1,4 +1,5 @@
 | 
			
		||||
# v0.1.19
 | 
			
		||||
- Add backlinks
 | 
			
		||||
- Fix visibility issues with multiple users
 | 
			
		||||
 | 
			
		||||
# v0.1.18
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								home.png
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								home.png
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 340 KiB  | 
@@ -88,6 +88,42 @@ defmodule Memex.Contexts do
 | 
			
		||||
    )
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  @doc """
 | 
			
		||||
  Returns the list of contexts that link to a particular slug.
 | 
			
		||||
 | 
			
		||||
  ## Examples
 | 
			
		||||
 | 
			
		||||
      iex> backlink(%User{id: 123})
 | 
			
		||||
      [%Context{}, ...]
 | 
			
		||||
 | 
			
		||||
      iex> backlink("[other-context]", %User{id: 123})
 | 
			
		||||
      [%Context{content: "[other-context]"}, ...]
 | 
			
		||||
 | 
			
		||||
  """
 | 
			
		||||
  @spec backlink(String.t(), User.t()) :: [Context.t()]
 | 
			
		||||
  def backlink(link, %{id: user_id}) when user_id |> is_binary() do
 | 
			
		||||
    link = link |> String.replace("[", "\\[") |> String.replace("]", "\\]")
 | 
			
		||||
    link_regex = "(^|[^\[])#{link}($|[^\]])"
 | 
			
		||||
 | 
			
		||||
    Repo.all(
 | 
			
		||||
      from c in Context,
 | 
			
		||||
        where: fragment("? ~ ?", c.content, ^link_regex),
 | 
			
		||||
        order_by: c.slug
 | 
			
		||||
    )
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def backlink(link, _invalid_user) do
 | 
			
		||||
    link = link |> String.replace("[", "\\[") |> String.replace("]", "\\]")
 | 
			
		||||
    link_regex = "(^|[^\[])#{link}($|[^\]])"
 | 
			
		||||
 | 
			
		||||
    Repo.all(
 | 
			
		||||
      from c in Context,
 | 
			
		||||
        where: fragment("? ~ ?", c.content, ^link_regex),
 | 
			
		||||
        where: c.visibility == :public,
 | 
			
		||||
        order_by: c.slug
 | 
			
		||||
    )
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  @doc """
 | 
			
		||||
  Gets a single context.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -86,6 +86,42 @@ defmodule Memex.Notes do
 | 
			
		||||
    )
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  @doc """
 | 
			
		||||
  Returns the list of notes that link to a particular slug.
 | 
			
		||||
 | 
			
		||||
  ## Examples
 | 
			
		||||
 | 
			
		||||
      iex> backlink(%User{id: 123})
 | 
			
		||||
      [%Note{}, ...]
 | 
			
		||||
 | 
			
		||||
      iex> backlink("[other-note]", %User{id: 123})
 | 
			
		||||
      [%Note{content: "[other-note]"}, ...]
 | 
			
		||||
 | 
			
		||||
  """
 | 
			
		||||
  @spec backlink(String.t(), User.t()) :: [Note.t()]
 | 
			
		||||
  def backlink(link, %{id: user_id}) when user_id |> is_binary() do
 | 
			
		||||
    link = link |> String.replace("[", "\\[") |> String.replace("]", "\\]")
 | 
			
		||||
    link_regex = "(^|[^\[])#{link}($|[^\]])"
 | 
			
		||||
 | 
			
		||||
    Repo.all(
 | 
			
		||||
      from n in Note,
 | 
			
		||||
        where: fragment("? ~ ?", n.content, ^link_regex),
 | 
			
		||||
        order_by: n.slug
 | 
			
		||||
    )
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def backlink(link, _invalid_user) do
 | 
			
		||||
    link = link |> String.replace("[", "\\[") |> String.replace("]", "\\]")
 | 
			
		||||
    link_regex = "(^|[^\[])#{link}($|[^\]])"
 | 
			
		||||
 | 
			
		||||
    Repo.all(
 | 
			
		||||
      from n in Note,
 | 
			
		||||
        where: fragment("? ~ ?", n.content, ^link_regex),
 | 
			
		||||
        where: n.visibility == :public,
 | 
			
		||||
        order_by: n.slug
 | 
			
		||||
    )
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  @doc """
 | 
			
		||||
  Gets a single note.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -142,6 +142,50 @@ defmodule Memex.Pipelines do
 | 
			
		||||
    )
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  @doc """
 | 
			
		||||
  Returns the list of pipelines that link to a particular slug.
 | 
			
		||||
 | 
			
		||||
  ## Examples
 | 
			
		||||
 | 
			
		||||
      iex> backlink(%User{id: 123})
 | 
			
		||||
      [%Pipeline{}, ...]
 | 
			
		||||
 | 
			
		||||
      iex> backlink("[other-pipeline]", %User{id: 123})
 | 
			
		||||
      [%Pipeline{description: "[other-pipeline]"}, ...]
 | 
			
		||||
 | 
			
		||||
  """
 | 
			
		||||
  @spec backlink(String.t(), User.t()) :: [Pipeline.t()]
 | 
			
		||||
  def backlink(link, %{id: user_id}) when user_id |> is_binary() do
 | 
			
		||||
    link = link |> String.replace("[", "\\[") |> String.replace("]", "\\]")
 | 
			
		||||
    link_regex = "(^|[^\[])#{link}($|[^\]])"
 | 
			
		||||
 | 
			
		||||
    Repo.all(
 | 
			
		||||
      from p in Pipeline,
 | 
			
		||||
        left_join: s in assoc(p, :steps),
 | 
			
		||||
        where:
 | 
			
		||||
          fragment("? ~ ?", p.description, ^link_regex) or
 | 
			
		||||
            fragment("? ~ ?", s.content, ^link_regex),
 | 
			
		||||
        distinct: true,
 | 
			
		||||
        order_by: p.slug
 | 
			
		||||
    )
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def backlink(link, _invalid_user) do
 | 
			
		||||
    link = link |> String.replace("[", "\\[") |> String.replace("]", "\\]")
 | 
			
		||||
    link_regex = "(^|[^\[])#{link}($|[^\]])"
 | 
			
		||||
 | 
			
		||||
    Repo.all(
 | 
			
		||||
      from p in Pipeline,
 | 
			
		||||
        left_join: s in assoc(p, :steps),
 | 
			
		||||
        where:
 | 
			
		||||
          fragment("? ~ ?", p.description, ^link_regex) or
 | 
			
		||||
            fragment("? ~ ?", s.content, ^link_regex),
 | 
			
		||||
        where: p.visibility == :public,
 | 
			
		||||
        distinct: true,
 | 
			
		||||
        order_by: p.slug
 | 
			
		||||
    )
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  @doc """
 | 
			
		||||
  Creates a pipeline.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
defmodule MemexWeb.ContextLive.Show do
 | 
			
		||||
  use MemexWeb, :live_view
 | 
			
		||||
  alias Memex.Contexts
 | 
			
		||||
  alias Memex.{Contexts, Pipelines}
 | 
			
		||||
 | 
			
		||||
  @impl true
 | 
			
		||||
  def mount(_params, _session, socket) do
 | 
			
		||||
@@ -23,7 +23,9 @@ defmodule MemexWeb.ContextLive.Show do
 | 
			
		||||
      socket
 | 
			
		||||
      |> assign(
 | 
			
		||||
        context: context,
 | 
			
		||||
        page_title: page_title(live_action, context)
 | 
			
		||||
        page_title: page_title(live_action, context),
 | 
			
		||||
        context_backlinks: Contexts.backlink("[#{context.slug}]", current_user),
 | 
			
		||||
        pipeline_backlinks: Pipelines.backlink("[[#{context.slug}]]", current_user)
 | 
			
		||||
      )
 | 
			
		||||
 | 
			
		||||
    {:noreply, socket}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,27 @@
 | 
			
		||||
 | 
			
		||||
  <.context_content context={@context} />
 | 
			
		||||
 | 
			
		||||
  <div
 | 
			
		||||
    :if={@context_backlinks ++ @pipeline_backlinks != []}
 | 
			
		||||
    class="flex flex-wrap justify-end items-center self-end"
 | 
			
		||||
  >
 | 
			
		||||
    <p><%= gettext("Backlinked by:") %></p>
 | 
			
		||||
    <.link
 | 
			
		||||
      :for={backlink <- @context_backlinks}
 | 
			
		||||
      class="m-1 hover:underline"
 | 
			
		||||
      patch={~p"/context/#{backlink}"}
 | 
			
		||||
    >
 | 
			
		||||
      <%= gettext("[%{slug}]", slug: backlink.slug) %>
 | 
			
		||||
    </.link>
 | 
			
		||||
    <.link
 | 
			
		||||
      :for={backlink <- @pipeline_backlinks}
 | 
			
		||||
      class="m-1 hover:underline"
 | 
			
		||||
      patch={~p"/pipeline/#{backlink}"}
 | 
			
		||||
    >
 | 
			
		||||
      <%= gettext("[[%{slug}]]", slug: backlink.slug) %>
 | 
			
		||||
    </.link>
 | 
			
		||||
  </div>
 | 
			
		||||
 | 
			
		||||
  <p class="self-end">
 | 
			
		||||
    <%= gettext("Visibility: %{visibility}", visibility: @context.visibility) %>
 | 
			
		||||
  </p>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
<div class="mx-auto flex flex-col justify-center items-stretch space-y-4 max-w-lg">
 | 
			
		||||
  <h1 class="title text-primary-400 text-xl">
 | 
			
		||||
<div class="flex flex-col justify-center items-stretch mx-auto space-y-4 max-w-lg">
 | 
			
		||||
  <h1 class="text-xl title text-primary-400">
 | 
			
		||||
    <%= gettext("memEx") %>
 | 
			
		||||
  </h1>
 | 
			
		||||
 | 
			
		||||
@@ -31,7 +31,7 @@
 | 
			
		||||
      </p>
 | 
			
		||||
    </li>
 | 
			
		||||
 | 
			
		||||
    <li class="flex flex-col justify-center items-center text-right space-y-2">
 | 
			
		||||
    <li class="flex flex-col justify-center items-center space-y-2 text-right">
 | 
			
		||||
      <.link navigate={~p"/faq"} class="btn btn-primary">
 | 
			
		||||
        <%= gettext("read more on how to use memEx") %>
 | 
			
		||||
      </.link>
 | 
			
		||||
@@ -41,7 +41,7 @@
 | 
			
		||||
  <hr class="hr" />
 | 
			
		||||
 | 
			
		||||
  <ul class="flex flex-col space-y-4">
 | 
			
		||||
    <h2 class="title text-primary-400 text-lg">
 | 
			
		||||
    <h2 class="text-lg title text-primary-400">
 | 
			
		||||
      <%= gettext("features") %>
 | 
			
		||||
    </h2>
 | 
			
		||||
 | 
			
		||||
@@ -71,12 +71,21 @@
 | 
			
		||||
        <%= gettext("accessible from any internet-capable device") %>
 | 
			
		||||
      </p>
 | 
			
		||||
    </li>
 | 
			
		||||
 | 
			
		||||
    <li class="flex flex-col justify-center items-center space-y-2">
 | 
			
		||||
      <b class="whitespace-nowrap">
 | 
			
		||||
        <%= gettext("backlinks:") %>
 | 
			
		||||
      </b>
 | 
			
		||||
      <p>
 | 
			
		||||
        <%= gettext("view referencing items from the referenced item") %>
 | 
			
		||||
      </p>
 | 
			
		||||
    </li>
 | 
			
		||||
  </ul>
 | 
			
		||||
 | 
			
		||||
  <hr class="hr" />
 | 
			
		||||
 | 
			
		||||
  <ul class="flex flex-col justify-center space-y-4">
 | 
			
		||||
    <h2 class="title text-primary-400 text-lg">
 | 
			
		||||
    <h2 class="text-lg title text-primary-400">
 | 
			
		||||
      <%= gettext("instance information") %>
 | 
			
		||||
    </h2>
 | 
			
		||||
 | 
			
		||||
@@ -124,7 +133,7 @@
 | 
			
		||||
  <hr class="hr" />
 | 
			
		||||
 | 
			
		||||
  <ul class="flex flex-col space-y-2">
 | 
			
		||||
    <h2 class="title text-primary-400 text-lg">
 | 
			
		||||
    <h2 class="text-lg title text-primary-400">
 | 
			
		||||
      <%= gettext("get involved") %>
 | 
			
		||||
    </h2>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
defmodule MemexWeb.NoteLive.Show do
 | 
			
		||||
  use MemexWeb, :live_view
 | 
			
		||||
  alias Memex.Notes
 | 
			
		||||
  alias Memex.{Contexts, Notes, Pipelines}
 | 
			
		||||
 | 
			
		||||
  @impl true
 | 
			
		||||
  def mount(_params, _session, socket) do
 | 
			
		||||
@@ -22,8 +22,11 @@ defmodule MemexWeb.NoteLive.Show do
 | 
			
		||||
    socket =
 | 
			
		||||
      socket
 | 
			
		||||
      |> assign(
 | 
			
		||||
        context_backlinks: Contexts.backlink("[[#{note.slug}]]", current_user),
 | 
			
		||||
        note_backlinks: Notes.backlink("[#{note.slug}]", current_user),
 | 
			
		||||
        note: note,
 | 
			
		||||
        page_title: page_title(live_action, note)
 | 
			
		||||
        page_title: page_title(live_action, note),
 | 
			
		||||
        pipeline_backlinks: Pipelines.backlink("[[[#{note.slug}]]]", current_user)
 | 
			
		||||
      )
 | 
			
		||||
 | 
			
		||||
    {:noreply, socket}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,34 @@
 | 
			
		||||
 | 
			
		||||
  <.note_content note={@note} />
 | 
			
		||||
 | 
			
		||||
  <div
 | 
			
		||||
    :if={@note_backlinks ++ @context_backlinks ++ @pipeline_backlinks != []}
 | 
			
		||||
    class="flex flex-wrap justify-end items-center self-end"
 | 
			
		||||
  >
 | 
			
		||||
    <p><%= gettext("Backlinked by:") %></p>
 | 
			
		||||
    <.link
 | 
			
		||||
      :for={backlink <- @note_backlinks}
 | 
			
		||||
      class="m-1 hover:underline"
 | 
			
		||||
      patch={~p"/note/#{backlink}"}
 | 
			
		||||
    >
 | 
			
		||||
      <%= gettext("[%{slug}]", slug: backlink.slug) %>
 | 
			
		||||
    </.link>
 | 
			
		||||
    <.link
 | 
			
		||||
      :for={backlink <- @context_backlinks}
 | 
			
		||||
      class="m-1 hover:underline"
 | 
			
		||||
      patch={~p"/context/#{backlink}"}
 | 
			
		||||
    >
 | 
			
		||||
      <%= gettext("[[%{slug}]]", slug: backlink.slug) %>
 | 
			
		||||
    </.link>
 | 
			
		||||
    <.link
 | 
			
		||||
      :for={backlink <- @pipeline_backlinks}
 | 
			
		||||
      class="m-1 hover:underline"
 | 
			
		||||
      patch={~p"/pipeline/#{backlink}"}
 | 
			
		||||
    >
 | 
			
		||||
      <%= gettext("[[[%{slug}]]]", slug: backlink.slug) %>
 | 
			
		||||
    </.link>
 | 
			
		||||
  </div>
 | 
			
		||||
 | 
			
		||||
  <p class="self-end">
 | 
			
		||||
    <%= gettext("Visibility: %{visibility}", visibility: @note.visibility) %>
 | 
			
		||||
  </p>
 | 
			
		||||
 
 | 
			
		||||
@@ -23,6 +23,7 @@ defmodule MemexWeb.PipelineLive.Show do
 | 
			
		||||
      socket
 | 
			
		||||
      |> assign(
 | 
			
		||||
        page_title: page_title(live_action, pipeline),
 | 
			
		||||
        pipeline_backlinks: Pipelines.backlink("[#{pipeline.slug}]", current_user),
 | 
			
		||||
        pipeline: pipeline,
 | 
			
		||||
        steps: pipeline |> Steps.list_steps(current_user)
 | 
			
		||||
      )
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,17 @@
 | 
			
		||||
 | 
			
		||||
  <.pipeline_content pipeline={@pipeline} />
 | 
			
		||||
 | 
			
		||||
  <div :if={@pipeline_backlinks != []} class="flex flex-wrap justify-end items-center self-end">
 | 
			
		||||
    <p><%= gettext("Backlinked by:") %></p>
 | 
			
		||||
    <.link
 | 
			
		||||
      :for={backlink <- @pipeline_backlinks}
 | 
			
		||||
      class="m-1 hover:underline"
 | 
			
		||||
      patch={~p"/pipeline/#{backlink}"}
 | 
			
		||||
    >
 | 
			
		||||
      <%= gettext("[%{slug}]", slug: backlink.slug) %>
 | 
			
		||||
    </.link>
 | 
			
		||||
  </div>
 | 
			
		||||
 | 
			
		||||
  <p class="self-end">
 | 
			
		||||
    <%= gettext("Visibility: %{visibility}", visibility: @pipeline.visibility) %>
 | 
			
		||||
  </p>
 | 
			
		||||
 
 | 
			
		||||
@@ -40,12 +40,12 @@ msgid "create invite"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.html.heex:50
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:30
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:51
 | 
			
		||||
#: lib/memex_web/live/note_live/index.html.heex:50
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:30
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:58
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.html.heex:52
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:30
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:101
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:41
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:112
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "delete"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -56,12 +56,12 @@ msgid "delete user"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.html.heex:40
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:20
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:41
 | 
			
		||||
#: lib/memex_web/live/note_live/index.html.heex:40
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:20
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:48
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.html.heex:40
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:20
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:90
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:31
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:101
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "edit"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -112,7 +112,7 @@ msgstr ""
 | 
			
		||||
msgid "save"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:116
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:127
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "add step"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -145,24 +145,24 @@ msgid "copy invite link for %{invite_name}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.html.heex:48
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:28
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:49
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "delete %{context_slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/note_live/index.html.heex:48
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:28
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:56
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "delete %{note_slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.html.heex:49
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:28
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:39
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "delete %{pipeline_slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:99
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:110
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "delete %{step_title}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -187,7 +187,7 @@ msgstr ""
 | 
			
		||||
msgid "edit %{pipeline_slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:88
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:99
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "edit %{step_title}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -197,12 +197,12 @@ msgstr ""
 | 
			
		||||
msgid "edit invite for %{invite_name}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:78
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:89
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "move %{step_title} down"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:62
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:73
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "move %{step_title} up"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 
 | 
			
		||||
@@ -40,12 +40,12 @@ msgid "create invite"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.html.heex:50
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:30
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:51
 | 
			
		||||
#: lib/memex_web/live/note_live/index.html.heex:50
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:30
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:58
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.html.heex:52
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:30
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:101
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:41
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:112
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "delete"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -56,12 +56,12 @@ msgid "delete user"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.html.heex:40
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:20
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:41
 | 
			
		||||
#: lib/memex_web/live/note_live/index.html.heex:40
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:20
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:48
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.html.heex:40
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:20
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:90
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:31
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:101
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "edit"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -112,7 +112,7 @@ msgstr ""
 | 
			
		||||
msgid "save"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:116
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:127
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "add step"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -145,24 +145,24 @@ msgid "copy invite link for %{invite_name}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.html.heex:48
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:28
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:49
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "delete %{context_slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/note_live/index.html.heex:48
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:28
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:56
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "delete %{note_slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.html.heex:49
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:28
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:39
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "delete %{pipeline_slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:99
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:110
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "delete %{step_title}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -187,7 +187,7 @@ msgstr ""
 | 
			
		||||
msgid "edit %{pipeline_slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:88
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:99
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "edit %{step_title}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -197,12 +197,12 @@ msgstr ""
 | 
			
		||||
msgid "edit invite for %{invite_name}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:78
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:89
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "move %{step_title} down"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:62
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:73
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "move %{step_title} up"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 
 | 
			
		||||
@@ -17,9 +17,9 @@ msgstr ""
 | 
			
		||||
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:15
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:36
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:43
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:26
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "Visibility: %{visibility}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -29,7 +29,7 @@ msgstr ""
 | 
			
		||||
msgid "accessible from any internet-capable device"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:85
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:94
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "admins:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -118,12 +118,12 @@ msgstr ""
 | 
			
		||||
msgid "features"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:149
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:158
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "help translate"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:80
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:89
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "instance information"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -133,7 +133,7 @@ msgstr ""
 | 
			
		||||
msgid "invite disabled"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:105
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:114
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "invite only"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -217,7 +217,7 @@ msgstr ""
 | 
			
		||||
msgid "provide context around a single topic and hotlink to your notes"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:104
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:113
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "public signups"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -227,12 +227,12 @@ msgstr ""
 | 
			
		||||
msgid "register"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:101
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:110
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "registration:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:160
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:169
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "report bugs or request features"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -288,12 +288,12 @@ msgstr ""
 | 
			
		||||
msgid "users"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:111
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:120
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "version:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:138
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:147
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "view the source code"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -350,11 +350,11 @@ msgid "%{slug} created"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.ex:65
 | 
			
		||||
#: lib/memex_web/live/context_live/show.ex:42
 | 
			
		||||
#: lib/memex_web/live/context_live/show.ex:44
 | 
			
		||||
#: lib/memex_web/live/note_live/index.ex:65
 | 
			
		||||
#: lib/memex_web/live/note_live/show.ex:42
 | 
			
		||||
#: lib/memex_web/live/note_live/show.ex:45
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.ex:65
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:77
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:78
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "%{slug} deleted"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -367,11 +367,11 @@ msgid "%{slug} saved"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.ex:25
 | 
			
		||||
#: lib/memex_web/live/context_live/show.ex:49
 | 
			
		||||
#: lib/memex_web/live/context_live/show.ex:51
 | 
			
		||||
#: lib/memex_web/live/note_live/index.ex:25
 | 
			
		||||
#: lib/memex_web/live/note_live/show.ex:49
 | 
			
		||||
#: lib/memex_web/live/note_live/show.ex:52
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.ex:24
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:123
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:124
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "edit %{slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -422,7 +422,7 @@ msgstr ""
 | 
			
		||||
msgid "what is this?"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:48
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:59
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "%{position}. %{title}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -432,7 +432,7 @@ msgstr ""
 | 
			
		||||
msgid "%{title} created"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:95
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:96
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "%{title} deleted"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -442,17 +442,17 @@ msgstr ""
 | 
			
		||||
msgid "%{title} saved"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:125
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:126
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "add step to %{slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:42
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:53
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "no steps"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:37
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:48
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "steps:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -598,7 +598,7 @@ msgstr ""
 | 
			
		||||
msgid "uses: %{uses_count}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:128
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:137
 | 
			
		||||
#, elixir-autogen, elixir-format, fuzzy
 | 
			
		||||
msgid "get involved"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -721,3 +721,38 @@ msgstr ""
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "(This note is empty)"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:18
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:18
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:15
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "Backlinked by:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:24
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:24
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:21
 | 
			
		||||
#, elixir-autogen, elixir-format, fuzzy
 | 
			
		||||
msgid "[%{slug}]"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:31
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:31
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "[[%{slug}]]"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:38
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "[[[%{slug}]]]"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:77
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "backlinks:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:80
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "view referencing items from the referenced item"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 
 | 
			
		||||
@@ -66,12 +66,12 @@ msgid "are you sure you want to make %{invite_name} unlimited?"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.html.heex:47
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:27
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:48
 | 
			
		||||
#: lib/memex_web/live/note_live/index.html.heex:47
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:27
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:55
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.html.heex:47
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:27
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:98
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:38
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:109
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "are you sure?"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -86,7 +86,7 @@ msgstr ""
 | 
			
		||||
msgid "language updated successfully."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:90
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:99
 | 
			
		||||
#, elixir-autogen, elixir-format, fuzzy
 | 
			
		||||
msgid "register to setup memEx"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 
 | 
			
		||||
@@ -15,9 +15,9 @@ msgstr ""
 | 
			
		||||
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:15
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:36
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:43
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:26
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "Visibility: %{visibility}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -27,7 +27,7 @@ msgstr ""
 | 
			
		||||
msgid "accessible from any internet-capable device"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:85
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:94
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "admins:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -116,12 +116,12 @@ msgstr ""
 | 
			
		||||
msgid "features"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:149
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:158
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "help translate"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:80
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:89
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "instance information"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -131,7 +131,7 @@ msgstr ""
 | 
			
		||||
msgid "invite disabled"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:105
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:114
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "invite only"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -215,7 +215,7 @@ msgstr ""
 | 
			
		||||
msgid "provide context around a single topic and hotlink to your notes"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:104
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:113
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "public signups"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -225,12 +225,12 @@ msgstr ""
 | 
			
		||||
msgid "register"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:101
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:110
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "registration:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:160
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:169
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "report bugs or request features"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -286,12 +286,12 @@ msgstr ""
 | 
			
		||||
msgid "users"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:111
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:120
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "version:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:138
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:147
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "view the source code"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -348,11 +348,11 @@ msgid "%{slug} created"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.ex:65
 | 
			
		||||
#: lib/memex_web/live/context_live/show.ex:42
 | 
			
		||||
#: lib/memex_web/live/context_live/show.ex:44
 | 
			
		||||
#: lib/memex_web/live/note_live/index.ex:65
 | 
			
		||||
#: lib/memex_web/live/note_live/show.ex:42
 | 
			
		||||
#: lib/memex_web/live/note_live/show.ex:45
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.ex:65
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:77
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:78
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "%{slug} deleted"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -365,11 +365,11 @@ msgid "%{slug} saved"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.ex:25
 | 
			
		||||
#: lib/memex_web/live/context_live/show.ex:49
 | 
			
		||||
#: lib/memex_web/live/context_live/show.ex:51
 | 
			
		||||
#: lib/memex_web/live/note_live/index.ex:25
 | 
			
		||||
#: lib/memex_web/live/note_live/show.ex:49
 | 
			
		||||
#: lib/memex_web/live/note_live/show.ex:52
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.ex:24
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:123
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:124
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "edit %{slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -420,7 +420,7 @@ msgstr ""
 | 
			
		||||
msgid "what is this?"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:48
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:59
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "%{position}. %{title}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -430,7 +430,7 @@ msgstr ""
 | 
			
		||||
msgid "%{title} created"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:95
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:96
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "%{title} deleted"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -440,17 +440,17 @@ msgstr ""
 | 
			
		||||
msgid "%{title} saved"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:125
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:126
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "add step to %{slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:42
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:53
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "no steps"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:37
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:48
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "steps:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -596,7 +596,7 @@ msgstr ""
 | 
			
		||||
msgid "uses: %{uses_count}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:128
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:137
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "get involved"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -719,3 +719,38 @@ msgstr ""
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "(This note is empty)"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:18
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:18
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:15
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "Backlinked by:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:24
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:24
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:21
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "[%{slug}]"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:31
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:31
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "[[%{slug}]]"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:38
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "[[[%{slug}]]]"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:77
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "backlinks:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:80
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "view referencing items from the referenced item"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 
 | 
			
		||||
@@ -41,12 +41,12 @@ msgid "create invite"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.html.heex:50
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:30
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:51
 | 
			
		||||
#: lib/memex_web/live/note_live/index.html.heex:50
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:30
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:58
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.html.heex:52
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:30
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:101
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:41
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:112
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "delete"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -57,12 +57,12 @@ msgid "delete user"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.html.heex:40
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:20
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:41
 | 
			
		||||
#: lib/memex_web/live/note_live/index.html.heex:40
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:20
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:48
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.html.heex:40
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:20
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:90
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:31
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:101
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "edit"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -113,7 +113,7 @@ msgstr ""
 | 
			
		||||
msgid "save"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:116
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:127
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "add step"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -146,24 +146,24 @@ msgid "copy invite link for %{invite_name}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.html.heex:48
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:28
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:49
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "delete %{context_slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/note_live/index.html.heex:48
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:28
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:56
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "delete %{note_slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.html.heex:49
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:28
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:39
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "delete %{pipeline_slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:99
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:110
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "delete %{step_title}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -188,7 +188,7 @@ msgstr ""
 | 
			
		||||
msgid "edit %{pipeline_slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:88
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:99
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "edit %{step_title}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -198,12 +198,12 @@ msgstr ""
 | 
			
		||||
msgid "edit invite for %{invite_name}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:78
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:89
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "move %{step_title} down"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:62
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:73
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "move %{step_title} up"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 
 | 
			
		||||
@@ -16,9 +16,9 @@ msgstr ""
 | 
			
		||||
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:15
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:36
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:43
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:26
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "Visibility: %{visibility}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -28,7 +28,7 @@ msgstr ""
 | 
			
		||||
msgid "accessible from any internet-capable device"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:85
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:94
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "admins:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -117,12 +117,12 @@ msgstr ""
 | 
			
		||||
msgid "features"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:149
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:158
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "help translate"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:80
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:89
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "instance information"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -132,7 +132,7 @@ msgstr ""
 | 
			
		||||
msgid "invite disabled"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:105
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:114
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "invite only"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -216,7 +216,7 @@ msgstr ""
 | 
			
		||||
msgid "provide context around a single topic and hotlink to your notes"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:104
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:113
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "public signups"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -226,12 +226,12 @@ msgstr ""
 | 
			
		||||
msgid "register"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:101
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:110
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "registration:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:160
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:169
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "report bugs or request features"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -287,12 +287,12 @@ msgstr ""
 | 
			
		||||
msgid "users"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:111
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:120
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "version:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:138
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:147
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "view the source code"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -349,11 +349,11 @@ msgid "%{slug} created"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.ex:65
 | 
			
		||||
#: lib/memex_web/live/context_live/show.ex:42
 | 
			
		||||
#: lib/memex_web/live/context_live/show.ex:44
 | 
			
		||||
#: lib/memex_web/live/note_live/index.ex:65
 | 
			
		||||
#: lib/memex_web/live/note_live/show.ex:42
 | 
			
		||||
#: lib/memex_web/live/note_live/show.ex:45
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.ex:65
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:77
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:78
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "%{slug} deleted"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -366,11 +366,11 @@ msgid "%{slug} saved"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.ex:25
 | 
			
		||||
#: lib/memex_web/live/context_live/show.ex:49
 | 
			
		||||
#: lib/memex_web/live/context_live/show.ex:51
 | 
			
		||||
#: lib/memex_web/live/note_live/index.ex:25
 | 
			
		||||
#: lib/memex_web/live/note_live/show.ex:49
 | 
			
		||||
#: lib/memex_web/live/note_live/show.ex:52
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.ex:24
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:123
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:124
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "edit %{slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -421,7 +421,7 @@ msgstr ""
 | 
			
		||||
msgid "what is this?"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:48
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:59
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "%{position}. %{title}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -431,7 +431,7 @@ msgstr ""
 | 
			
		||||
msgid "%{title} created"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:95
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:96
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "%{title} deleted"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -441,17 +441,17 @@ msgstr ""
 | 
			
		||||
msgid "%{title} saved"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:125
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.ex:126
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "add step to %{slug}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:42
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:53
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "no steps"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:37
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:48
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "steps:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -597,7 +597,7 @@ msgstr ""
 | 
			
		||||
msgid "uses: %{uses_count}"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:128
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:137
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "get involved"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -720,3 +720,38 @@ msgstr ""
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "(This note is empty)"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:18
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:18
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:15
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "Backlinked by:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:24
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:24
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:21
 | 
			
		||||
#, elixir-autogen, elixir-format, fuzzy
 | 
			
		||||
msgid "[%{slug}]"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:31
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:31
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "[[%{slug}]]"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:38
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "[[[%{slug}]]]"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:77
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "backlinks:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:80
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "view referencing items from the referenced item"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 
 | 
			
		||||
@@ -67,12 +67,12 @@ msgid "are you sure you want to make %{invite_name} unlimited?"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.html.heex:47
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:27
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:48
 | 
			
		||||
#: lib/memex_web/live/note_live/index.html.heex:47
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:27
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:55
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.html.heex:47
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:27
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:98
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:38
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:109
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "are you sure?"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -87,7 +87,7 @@ msgstr ""
 | 
			
		||||
msgid "language updated successfully."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:90
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:99
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "register to setup memEx"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 
 | 
			
		||||
@@ -66,12 +66,12 @@ msgid "are you sure you want to make %{invite_name} unlimited?"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/context_live/index.html.heex:47
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:27
 | 
			
		||||
#: lib/memex_web/live/context_live/show.html.heex:48
 | 
			
		||||
#: lib/memex_web/live/note_live/index.html.heex:47
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:27
 | 
			
		||||
#: lib/memex_web/live/note_live/show.html.heex:55
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/index.html.heex:47
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:27
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:98
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:38
 | 
			
		||||
#: lib/memex_web/live/pipeline_live/show.html.heex:109
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "are you sure?"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -86,7 +86,7 @@ msgstr ""
 | 
			
		||||
msgid "language updated successfully."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:90
 | 
			
		||||
#: lib/memex_web/live/home_live.html.heex:99
 | 
			
		||||
#, elixir-autogen, elixir-format
 | 
			
		||||
msgid "register to setup memEx"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
# memEx
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
memEx is an easy way to digitize the structured processes of your life.
 | 
			
		||||
A structured personal knowledge base, inspired by zettlekasten and org-mode.
 | 
			
		||||
 | 
			
		||||
- Notes: Document notes about individual items or concepts
 | 
			
		||||
- Contexts: Provide context around a single topic and hotlink to individual
 | 
			
		||||
@@ -14,6 +14,7 @@ memEx is an easy way to digitize the structured processes of your life.
 | 
			
		||||
- Multi-user: Built with sharing and collaboration in mind
 | 
			
		||||
- Privacy: Privacy controls on a per-note, context or pipeline basis
 | 
			
		||||
- Convenient: Accessible from any internet-capable device
 | 
			
		||||
- Backlinks: View referencing items from the referenced item
 | 
			
		||||
 | 
			
		||||
# Installation
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -108,6 +108,25 @@ defmodule Memex.ContextsTest do
 | 
			
		||||
      assert Contexts.get_context_by_slug("c", user) == context
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    test "backlink/2 returns contexts with backlinks", %{user: user} do
 | 
			
		||||
      context_fixture(%{slug: "a", visibility: :public}, user)
 | 
			
		||||
      assert Contexts.backlink("[a]", user) == []
 | 
			
		||||
 | 
			
		||||
      context = context_fixture(%{slug: "b", content: "[a]", visibility: :unlisted}, user)
 | 
			
		||||
      assert Contexts.backlink("[a]", user) == [context]
 | 
			
		||||
      assert Contexts.backlink("[b]", user) == []
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    test "backlink/2 only returns public contexts for empty user", %{user: user} do
 | 
			
		||||
      context_fixture(%{slug: "a", visibility: :public}, user)
 | 
			
		||||
      context_fixture(%{slug: "b", content: "[a]", visibility: :unlisted}, user)
 | 
			
		||||
      context_fixture(%{slug: "c", content: "[a]", visibility: :private}, user)
 | 
			
		||||
      assert Contexts.backlink("[a]", nil) == []
 | 
			
		||||
 | 
			
		||||
      context = context_fixture(%{slug: "d", content: "[a]", visibility: :public}, user)
 | 
			
		||||
      assert Contexts.backlink("[a]", nil) == [context]
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    test "create_context/1 with valid data creates a context", %{user: user} do
 | 
			
		||||
      valid_attrs = %{
 | 
			
		||||
        content: "some content",
 | 
			
		||||
 
 | 
			
		||||
@@ -109,6 +109,25 @@ defmodule Memex.NotesTest do
 | 
			
		||||
      assert Notes.get_note_by_slug("c", user) == note
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    test "backlink/2 returns notes with backlinks", %{user: user} do
 | 
			
		||||
      note_fixture(%{slug: "a", visibility: :public}, user)
 | 
			
		||||
      assert Notes.backlink("[a]", user) == []
 | 
			
		||||
 | 
			
		||||
      note = note_fixture(%{slug: "b", content: "[a]", visibility: :unlisted}, user)
 | 
			
		||||
      assert Notes.backlink("[a]", user) == [note]
 | 
			
		||||
      assert Notes.backlink("[b]", user) == []
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    test "backlink/2 only returns public notes for empty user", %{user: user} do
 | 
			
		||||
      note_fixture(%{slug: "a", visibility: :public}, user)
 | 
			
		||||
      note_fixture(%{slug: "b", content: "[a]", visibility: :unlisted}, user)
 | 
			
		||||
      note_fixture(%{slug: "c", content: "[a]", visibility: :private}, user)
 | 
			
		||||
      assert Notes.backlink("[a]", nil) == []
 | 
			
		||||
 | 
			
		||||
      note = note_fixture(%{slug: "d", content: "[a]", visibility: :public}, user)
 | 
			
		||||
      assert Notes.backlink("[a]", nil) == [note]
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    test "create_note/1 with valid data creates a note", %{user: user} do
 | 
			
		||||
      valid_attrs = %{
 | 
			
		||||
        content: "some content",
 | 
			
		||||
 
 | 
			
		||||
@@ -108,6 +108,25 @@ defmodule Memex.PipelinesTest do
 | 
			
		||||
      assert Pipelines.get_pipeline_by_slug("c", user) == pipeline
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    test "backlink/2 returns pipelines with backlinks", %{user: user} do
 | 
			
		||||
      pipeline_fixture(%{slug: "a", visibility: :public}, user)
 | 
			
		||||
      assert Pipelines.backlink("[a]", user) == []
 | 
			
		||||
 | 
			
		||||
      pipeline = pipeline_fixture(%{slug: "b", description: "[a]", visibility: :unlisted}, user)
 | 
			
		||||
      assert Pipelines.backlink("[a]", user) == [pipeline]
 | 
			
		||||
      assert Pipelines.backlink("[b]", user) == []
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    test "backlink/2 only returns public pipelines for empty user", %{user: user} do
 | 
			
		||||
      pipeline_fixture(%{slug: "a", visibility: :public}, user)
 | 
			
		||||
      pipeline_fixture(%{slug: "b", description: "[a]", visibility: :unlisted}, user)
 | 
			
		||||
      pipeline_fixture(%{slug: "c", description: "[a]", visibility: :private}, user)
 | 
			
		||||
      assert Pipelines.backlink("[a]", nil) == []
 | 
			
		||||
 | 
			
		||||
      pipeline = pipeline_fixture(%{slug: "d", description: "[a]", visibility: :public}, user)
 | 
			
		||||
      assert Pipelines.backlink("[a]", nil) == [pipeline]
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    test "create_pipeline/1 with valid data creates a pipeline", %{user: user} do
 | 
			
		||||
      valid_attrs = %{
 | 
			
		||||
        description: "some description",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user