Implementing /days
Fabio Cevasco h3rald@h3rald.com
Sun, 16 Feb 2025 15:54:04 +0100
4 files changed,
52 insertions(+),
5 deletions(-)
M
rules.min
→
rules.min
@@ -8,10 +8,10 @@ () :SPELLS
{} :DAYS ;"contents/articles" sys.ls size :articles-count -"contents/articles" 0 :articles-count +0 :articles-count 17 :projects-count "contents/grimoire" sys.ls size :grimoire-count -"contents/days" sys.ls size 2 / :days-count ;TODO approximation +0 :days-count ( symbol to-date@@ -106,13 +106,16 @@ (
symbol create-days-page (==>) ( + () :days {} "days/index" "id" dict.set "days.html" "path" dict.set ".html" "ext" dict.set "DAYS" "title" dict.set "page" "content-type" dict.set - DAYS-TEXTS ("id" dict.get stack.swap "id" dict.get <) sort "days" dict.set + DAYS dict.keys (<) sort + (DAYS swap dict.get) map + "days" dict.set projects-count "projects-count" dict.set articles-count "articles-count" dict.set grimoire-count "grimoire-count" dict.set@@ -123,7 +126,7 @@ "contents" dict.set
output-fwrite ) ) :: -;; Process /days +;; Create the Days page ( symbol process-timestamp@@ -391,6 +394,7 @@ when
meta output-cp ) if + DAYS dict.keys size @days-count DAYS day date dict.set ) ) ::
M
templates/_header.mustache
→
templates/_header.mustache
@@ -9,7 +9,7 @@ <img src="/images/logo-dark.svg" alt="H3RALD" class="logo dark-mode-hide">
</a> </h1> <div class="navlinks"> - <a href="/about/" class="navbar-link">about</a> + <a href="/days/" class="navbar-link">days</a> · <a href="/now" class="navbar-link">now</a> ·
A
templates/days.mustache
@@ -0,0 +1,41 @@
+<!DOCTYPE html> +<html lang="en"> + {{> _head}} + <body id="top"> + {{> _theme_switcher}} + <div class="main container-fluid themed-content"> + <div class="row header"> + <div class="col-xs-12 sidebar"> + {{> _header}} + </div> + </div> + <div class="row main-content"> + <article class="{{content-type}} box content"> + {{> _page_header}} + <div id="body-text" class="hyphenate"> + <p>This page is a daily media stream.</p> + <p>It contains <em>at most</em> one picture or video per day.</p> + {{#days}} + <h3 id="{{date}}">{{date}}</h3> + {{#image}} + <figure> + <img src="{{image}}" alt="{{date}}" loading="lazy" /> + {{#text}} + <figcaption> + {{text}} + </figcaption> + {{/text}} + </figure> + {{/image}} + {{/days}} + </div> + </article> + </div> + <div class="row footer"> + <div class="col-xs-12"> + {{> _footer}} + </div> + </div> + </div> + </body> +</html>