Flexible Lisp Blogware. Fork for personal use. Mirrored from https://github.com/kingcons/coleslaw originally.

static-pages.lisp 777B

123456789101112131415161718192021222324252627
  1. (defpackage :coleslaw-static-pages
  2. (:use :cl)
  3. (:export #:enable)
  4. (:import-from :coleslaw #:*config*
  5. #:content
  6. #:page-url
  7. #:find-all
  8. #:render
  9. #:publish
  10. #:write-document))
  11. (in-package :coleslaw-static-pages)
  12. (defclass page (content)
  13. ((url :initarg :url :reader page-url)))
  14. (defmethod render ((object page) &key next prev)
  15. ;; For now, we'll re-use the normal post theme.
  16. (funcall (theme-fn 'post) (list :config *config*
  17. :post object)))
  18. (defmethod publish ((doc-type (eql (find-class 'page))))
  19. (dolist (page (find-all 'page))
  20. (write-document page)))
  21. (defun enable ())