diff options
| author | Jakob L. Kreuze | 2019-04-30 20:39:02 -0400 |
|---|---|---|
| committer | Jakob L. Kreuze | 2019-04-30 20:39:02 -0400 |
| commit | 5910a17327006beb2b24a2f565a1944e0a39fd7d (patch) | |
| tree | ea98b0c49f4d43c132696e52eee3903c36fca1fe /custom | |
| parent | b8c50306889ed1432988099542ec2071dd122214 (diff) | |
Refactor aliases into a distinct module
Diffstat (limited to 'custom')
| -rw-r--r-- | custom/alias.scm | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/custom/alias.scm b/custom/alias.scm new file mode 100644 index 0000000..fde03c7 --- /dev/null +++ b/custom/alias.scm @@ -0,0 +1,34 @@ +;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.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 (custom alias) + #:use-module (haunt html) + #:use-module (haunt page) + #:export (article-alias)) + +(define (article-alias alias target) + "Create a page named ALIAS that redirects to TARGET." + (make-page (string-append alias "/index.html") + `((doctype "html") + (html + (head + (title ,target) + (link (@ (rel "canonical") (href ,target))) + (meta (@ (name "robots") (content "noindex"))) + (meta (@ (charset "utf-8"))) + (meta (@ (http-equiv "refresh") + (content ,(string-append "0; " target))))))) + sxml->html)) |