diff options
-rw-r--r-- | Makefile | 7 | ||||
-rw-r--r-- | build-aux/build-home-page.el | 53 | ||||
-rw-r--r-- | website/style.css | 29 |
3 files changed, 89 insertions, 0 deletions
@@ -16,6 +16,8 @@ # You should have received a copy of the GNU General Public License # along with run64. If not, see <https://www.gnu.org/licenses/>. +EMACS ?= emacs + scripts = $(wildcard bin/*) .PHONY: all check install @@ -26,3 +28,8 @@ check: ; install: $(scripts) install -D $^ --target-directory $(bindir) + +website: website/index.html + +website/index.html: README.org build-aux/build-home-page.el + $(EMACS) -Q --batch --load build-aux/build-home-page.el --funcall build-website diff --git a/build-aux/build-home-page.el b/build-aux/build-home-page.el new file mode 100644 index 0000000..2979a64 --- /dev/null +++ b/build-aux/build-home-page.el @@ -0,0 +1,53 @@ +;;; run64 --- SRFI-64 test runner +;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> +;;; +;;; This file is part of run64. +;;; +;;; run64 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. +;;; +;;; run64 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 run64. If not, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; This Emacs script generates the home page of the website from +;; README.org. + +;;; Code: + +(require 'ox-html) + +(setq make-backup-files nil + org-export-with-section-numbers nil + org-export-with-sub-superscripts nil + org-export-with-toc nil + org-html-head "<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />" + org-html-head-include-default-style nil + org-html-head-include-scripts nil + org-html-postamble nil) + +(defun org-dblock-write:releases (params) + "Dynamically write releases block." + (call-process "git" nil t nil + "for-each-ref" "--sort=-taggerdate" + (let ((release-file "./releases/run64-%(refname:short).tar.lz")) + (format "--format=- %%(taggerdate:short) [[%s][%s]] [[%s.asc][GPG Signature]]" + release-file + (file-name-nondirectory release-file) + release-file)) + "refs/tags/v*") + ;; Fix tarball filenames. + (replace-string "run64-v" "run64-" nil nil nil t)) + +(defun build-website () + (with-current-buffer (find-file "README.org") + (org-update-all-dblocks) + (org-export-to-file 'html "website/index.html"))) diff --git a/website/style.css b/website/style.css new file mode 100644 index 0000000..4f310ce --- /dev/null +++ b/website/style.css @@ -0,0 +1,29 @@ +body { + margin: 40px auto; + max-width: 900px; + line-height: 1.6; + font-size: 18px; + padding: 0 10px; +} + +pre, code { + background-color: #f0f0f0; +} + +pre { + padding: 1em; +} + +code { + padding-left: 0.2em; + padding-right: 0.2em; +} + +/* Make the SVG badges clickable. */ +object { + pointer-events: none; +} + +img { + max-width: 100%; +} |