From 1651206232561663714318df1607e5a91fe70418 Mon Sep 17 00:00:00 2001 From: sterni Date: Mon, 27 Jan 2025 03:27:44 +0100 Subject: [PATCH] =?UTF-8?q?feat(sterni/bl=C3=ABrg):=20implement=20generic?= =?UTF-8?q?=20slug=20generation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This implementation is still very basic. For reference, e.g. mozilla has published a more fleshed out variant of such an algorithm: . Change-Id: Id3d76a4f9e976952dd3c98835df0de7c4f86c3bc Reviewed-on: https://cl.tvl.fyi/c/depot/+/13108 Autosubmit: sterni Reviewed-by: sterni Tested-by: BuildkiteCI --- users/sterni/blërg/blërg.bqn | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/users/sterni/blërg/blërg.bqn b/users/sterni/blërg/blërg.bqn index 37014055e..2728ffbcb 100755 --- a/users/sterni/blërg/blërg.bqn +++ b/users/sterni/blërg/blërg.bqn @@ -12,6 +12,7 @@ MkDirP ← •file.CreateDir⍟(¬•file.Exists) AsciiDown ← ('A'-'a')⊸(⊢-×⟜('A'⊸≤∧≤⟜'Z')) +Slugify ← '-'⊸⊣⍟(¬(('A'⊸≤∧'z'⊸≥)∨<⊸(⊑∊)⟜"-_0123456789"))¨ AsciiDown _join ← {(∾⟜(𝕗⊸∾))´𝕩;𝕨∾𝕗∾𝕩} @@ -65,7 +66,7 @@ MailNotesBackend ← {𝕊 config: ah ← (("com.apple.mail-note"⊸≡⊑)˘/⊢) th∾˘dh≍˘ms {𝕊 ·‿uuid‿title‿time‿path: title ⇐ ⋄ time ⇐ - id ⇐ AsciiDown uuid + id ⇐ Slugify uuid Render ⇐ {R "execline-cd"‿𝕩‿"mshow"‿"-x"‿path ⋄ R "mn2html"‿path} }˘ ah } @@ -113,6 +114,7 @@ config ← { } entries ← (<"time") ((⍒∘(•ns.Get˜¨))⊏⊢) ∾{𝕩.Entries @}¨ config.backends +# TODO(sterni): assert id uniqueness MkDirP outDir entryIndex ← outDir⊸WriteEntry¨ entries