refactor(sterni/blërg): use namespaces for entries

The array listing was pretty nice for debugging, but having arrays where
every element has a different meaning as an interface between different
parts of the code is not great. Refactoring will be less frustrating if
we just store everything using a key-value scheme in namespaces.

Change-Id: I806fea247b6f996dbdd93df24f3fdb762340f043
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13017
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
This commit is contained in:
sterni 2025-01-06 17:14:26 +01:00 committed by clbot
parent eeba67de1c
commit 5db216b4ef

View file

@ -52,8 +52,10 @@ MailNotesBackend ← {𝕊 mailDir:
th ms,headerNamesheaderNames Hdrs ms
dh Dates ms
ah (("com.apple.mail-note")˘/) thdhms
{𝕊 ·idtitledatepath:
AsciiDown id, title, date, {"execline-cd"𝕩"mshow""-x"path R "mn2html"path}
{𝕊 ·uuidtitletimepath:
title time
id AsciiDown uuid
Render {"execline-cd"𝕩"mshow""-x"path R "mn2html"path}
}˘ ah
}
}
@ -70,11 +72,11 @@ RenderPage ← {
<h1>"‿𝕨‿"</h1>"𝕩
}
WriteEntry {outDir 𝕊 idtitle·renderEntry:
entryDir MkDirP outDir •file.At id
(entryDir •file.At "index.html") •file.Chars title RenderPage RenderEntry entryDir
WriteEntry {outDir 𝕊 entry:
entryDir MkDirP outDir •file.At entry.id
(entryDir •file.At "index.html") •file.Chars entry.title RenderPage entry.Render entryDir
# TODO(sterni): urlencode
"<li><a href="""id""">"title"</a></li>"
"<li><a href="""entry.id""">"entry.title"</a></li>"
}
# Main
@ -87,10 +89,10 @@ mailDir‿outDir ← {
}
m MailNotesBackend mailDir
entries (( 2˘)) m.Entries @
entries (<"time") (((•ns.Get˜¨))) m.Entries @
title "blërg"
MkDirP outDir
entryIndex (< outDirWriteEntry)˘ entries
entryIndex outDirWriteEntry¨ entries
(outDir •file.At "index.html") •file.Chars title RenderPage "<ul>"entryIndex"</ul>"