summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob L. Kreuze <zerodaysfordays@sdf.org>2024-06-16 14:11:40 -0400
committerJakob L. Kreuze <zerodaysfordays@sdf.org>2024-06-16 14:11:40 -0400
commit6cb00d155b24f3a6c768806d6422b7ee37d5553a (patch)
treeb4fd464196db95c08b6b86e72b872bd744b7d2c2
parent27ffd0a40e9ee8fddfd45a7b1372ce857fe440c1 (diff)
Drop the home-rolled `static-pages' builder for the new `flat-pages'
-rw-r--r--haunt/haunt.scm10
-rw-r--r--haunt/jakob/builder/static-pages.scm45
2 files changed, 7 insertions, 48 deletions
diff --git a/haunt/haunt.scm b/haunt/haunt.scm
index 152294b..14ac2bf 100644
--- a/haunt/haunt.scm
+++ b/haunt/haunt.scm
@@ -15,6 +15,7 @@
;;; <http://www.gnu.org/licenses/>.
(use-modules (haunt builder assets)
+ (haunt builder flat-pages)
(haunt post)
(haunt site)
(jakob builder atom)
@@ -22,8 +23,8 @@
(jakob builder blogroll)
(jakob builder htaccess)
(jakob builder outbox)
- (jakob builder static-pages)
(jakob reader html-prime)
+ (jakob reader sxml)
(srfi srfi-19)
(srfi srfi-26))
@@ -42,7 +43,7 @@
#:default-metadata
'((author . "Jakob L. Kreuze")
(email . "zerodaysfordays@sdf.lonestar.org"))
- #:readers (list html-reader-prime)
+ #:readers (list html-reader-prime sxml-reader)
#:builders
(list (atom-feed #:max-entries 1024)
(blog)
@@ -53,5 +54,8 @@
(429 . "/pages/status-429.html")
(500 . "/pages/status-500.html")))
(outbox)
- (static-pages)
+ (flat-pages "pages"
+ #:template (lambda (_site _title content)
+ content)
+ #:prefix "pages/")
(static-directory "static")))
diff --git a/haunt/jakob/builder/static-pages.scm b/haunt/jakob/builder/static-pages.scm
deleted file mode 100644
index 98817a6..0000000
--- a/haunt/jakob/builder/static-pages.scm
+++ /dev/null
@@ -1,45 +0,0 @@
-;;; Copyright © 2019 - 2020 Jakob L. Kreuze <zerodaysfordays@sdf.org>
-;;;
-;;; This program 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.
-;;;
-;;; This program 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 this program. If not, see
-;;; <http://www.gnu.org/licenses/>.
-
-(define-module (jakob builder static-pages)
- #:use-module (haunt artifact)
- #:use-module (haunt html)
- #:use-module (ice-9 ftw)
- #:use-module (jakob builder blog)
- #:use-module (srfi srfi-1)
- #:export (static-pages))
-
-(define* (static-pages)
- (lambda (site posts)
- (define enter? (const #t))
-
- (define (leaf file-name stat memo)
- (if (string-suffix? ".sxml" file-name)
- (let* ((dest (string-drop-right file-name (string-length ".sxml")))
- (dest (string-append dest ".html"))
- (name (first (string-split (basename dest) #\.)))
- (sxml (primitive-load file-name))
- (contents sxml))
- (cons (serialized-artifact dest contents sxml->html) memo))
- (cons #f memo)))
-
- (define (noop file-name stat result)
- result)
-
- (define (err file-name stat errno result)
- (error "file processing failed with errno: " file-name errno))
-
- (filter identity (file-system-fold enter? leaf noop noop noop err '() "pages"))))