From a176f38537d0641f3a187157f5e5d851bd86ffb7 Mon Sep 17 00:00:00 2001 From: Brit Butler Date: Wed, 2 Jul 2014 16:22:04 -0400 Subject: [PATCH] Bugfix: Feed should be an abstract class. --- coleslaw.asd | 2 +- src/feeds.lisp | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/coleslaw.asd b/coleslaw.asd index 71552b4..40ab023 100644 --- a/coleslaw.asd +++ b/coleslaw.asd @@ -1,7 +1,7 @@ (defsystem #:coleslaw :name "coleslaw" :description "Flexible Lisp Blogware" - :version "0.9.5" + :version "0.9.5-dev" :license "BSD" :author "Brit Butler " :pathname "src/" diff --git a/src/feeds.lisp b/src/feeds.lisp index 8aa5e3c..a1236c1 100644 --- a/src/feeds.lisp +++ b/src/feeds.lisp @@ -5,16 +5,18 @@ (defclass feed (index) ((format :initform nil :initarg :format :accessor feed-format))) -(defmethod discover ((doc-type (eql (find-class 'feed)))) +(defclass standard-feed (feed) ()) + +(defmethod discover ((doc-type (eql (find-class 'standard-feed)))) (let ((content (by-date (find-all 'post)))) (dolist (format '(rss atom)) - (let ((feed (make-instance 'feed :format format + (let ((feed (make-instance 'standard-feed :format format :content (take-up-to 10 content) :slug (format nil "~(~a~)" format)))) (add-document feed))))) -(defmethod publish ((doc-type (eql (find-class 'feed)))) - (dolist (feed (find-all 'feed)) +(defmethod publish ((doc-type (eql (find-class 'standard-feed)))) + (dolist (feed (find-all 'standard-feed)) (write-document feed (theme-fn (feed-format feed) "feeds")))) ;;; Tag Feeds