From 9503120f2cbfb05a782721eaa19f7297c069938d Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 23 Jan 2022 23:56:10 +0530 Subject: website: Add website. * build-aux/build-home-page.el, website/style.css: New files. * Makefile (EMACS): New variable. (website, website/index.html): New targets. --- Makefile | 7 ++++++ build-aux/build-home-page.el | 53 ++++++++++++++++++++++++++++++++++++++++++++ website/style.css | 29 ++++++++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 build-aux/build-home-page.el create mode 100644 website/style.css diff --git a/Makefile b/Makefile index d3aac6d..20025ab 100644 --- a/Makefile +++ b/Makefile @@ -16,6 +16,8 @@ # You should have received a copy of the GNU General Public License # along with run64. If not, see . +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 +;;; +;;; 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 . + +;;; 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 "" + 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%; +} -- cgit v1.2.3