From 1c585326ab8a76a5a73719608abd7b07d672b812 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Sun, 20 Mar 2016 23:21:29 +0100 Subject: [PATCH] plugin: static-pages: allow specifying format `format' in class `page' defaults to markdown to ensure backward compatibility. --- plugins/static-pages.lisp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/plugins/static-pages.lisp b/plugins/static-pages.lisp index 82e115d..57b198d 100644 --- a/plugins/static-pages.lisp +++ b/plugins/static-pages.lisp @@ -13,13 +13,16 @@ (in-package :coleslaw-static-pages) (defclass page (content) - ((title :initarg :title :reader coleslaw::title-of))) + ((title :initarg :title :reader coleslaw::title-of) + (format :initarg :format :reader coleslaw::page-format)) + ;; default format is markdown (for backward compatibility) + (:default-initargs :format "md")) (defmethod initialize-instance :after ((object page) &key) - ;; Expect all static-pages to be written in Markdown for now. - (with-slots (coleslaw::url coleslaw::text) object + (with-slots (coleslaw::url coleslaw::text format) object (setf coleslaw::url (make-pathname :defaults coleslaw::url) - coleslaw::text (render-text coleslaw::text :md)))) + format (alexandria:make-keyword (string-upcase format)) + coleslaw::text (render-text coleslaw::text format)))) (defmethod render ((object page) &key next prev) ;; For the time being, we'll re-use the normal post theme.