@@ -11,17 +11,20 @@ racket/string racket/function racket/list txexpr openssl/sha1 + "cache.rkt" "dust.rkt") (provide html$-page-head html$-page-body-open + html$-series-list html$-article-open html$-article-close html$-article-listing-short + html$-page-footer html$-page-body-close html$-note-contents html$-note-listing-full html$-note-in-article html$-notes-section @@ -71,14 +74,28 @@ ◊string-append{
  • ◊(ymd->english pubdate)
    ◊|title|
  • }) + +(define (html$-page-footer) + ◊string-append{ +}) (define (html$-page-body-close) - ◊string-append{ - }) + ◊string-append{ + + ◊(html$-page-footer) + }) ;; Notes ;; (define (html$-note-contents disposition-mark disposition-verb elems) (define disposition @@ -196,5 +213,15 @@ (if (eq? pagecount pagenum) "
  • Older→
  • " (page-func (+ pagenum 1) "Older →" "nav-text"))) (string-join `(,prev-link ,@page-group ,next-link))) + +(define (series->txpr s) + `(li (a [[href ,(symbol->string (cache:series-page s))]] + (i ,(cache:series-title s))))) + +(define (html$-series-list) + (define series-list-items + (for/list ([group (in-list (series-grouped-list))]) + `(div (h2 ,(cache:series-noun-plural (first group))) (ul ,@(map series->txpr group))))) + (->html `(section [[class "column-list"] [style "margin-top: 1.3rem"]] ,@series-list-items)))