diff options
| author | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2024-03-01 01:25:55 +0100 |
|---|---|---|
| committer | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2025-06-15 01:30:21 +0200 |
| commit | 15a0beed6845bf8d6fe31ecc655c7d06ba95eb70 (patch) | |
| tree | f4a1eb274e905ff4ef317196b211e1de92db8335 /website | |
| parent | 2733428c5d1098ac64786865de92beaa19bace6b (diff) | |
| download | haunt-blog-15a0beed6845bf8d6fe31ecc655c7d06ba95eb70.tar.gz haunt-blog-15a0beed6845bf8d6fe31ecc655c7d06ba95eb70.tar.bz2 haunt-blog-15a0beed6845bf8d6fe31ecc655c7d06ba95eb70.zip | |
Remove fix-dates.sh manual process.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Diffstat (limited to 'website')
| -rw-r--r-- | website/readers/wordpress-markdown.scm | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/website/readers/wordpress-markdown.scm b/website/readers/wordpress-markdown.scm new file mode 100644 index 0000000..3c3f282 --- /dev/null +++ b/website/readers/wordpress-markdown.scm @@ -0,0 +1,54 @@ +;;; Haunt --- Static site generator for GNU Guile +;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com> +;;; +;;; This file is part of Haunt. +;;; +;;; Haunt is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or +;;; (at your option) any later version. +;;; +;;; Haunt is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;;; General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with Haunt. If not, see <http://www.gnu.org/licenses/>. + +;;; Commentary: +;; +;; CommonMark post reader. +;; +;;; Code: + +(define-module (website readers wordpress-markdown) + #:use-module (commonmark) + #:use-module (haunt post) + #:use-module (haunt reader) + #:use-module (haunt utils) + #:use-module (ice-9 match) + #:use-module (ice-9 rdelim) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-19) + #:export (wordpress-markdown-reader)) + +(define (string->custom-date* str) + "Convert STR, a string in ISO 8601 format or the default format, into a +SRFI-19 date object." + (or (catch 'misc-error + (lambda _ (string->date str "~Y-~m-~dT~H:~M:~S~z")) + (const #f)) + (catch 'misc-error + (lambda _ (string->date str "~Y~m~d ~H:~M")) + (const #f)))) + +(register-metadata-parser! 'date string->custom-date*) + +(define wordpress-markdown-reader + (make-reader (make-file-extension-matcher "md") + (lambda (file) + (call-with-input-file file + (lambda (port) + (values (read-metadata-headers port) + (commonmark->sxml port))))))) |
