From f6f71d1ee5649712791f8dea9d1b482071877ba6 Mon Sep 17 00:00:00 2001 From: Ryan Pandya Date: Wed, 7 Sep 2022 15:45:38 -0700 Subject: [PATCH] Broken! --- .../apps/logsrv_api/lib/logsrv_api/filesystem.ex | 16 ++++++++++++++-- logsrv/apps/logsrv_api/lib/logsrv_api/page.ex | 11 ++++++----- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/logsrv/apps/logsrv_api/lib/logsrv_api/filesystem.ex b/logsrv/apps/logsrv_api/lib/logsrv_api/filesystem.ex index 3dc049f..0db6319 100644 --- a/logsrv/apps/logsrv_api/lib/logsrv_api/filesystem.ex +++ b/logsrv/apps/logsrv_api/lib/logsrv_api/filesystem.ex @@ -24,10 +24,22 @@ defmodule LogsrvApi.Filesystem do def all(Page) do dir(:pages) |> File.ls! - |> Enum.sort |> Enum.map(fn(fd) -> - Page.init(fd) + case fd |> File.ls do + {:error, _} -> + IO.puts("Error on #{fd}") + Page.init(fd) + pages -> + IO.puts(pages) + pages |> Enum.map(fn(page) -> + "pages/#{page}" |> Page.init + end) + end end) + |> Enum.sort(&sort/2) + end + def sort(a, b) do + Timex.compare(a.date, b.date) > 0 end def all(Journal) do diff --git a/logsrv/apps/logsrv_api/lib/logsrv_api/page.ex b/logsrv/apps/logsrv_api/lib/logsrv_api/page.ex index 35d4d9b..716e6a5 100644 --- a/logsrv/apps/logsrv_api/lib/logsrv_api/page.ex +++ b/logsrv/apps/logsrv_api/lib/logsrv_api/page.ex @@ -49,13 +49,14 @@ defmodule LogsrvApi.Page do {:nil, Earmark.as_html!(data)} end end - defp parse_yaml(yaml) do - [parsed] = :yamerl_constr.string(yaml) - parsed + def parse_yaml(yaml) do + yaml + |> :yamerl_constr.string + |> List.flatten end defp extract({props, content}, post) do %{post | - title: get_prop(props, "title") || post.title, + title: get_prop(props, "title") |> to_string || post.title, tags: get_prop(props, "tags"), content: content} end @@ -65,7 +66,7 @@ defmodule LogsrvApi.Page do else case :proplists.get_value(String.to_char_list(key), props) do :undefined -> nil - x -> to_string(x) + x -> x end end end