rename to memEx

This commit is contained in:
shibao 2022-11-26 20:36:09 -05:00
parent 1802e54caf
commit 5ee7071dff
13 changed files with 120 additions and 98 deletions

View File

@ -1,6 +1,6 @@
kind: pipeline kind: pipeline
type: docker type: docker
name: memex name: memEx
steps: steps:
- name: restore-cache - name: restore-cache

View File

@ -20,7 +20,7 @@ defmodule MemexWeb.Components.Topbar do
navigate={Routes.live_path(Endpoint, HomeLive)} navigate={Routes.live_path(Endpoint, HomeLive)}
class="mx-2 my-1 leading-5 text-xl text-primary-400 hover:underline" class="mx-2 my-1 leading-5 text-xl text-primary-400 hover:underline"
> >
<%= gettext("memex") %> <%= gettext("memEx") %>
</.link> </.link>
<%= if @title_content do %> <%= if @title_content do %>

View File

@ -0,0 +1,12 @@
defmodule MemexWeb.FaqLive do
@moduledoc """
Liveview for the faq page
"""
use MemexWeb, :live_view
@impl true
def mount(_params, _session, socket) do
{:ok, socket |> assign(page_title: gettext("faq"))}
end
end

View File

@ -0,0 +1,18 @@
<div class="mx-auto flex flex-col justify-center items-stretch space-y-8 max-w-3xl">
<h1 class="title text-primary-400 text-2xl text-center">
<%= gettext("faq") %>
</h1>
<hr class="hr" />
<ul class="flex flex-col justify-start items-stretch space-y-4">
<li class="flex flex-col justify-start items-stretch space-y-2">
<b class="whitespace-nowrap">
<%= gettext("what is this?") %>
</b>
<p>
<%= gettext("this is a memex, used to document your notes") %>
</p>
</li>
</ul>
</div>

View File

@ -5,41 +5,11 @@ defmodule MemexWeb.HomeLive do
use MemexWeb, :live_view use MemexWeb, :live_view
alias Memex.Accounts alias Memex.Accounts
alias MemexWeb.{Endpoint, FaqLive}
@impl true @impl true
def mount(_params, _session, socket) do def mount(_params, _session, socket) do
admins = Accounts.list_users_by_role(:admin) admins = Accounts.list_users_by_role(:admin)
{:ok, socket |> assign(page_title: gettext("home"), query: "", results: %{}, admins: admins)} {:ok, socket |> assign(page_title: gettext("home"), admins: admins)}
end
@impl true
def handle_event("suggest", %{"q" => query}, socket) do
{:noreply, socket |> assign(results: search(query), query: query)}
end
@impl true
def handle_event("search", %{"q" => query}, socket) do
case search(query) do
%{^query => vsn} ->
{:noreply, socket |> redirect(external: "https://hexdocs.pm/#{query}/#{vsn}")}
_ ->
{:noreply,
socket
|> put_flash(:error, "No dependencies found matching \"#{query}\"")
|> assign(results: %{}, query: query)}
end
end
defp search(query) do
if not MemexWeb.Endpoint.config(:code_reloader) do
raise "action disabled when not in development"
end
for {app, desc, vsn} <- Application.started_applications(),
app = to_string(app),
String.starts_with?(app, query) and not List.starts_with?(desc, ~c"ERTS"),
into: %{},
do: {app, vsn}
end end
end end

View File

