ywatds/webui/html.scm

27 lines
825 B
Scheme

(define-module (webui html)
#:export (build-html-page
html-h1 html-h2 html-h3 html-h4 html-h5 html-h6))
(use-modules (sxml simple))
(define (html header . body)
(let ((title (if (string? header) header (car header)))
(bodydata (if (pair? header) (cdr header) '())))
`(html (head (title ,title)
(link (@ (rel "stylesheet") (href "/style.css")))
,@bodydata)
(body ,@body))))
(define (make-simple-tag-wrapper tagname)
(lambda body
`(,tagname ,@body)))
(define html-h1 (make-simple-tag-wrapper 'h1))
(define html-h2 (make-simple-tag-wrapper 'h2))
(define html-h3 (make-simple-tag-wrapper 'h3))
(define html-h4 (make-simple-tag-wrapper 'h4))
(define html-h5 (make-simple-tag-wrapper 'h5))
(define html-h6 (make-simple-tag-wrapper 'h6))
(define (build-html-page title . body)
(html title body))