From 680d11669556e16708f97e733d390b41d69fee5b Mon Sep 17 00:00:00 2001 From: Robert Prehn <3952444+prehnRA@users.noreply.github.com> Date: Sat, 30 Nov 2024 13:01:15 -0600 Subject: [PATCH] feat: Add basic dev server --- lib/mix/tasks/pre_dot_hn/dev_server.ex | 8 ++++++ lib/pre_dot_hn.ex | 17 +++++++------ lib/pre_dot_hn/application.ex | 12 +++++++++ lib/pre_dot_hn/dev_server.ex | 34 ++++++++++++++++++++++++++ lib/pre_dot_hn/frontmatter.ex | 3 +++ mix.exs | 5 +++- mix.lock | 9 ++++--- 7 files changed, 77 insertions(+), 11 deletions(-) create mode 100644 lib/mix/tasks/pre_dot_hn/dev_server.ex create mode 100644 lib/pre_dot_hn/application.ex create mode 100644 lib/pre_dot_hn/dev_server.ex diff --git a/lib/mix/tasks/pre_dot_hn/dev_server.ex b/lib/mix/tasks/pre_dot_hn/dev_server.ex new file mode 100644 index 0000000..fbd58e3 --- /dev/null +++ b/lib/mix/tasks/pre_dot_hn/dev_server.ex @@ -0,0 +1,8 @@ +defmodule Mix.Tasks.PreDotHn.DevServer do + use Mix.Task + + def run(_args) do + Application.put_env(:pre_dot_hn, :serve_endpoints, true, persistent: true) + Mix.Tasks.Run.run(["--no-halt"]) + end +end diff --git a/lib/pre_dot_hn.ex b/lib/pre_dot_hn.ex index b5d3646..74ebf25 100644 --- a/lib/pre_dot_hn.ex +++ b/lib/pre_dot_hn.ex @@ -76,7 +76,7 @@ defmodule PreDotHn do body = ~H""" <%= for post <- @posts do %> -
+
<%= post.date %>  <%= post.title %>
@@ -93,7 +93,7 @@ defmodule PreDotHn do end def make_feed(posts) do - posts = Enum.take(posts, 10) + posts = posts |> Enum.reject(& &1.hidden) |> Enum.take(10) base = Application.get_env(:pre_dot_hn, :base, "/") assigns = %{base: base, posts: posts} @@ -166,6 +166,9 @@ defmodule PreDotHn do def make_sitemap(posts) do posts + |> Stream.reject(fn %{hidden: hidden} -> + hidden + end) |> Stream.map( &%Sitemapper.URL{lastmod: &1[:updated_at] || &1.date, loc: "https://pre.hn/#{&1.slug}/"} ) @@ -218,10 +221,10 @@ defmodule PreDotHn do def menu(assigns) do ~H""" -