@ -1,13 +1,12 @@
<div class="flex flex-col justify-center items-center text-center space-y-4"> <div class="mx-auto flex flex-col justify-center items-stretch space-y-4 max-w-3xl">
<h1 class="title text-primary-400 text-2xl"> <h1 class="title text-primary-400 text-2xl text-center">
<%= gettext("memex") %> <%= gettext("memEx") %>
</h1> </h1>
<hr class="hr" /> <hr class="hr" />
<ul class="flex flex-col space-y-4 text-center"> <ul class="flex flex-col space-y-4 text-center">
<li class="flex flex-col justify-center items-center <li class="flex flex-col justify-center items-center space-y-2">
space-y-2">
<b class="whitespace-nowrap"> <b class="whitespace-nowrap">
<%= gettext("notes:") %> <%= gettext("notes:") %>
</b> </b>
@ -16,8 +15,7 @@
</p> </p>
</li> </li>
<li class="flex flex-col justify-center items-center <li class="flex flex-col justify-center items-center space-y-2">
space-y-2">
<b class="whitespace-nowrap"> <b class="whitespace-nowrap">
<%= gettext("contexts:") %> <%= gettext("contexts:") %>
</b> </b>
@ -26,8 +24,7 @@
</p> </p>
</li> </li>
<li class="flex flex-col justify-center items-center <li class="flex flex-col justify-center items-center space-y-2">
space-y-2">
<b class="whitespace-nowrap"> <b class="whitespace-nowrap">
<%= gettext("pipelines:") %> <%= gettext("pipelines:") %>
</b> </b>
@ -35,6 +32,15 @@
<%= gettext("document your processes, attaching contexts to each step") %> <%= gettext("document your processes, attaching contexts to each step") %>
</p> </p>
</li> </li>
<li class="flex flex-col justify-center items-center space-y-2">
<.link
navigate={Routes.live_path(Endpoint, FaqLive)}
class="link title text-primary-400 text-lg"
>
<%= gettext("read more on how to use %{name}", name: "memEx") %>
</.link>
</li>
</ul> </ul>
<hr class="hr" /> <hr class="hr" />
@ -44,8 +50,7 @@
<%= gettext("features") %> <%= gettext("features") %>
</h2> </h2>
<li class="flex flex-col justify-center items-center <li class="flex flex-col justify-center items-center space-y-2">
space-y-2">
<b class="whitespace-nowrap"> <b class="whitespace-nowrap">
<%= gettext("multi-user:") %> <%= gettext("multi-user:") %>
</b> </b>
@ -54,8 +59,7 @@
</p> </p>
</li> </li>
<li class="flex flex-col justify-center items-center <li class="flex flex-col justify-center items-center space-y-2">
space-y-2">
<b class="whitespace-nowrap"> <b class="whitespace-nowrap">
<%= gettext("privacy:") %> <%= gettext("privacy:") %>
</b> </b>
@ -64,8 +68,7 @@
</p> </p>
</li> </li>
<li class="flex flex-col justify-center items-center <li class="flex flex-col justify-center items-center space-y-2">
space-y-2">
<b class="whitespace-nowrap"> <b class="whitespace-nowrap">
<%= gettext("convenient:") %> <%= gettext("convenient:") %>
</b> </b>
@ -88,16 +91,13 @@
</b> </b>
<p> <p>
<%= if @admins |> Enum.empty?() do %> <%= if @admins |> Enum.empty?() do %>
<.link <.link href={Routes.user_registration_path(Endpoint, :new)} class="link">
href={Routes.user_registration_path(MemexWeb.Endpoint, :new)} <%= dgettext("prompts", "register to setup %{name}", name: "memEx") %>
class="hover:underline"
>
<%= dgettext("prompts", "register to setup %{name}", name: "memex") %>
</.link> </.link>
<% else %> <% else %>
<div class="flex flex-wrap justify-center space-x-2"> <div class="flex flex-wrap justify-center space-x-2">
<%= for admin <- @admins do %> <%= for admin <- @admins do %>
<a class="hover:underline" href={"mailto:#{admin.email}"}> <a class="link" href={"mailto:#{admin.email}"}>
<%= admin.email %> <%= admin.email %>
</a> </a>
<% end %> <% end %>
@ -109,7 +109,7 @@
<li class="flex flex-row justify-center space-x-2"> <li class="flex flex-row justify-center space-x-2">
<b><%= gettext("registration:") %></b> <b><%= gettext("registration:") %></b>
<p> <p>
<%= Application.get_env(:memex, MemexWeb.Endpoint)[:registration] <%= Application.get_env(:memex, Endpoint)[:registration]
|> case do |> case do
"public" -> gettext("public signups") "public" -> gettext("public signups")
_ -> gettext("invite only") _ -> gettext("invite only")
@ -121,7 +121,7 @@
<b><%= gettext("version:") %></b> <b><%= gettext("version:") %></b>
<.link <.link
href="https://gitea.bubbletea.dev/shibao/memex/src/branch/stable/CHANGELOG.md" href="https://gitea.bubbletea.dev/shibao/memex/src/branch/stable/CHANGELOG.md"
class="flex flex-row justify-center items-center space-x-2 hover:underline" class="flex flex-row justify-center items-center space-x-2 link"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
> >
@ -141,7 +141,7 @@
<li class="flex flex-col justify-center space-x-2"> <li class="flex flex-col justify-center space-x-2">
<.link <.link
href="https://gitea.bubbletea.dev/shibao/memex" href="https://gitea.bubbletea.dev/shibao/memex"
class="flex flex-row justify-center items-center space-x-2 hover:underline" class="flex flex-row justify-center items-center space-x-2 link"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
> >
@ -152,7 +152,7 @@
<li class="flex flex-col justify-center space-x-2"> <li class="flex flex-col justify-center space-x-2">
<.link <.link
href="https://weblate.bubbletea.dev/engage/memex" href="https://weblate.bubbletea.dev/engage/memex"
class="flex flex-row justify-center items-center space-x-2 hover:underline" class="flex flex-row justify-center items-center space-x-2 link"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
> >
@ -163,7 +163,7 @@
<li class="flex flex-col justify-center space-x-2"> <li class="flex flex-col justify-center space-x-2">
<.link <.link
href="https://gitea.bubbletea.dev/shibao/memex/issues/new" href="https://gitea.bubbletea.dev/shibao/memex/issues/new"
class="flex flex-row justify-center items-center space-x-2 hover:underline" class="flex flex-row justify-center items-center space-x-2 link"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
> >

