|
@@ -4,7 +4,6 @@
|
4
|
4
|
#:index
|
5
|
5
|
#:page-url
|
6
|
6
|
#:find-all
|
7
|
|
- #:discover
|
8
|
7
|
#:publish
|
9
|
8
|
#:theme-fn
|
10
|
9
|
#:add-document
|
|
@@ -19,13 +18,13 @@
|
19
|
18
|
|
20
|
19
|
(defmethod page-url ((object sitemap)) "sitemap.xml")
|
21
|
20
|
|
22
|
|
-(defmethod discover ((doc-type (eql (find-class 'sitemap))))
|
23
|
|
- (let ((base-urls '("" "sitemap.xml"))
|
24
|
|
- (urls (mapcar #'page-url (hash-table-values coleslaw::*site*))))
|
25
|
|
- (add-document (make-instance 'sitemap :urls (append base-urls urls)))))
|
26
|
|
-
|
|
21
|
+;; We do 'discovery' in the publish method here because we can't ensure the
|
|
22
|
+;; sitemap discover method is called last. Need all other content to be
|
|
23
|
+;; discovered/in the DB.
|
27
|
24
|
(defmethod publish ((doc-type (eql (find-class 'sitemap))))
|
28
|
|
- (dolist (sitemap (find-all 'sitemap))
|
|
25
|
+ (let* ((base-urls '("" "sitemap.xml"))
|
|
26
|
+ (urls (mapcar #'page-url (hash-table-values coleslaw::*site*)))
|
|
27
|
+ (sitemap (make-instance 'sitemap :urls (append base-urls urls))))
|
29
|
28
|
(write-document sitemap (theme-fn 'sitemap "sitemap"))))
|
30
|
29
|
|
31
|
30
|
(defun enable ())
|