forked from aniani/vim
24 lines
544 B
Plaintext
24 lines
544 B
Plaintext
(defun html-file (base)
|
|
(format nil "~(~A~).html" base))
|
|
|
|
(defmacro page (name title &rest body)
|
|
(let ((ti (gensym)))
|
|
`(with-open-file (*standard-output*
|
|
(html-file ,name)
|
|
:direction :output
|
|
:if-exists :supersede)
|
|
(let ((,ti ,title))
|
|
(as title ,ti)
|
|
(with center
|
|
(as h2 (string-upcase ,ti)))
|
|
(brs 3)
|
|
,@body))))
|
|
|
|
;;; Utilities for generating links
|
|
|
|
(defmacro with-link (dest &rest body)
|
|
`(progn
|
|
(format t "<a href=\"~A\">" (html-file ,dest))
|
|
,@body
|
|
(princ "</a>")))
|