summaryrefslogtreecommitdiff
path: root/haunt.scm
diff options
context:
space:
mode:
Diffstat (limited to 'haunt.scm')
-rw-r--r--haunt.scm45
1 files changed, 23 insertions, 22 deletions
diff --git a/haunt.scm b/haunt.scm
index 353abee..5fdfeea 100644
--- a/haunt.scm
+++ b/haunt.scm
@@ -29,6 +29,29 @@
(srfi srfi-26)
(ice-9 match))
+;; Use a temporary reader until my patch makes it into an upstream release.
+(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)))
+
+;; Replace Haunt's default 'string->date* function with one that recognizes the
+;; date format that Org uses.
+(define (org-string->date str)
+ "Convert STR, a string in Org format, into a SRFI-19 date object."
+ (string->date str "<~Y-~m-~d ~a>"))
+
+(register-metadata-parser! 'date org-string->date)
+
(define (static-page title file-name body)
(lambda (site posts)
(make-page file-name
@@ -47,28 +70,6 @@
"projects.html"
`((h1 "Projects"))))
-;; Replace Haunt's default 'string->date* function with one that recognizes the
-;; date format that Org uses.
-(define (org-string->date str)
- "Convert STR, a string in Org format, into a SRFI-19 date object."
- (string->date str "<~Y-~m-~d ~a>"))
-
-(register-metadata-parser! 'date org-string->date)
-
-(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)))