diff options
author | Duncan Wilkie <antigravityd@gmail.com> | 2023-06-26 10:15:27 -0500 |
---|---|---|
committer | Duncan Wilkie <antigravityd@gmail.com> | 2023-06-26 10:15:27 -0500 |
commit | e1b7e1f50709c89b7b6448bd86999a5a562f0e1b (patch) | |
tree | 1cfd616033378ab4bcfa6991a3b64cb6ca0e38d0 /dnw/utils.scm |
Start over cleanly
Diffstat (limited to 'dnw/utils.scm')
-rw-r--r-- | dnw/utils.scm | 37 |
1 files changed, 37 insertions, 0 deletions
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")) |