summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--haunt.scm18
1 files changed, 17 insertions, 1 deletions
diff --git a/haunt.scm b/haunt.scm
index 5c3c101..666a6ff 100644
--- a/haunt.scm
+++ b/haunt.scm
@@ -24,10 +24,12 @@
(haunt reader)
(haunt site)
(haunt utils)
+ (sxml simple)
(sxml match)
(sxml transform)
(srfi srfi-1)
(srfi srfi-19)
+ (srfi srfi-26)
(ice-9 rdelim)
(ice-9 regex)
(ice-9 match)
@@ -172,6 +174,20 @@ free culture works available under the " ,%cc-by-sa-link " license.")
"projects.html"
`((h1 "Projects"))))
+(define (read-html-post-prime port)
+ (values (read-metadata-headers port)
+ (let loop ((ret '()))
+ (catch 'parser-error
+ (lambda ()
+ (match (xml->sxml port)
+ (('*TOP* sxml) (loop (cons sxml ret)))))
+ (lambda (key . parameters)
+ (reverse ret))))))
+
+(define html-reader-prime
+ (make-reader (make-file-extension-matcher "html")
+ (cut call-with-input-file <> read-html-post-prime)))
+
(define %collections
`(("Recent Posts" "index.html" ,posts/reverse-chronological)))
@@ -183,7 +199,7 @@ free culture works available under the " ,%cc-by-sa-link " license.")
#:default-metadata
'((author . "Jakob L. Kreuze")
(email . "zerodaysfordays@sdf.lonestar.org"))
- #:readers (list html-reader)
+ #:readers (list html-reader-prime)
#:builders (list (blog #:theme jakob-theme #:collections %collections)
(atom-feed)
(atom-feeds-by-tag)