From d4830cdd422258a7c91a5ed07af50f8c208a29ee Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Tue, 15 Aug 2023 23:33:17 -0500 Subject: A new start (again) --- lib/config.sld | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 lib/config.sld (limited to 'lib/config.sld') diff --git a/lib/config.sld b/lib/config.sld new file mode 100644 index 0000000..bdd6ef5 --- /dev/null +++ b/lib/config.sld @@ -0,0 +1,45 @@ +;;; (boudin config) --- default values for configuration options +;; +;; To change these, make a `config.scm' in your site's root directory and change +;; these. They're all parameters so .. change em like that. + +(define-library (boudin config) + (import (scheme base) + (boudin schmaltz) + ;; not portable + (chicken pathname) + (html-parser) + ) + + (export site-url site-dest + page-path-transformers page-text-transformers + page-template index-template feed-template) + + (begin + ;; Site information + (define site-url + (make-parameter "example.com")) + (define site-dest + (make-parameter "out/")) + ;; Transformers + (define page-path-transformers + (make-parameter + (list (lambda (path) (make-pathname (site-dest) path))))) + (define page-text-transformers + (make-parameter + (list wrap-paragraphs + render-string + html->sxml))) + ;; Templates --- note that we use quote but include unquote forms here. + ;; This is to simplify the configuration and to avoid a cyclical dependency + ;; with (boudin types). + (define page-template + (make-parameter + '(html (@ (lang "en-us")) + (head (title (or (page-ref pg "title") "[untitled]"))) + (body ,@(page-sxml pg))))) + (define index-template + (make-parameter 'todo)) + (define feed-template + (make-parameter 'todo)) + )) -- cgit 1.4.1-21-gabe81