From e1b7e1f50709c89b7b6448bd86999a5a562f0e1b Mon Sep 17 00:00:00 2001 From: Duncan Wilkie Date: Mon, 26 Jun 2023 10:15:27 -0500 Subject: Start over cleanly --- dnw/utils.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 dnw/utils.scm (limited to 'dnw/utils.scm') diff --git a/dnw/utils.scm b/dnw/utils.scm new file mode 100644 index 0000000..e25ed97 --- /dev/null +++ b/dnw/utils.scm @@ -0,0 +1,37 @@ + +;; Shameless "borrowing" of SXML conveniences from jakob.space and bendersteed.tech. +;; A few modifications and a few additions. + +(define-module (dnw utils) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:use-module (haunt site) + #:export + (hyperlink + image + stylesheet + script + post-uri)) + +(define (hyperlink target text) + `(a (@ (href ,target)) ,text)) + +(define* (image file-name #:optional description class) + (let ((src (string-append "/assets/image/" file-name))) + (if description + (if class + `(img (@ (src ,src) (alt ,description) (title ,description) (class ,class))) + `(img (@ (src ,src) (alt ,description) (title ,description)))) + (if class + `(img (@ (src ,src) (class ,class))) + `(img (@ (src ,src))))))) + +(define (stylesheet file-name) + `(link (@ (rel "stylesheet") (href ,(format #f "/assets/css/~a" file-name))))) + +(define (script file-name) + (let ((src (string-append "/assets/js/" file-name))) + `(script (@ (src ,src))))) + +(define (post-uri site post) + (string-append "/posts/" (site-post-slug site post) ".html")) -- cgit v1.2.3