View File

@ -36,6 +36,7 @@ defmodule MemexWeb.Router do
pipe_through :browser pipe_through :browser
live "/", HomeLive live "/", HomeLive
live "/faq", FaqLive
end end
## Authentication routes ## Authentication routes

View File

@ -5,8 +5,8 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<%= csrf_meta_tag() %> <%= csrf_meta_tag() %>
<.live_title suffix={" | #{gettext("memex")}"}> <.live_title suffix={" | #{gettext("memEx")}"}>
<%= assigns[:page_title] || gettext("memex") %> <%= assigns[:page_title] || gettext("memEx") %>
</.live_title> </.live_title>
<link phx-track-static rel="stylesheet" href={Routes.static_path(@conn, "/css/app.css")} /> <link phx-track-static rel="stylesheet" href={Routes.static_path(@conn, "/css/app.css")} />
<script <script

View File

@ -15,9 +15,9 @@ defmodule Memex.MixProject do
consolidate_protocols: Mix.env() not in [:dev, :test], consolidate_protocols: Mix.env() not in [:dev, :test],
preferred_cli_env: [test: :test, "test.all": :test], preferred_cli_env: [test: :test, "test.all": :test],
# ExDoc # ExDoc
name: "memex", name: "memEx",
source_url: "https://gitea.bubbletea.dev/shibao/memex", source_url: "https://gitea.bubbletea.dev/shibao/memEx",
homepage_url: "https://gitea.bubbletea.dev/shibao/memex", homepage_url: "https://gitea.bubbletea.dev/shibao/memEx",
docs: [ docs: [
# The main page in the docs # The main page in the docs
main: "README.md", main: "README.md",

View File

@ -87,17 +87,17 @@ msgstr ""
msgid "Visibility: %{visibility}" msgid "Visibility: %{visibility}"
msgstr "" msgstr ""
#: lib/memex_web/live/home_live.html.heex:73 #: lib/memex_web/live/home_live.html.heex:76
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "accessible from any internet-capable device" msgid "accessible from any internet-capable device"
msgstr "" msgstr ""
#: lib/memex_web/live/home_live.html.heex:87 #: lib/memex_web/live/home_live.html.heex:90
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "admins:" msgid "admins:"
msgstr "" msgstr ""
#: lib/memex_web/live/home_live.html.heex:53 #: lib/memex_web/live/home_live.html.heex:58
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "built with sharing and collaboration in mind" msgid "built with sharing and collaboration in mind"
msgstr "" msgstr ""
@ -122,12 +122,12 @@ msgstr ""
msgid "contexts" msgid "contexts"
msgstr "" msgstr ""
#: lib/memex_web/live/home_live.html.heex:22 #: lib/memex_web/live/home_live.html.heex:20
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "contexts:" msgid "contexts:"
msgstr "" msgstr ""
#: lib/memex_web/live/home_live.html.heex:70 #: lib/memex_web/live/home_live.html.heex:73
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "convenient:" msgid "convenient:"
msgstr "" msgstr ""
@ -143,12 +143,12 @@ msgstr ""
msgid "disable" msgid "disable"
msgstr "" msgstr ""
#: lib/memex_web/live/home_live.html.heex:15 #: lib/memex_web/live/home_live.html.heex:14
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "document notes about individual items or concepts" msgid "document notes about individual items or concepts"
msgstr "" msgstr ""
#: lib/memex_web/live/home_live.html.heex:35 #: lib/memex_web/live/home_live.html.heex:32
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "document your processes, attaching contexts to each step" msgid "document your processes, attaching contexts to each step"
msgstr "" msgstr ""
@ -178,7 +178,7 @@ msgstr ""
msgid "english" msgid "english"
msgstr "" msgstr ""
#: lib/memex_web/live/home_live.html.heex:44 #: lib/memex_web/live/home_live.html.heex:50
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "features" msgid "features"
msgstr "" msgstr ""
@ -193,7 +193,7 @@ msgstr ""
msgid "help translate" msgid "help translate"
msgstr "" msgstr ""
#: lib/memex_web/live/home_live.html.heex:82 #: lib/memex_web/live/home_live.html.heex:85
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "instance information" msgid "instance information"
msgstr "" msgstr ""
@ -220,15 +220,7 @@ msgstr ""
msgid "log in" msgid "log in"
msgstr "" msgstr ""
#: lib/memex_web/components/topbar.ex:23 #: lib/memex_web/live/home_live.html.heex:55
#: lib/memex_web/live/home_live.html.heex:3
#: lib/memex_web/templates/layout/root.html.heex:8
#: lib/memex_web/templates/layout/root.html.heex:9
#, elixir-autogen, elixir-format
msgid "memex"
msgstr ""
#: lib/memex_web/live/home_live.html.heex:50
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "multi-user:" msgid "multi-user:"
msgstr "" msgstr ""
@ -261,7 +253,7 @@ msgstr ""
msgid "notes" msgid "notes"
msgstr "" msgstr ""
#: lib/memex_web/live/home_live.html.heex:12 #: lib/memex_web/live/home_live.html.heex:11
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "notes:" msgid "notes:"
msgstr "" msgstr ""
@ -274,22 +266,22 @@ msgstr ""
msgid "pipelines" msgid "pipelines"
msgstr "" msgstr ""
#: lib/memex_web/live/home_live.html.heex:32 #: lib/memex_web/live/home_live.html.heex:29
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "pipelines:" msgid "pipelines:"
msgstr "" msgstr ""
#: lib/memex_web/live/home_live.html.heex:63 #: lib/memex_web/live/home_live.html.heex:67
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "privacy controls on a per-note, context or pipeline basis" msgid "privacy controls on a per-note, context or pipeline basis"
msgstr "" msgstr ""
#: lib/memex_web/live/home_live.html.heex:60 #: lib/memex_web/live/home_live.html.heex:64
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "privacy:" msgid "privacy:"
msgstr "" msgstr ""
#: lib/memex_web/live/home_live.html.heex:25 #: lib/memex_web/live/home_live.html.heex:23
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "provide context around a single topic and hotlink to your notes" msgid "provide context around a single topic and hotlink to your notes"
msgstr "" msgstr ""
@ -473,7 +465,7 @@ msgstr ""
msgid "%{slug} could not be found" msgid "%{slug} could not be found"
msgstr "" msgstr ""
#: lib/memex_web/live/home_live.ex:12 #: lib/memex_web/live/home_live.ex:13
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "home" msgid "home"
msgstr "" msgstr ""
@ -482,3 +474,32 @@ msgstr ""
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "use [[note-slug]] to link to a note" msgid "use [[note-slug]] to link to a note"
msgstr "" msgstr ""
#: lib/memex_web/live/faq_live.ex:10
#: lib/memex_web/live/faq_live.html.heex:3
#, elixir-autogen, elixir-format
msgid "faq"
msgstr ""
#: lib/memex_web/components/topbar.ex:23
#: lib/memex_web/live/home_live.html.heex:3
#: lib/memex_web/templates/layout/root.html.heex:8
#: lib/memex_web/templates/layout/root.html.heex:9
#, elixir-autogen, elixir-format
msgid "memEx"
msgstr ""
#: lib/memex_web/live/home_live.html.heex:41
#, elixir-autogen, elixir-format
msgid "read more on how to use %{name}"
msgstr ""
#: lib/memex_web/live/faq_live.html.heex:14
#, elixir-autogen, elixir-format
msgid "this is a memex, used to document your notes"
msgstr ""
#: lib/memex_web/live/faq_live.html.heex:11
#, elixir-autogen, elixir-format
msgid "what is this?"
msgstr ""

View File

@ -1,6 +1,6 @@
# Memex # memEx
memex is an easy way to digitize the structured processes of your life. memEx is an easy way to digitize the structured processes of your life.
- Notes: Document notes about individual items or concepts - Notes: Document notes about individual items or concepts
- Contexts: Provide context around a single topic and hotlink to individual - Contexts: Provide context around a single topic and hotlink to individual
@ -16,7 +16,7 @@ memex is an easy way to digitize the structured processes of your life.
# Installation # Installation
1. Install [Docker Compose](https://docs.docker.com/compose/install/) or alternatively [Docker Desktop](https://docs.docker.com/desktop/) on your machine. 1. Install [Docker Compose](https://docs.docker.com/compose/install/) or alternatively [Docker Desktop](https://docs.docker.com/desktop/) on your machine.
1. Copy the example [docker-compose.yml](https://gitea.bubbletea.dev/shibao/memex/src/branch/stable/docker-compose.yml). into your local machine where you want. 1. Copy the example [docker-compose.yml](https://gitea.bubbletea.dev/shibao/memEx/src/branch/stable/docker-compose.yml). into your local machine where you want.
Bind mounts are created in the same directory by default. Bind mounts are created in the same directory by default.
1. Set the configuration variables in `docker-compose.yml`. You'll need to run 1. Set the configuration variables in `docker-compose.yml`. You'll need to run
`docker run -it shibaobun/memex /app/priv/random.sh` to generate a new `docker run -it shibaobun/memex /app/priv/random.sh` to generate a new
@ -27,8 +27,8 @@ The first created user will be created as an admin.
# Configuration # Configuration
You can use the following environment variables to configure Memex in You can use the following environment variables to configure memEx in
[docker-compose.yml](https://gitea.bubbletea.dev/shibao/memex/src/branch/stable/docker-compose.yml). [docker-compose.yml](https://gitea.bubbletea.dev/shibao/memEx/src/branch/stable/docker-compose.yml).
- `HOST`: External url to generate links with. Must be set with your hosted - `HOST`: External url to generate links with. Must be set with your hosted
domain name! I.e. `memex.mywebsite.tld` domain name! I.e. `memex.mywebsite.tld`
@ -55,4 +55,4 @@ You can use the following environment variables to configure Memex in
--- ---
[![Build [![Build
Status](https://drone.bubbletea.dev/api/badges/shibao/memex/status.svg?ref=refs/heads/dev)](https://drone.bubbletea.dev/shibao/memex) Status](https://drone.bubbletea.dev/api/badges/shibao/memEx/status.svg?ref=refs/heads/dev)](https://drone.bubbletea.dev/shibao/memEx)

View File

@ -9,6 +9,6 @@ defmodule MemexWeb.HomeControllerTest do
test "GET /", %{conn: conn} do test "GET /", %{conn: conn} do
conn = get(conn, "/") conn = get(conn, "/")
assert html_response(conn, 200) =~ "memex" assert html_response(conn, 200) =~ "memEx"
end end
end end

View File

@ -5,7 +5,7 @@ defmodule MemexWeb.HomeLiveTest do
test "disconnected and connected render", %{conn: conn} do test "disconnected and connected render", %{conn: conn} do
{:ok, page_live, disconnected_html} = live(conn, "/") {:ok, page_live, disconnected_html} = live(conn, "/")
assert disconnected_html =~ "memex" assert disconnected_html =~ "memEx"
assert render(page_live) =~ "memex" assert render(page_live) =~ "memEx"
end end
end end