diff options
| author | Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org> | 2019-05-02 15:53:13 -0400 |
|---|---|---|
| committer | Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org> | 2019-05-02 15:53:13 -0400 |
| commit | 204be759d3ae0f7256a7e3db8829a1c921470551 (patch) | |
| tree | 9c1c305032b20ccf698a48316ec1b3114c0baa89 /haunt.scm | |
| parent | 58a5b5b305dc89bb0dbdf43846a7a90675908edd (diff) | |
Clean up haunt.scm
Diffstat (limited to 'haunt.scm')
| -rw-r--r-- | haunt.scm | 45 |
1 files changed, 23 insertions, 22 deletions
@@ -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))) |