@@ -1,31 +1,12 @@ #lang pollen ◊; SPDX-License-Identifier: BlueOak-1.0.0 ◊; This file is licensed under the Blue Oak Model License 1.0.0. -◊(require pollen/template db/base racket/list racket/match) - -◊(define (fetch-series) - (define q "SELECT noun_plural, page, title FROM series ORDER BY noun_plural DESC") - (query-rows cache-conn q)) - -◊(define (series-item->txpr s) - (match-define (list n pagenode title) s) - `(li (a [[href ,pagenode]] (i ,title)))) - -◊(define (series-grouped-list) - ;; Produces '((("noun1" "p.html" "Title") ("noun1" "q.html" "Title")) (("noun2" ...) ...)) - (define init-group - (group-by first (map vector->list (fetch-series)) string-ci=?)) - - (define series-list-items - (for/list ([group (in-list init-group)]) - `(div (h2 ,(first (first group))) (ul ,@(map series-item->txpr group))))) - `(section [[class "series-list"] [style "margin-top: 1.3rem"]] ,@series-list-items)) - - +◊(require pollen/template racket/file) + ◊html$-page-head["The Local Yarn" #f]