|
@@ -17,11 +17,14 @@
|
17
|
17
|
|
18
|
18
|
(defun render-feeds (feeds)
|
19
|
19
|
"Render and write the given FEEDS for the site."
|
20
|
|
- (let* ((by-date (by-date (hash-table-values *posts*)))
|
21
|
|
- (posts (subseq by-date 0 (min (length by-date) 10))))
|
22
|
|
- (render-page (make-instance 'index :path "rss.xml" :posts posts) :rss)
|
23
|
|
- (render-page (make-instance 'index :path "feed.atom" :posts posts) :atom)
|
24
|
|
- (dolist (feed feeds)
|
25
|
|
- (let ((index (index-by-tag feed by-tag)))
|
26
|
|
- (setf (index-path index) (format nil "tag/~a-rss.xml" feed))
|
27
|
|
- (render-page index :rss)))))
|
|
20
|
+ (flet ((first-10 (list)
|
|
21
|
+ (subseq list 0 (min (length list) 10))))
|
|
22
|
+ (let* ((by-date (by-date (hash-table-values *posts*)))
|
|
23
|
+ (posts (first-10 by-date)))
|
|
24
|
+ (render-page (make-instance 'index :path "rss.xml" :posts posts) :rss)
|
|
25
|
+ (render-page (make-instance 'index :path "feed.atom" :posts posts) :atom)
|
|
26
|
+ (dolist (feed feeds)
|
|
27
|
+ (let ((index (index-by-tag feed by-date)))
|
|
28
|
+ (setf (index-path index) (format nil "tag/~a-rss.xml" feed)
|
|
29
|
+ (index-posts index) (first-10 (index-posts index)))
|
|
30
|
+ (render-page index :rss))))))
|