From ac4ba8372107488ea850a74e42e9c978441c6b67 Mon Sep 17 00:00:00 2001 From: Michael Reed Date: Sun, 9 Jul 2017 03:32:14 -0400 Subject: Build website incrementally (and faster if you have the CPU cores) This is done by replacing www/generate.sh with a Makefile. Benefits: - Makes builds incremental, meaning that only the minimum number of markdown files will be converted to HTML during a build. The previous scheme always generated a new HTML file for every markdown file, which is a big waste of time if only 1 or 2 markdown files have been changed. - Allows for much faster builds through concurrent jobs (e.g., via "make -j4"). On my 4-core machine, my average build time for the website with generate.sh was just over 26 seconds; with "make -j4", it was 13 seconds. - Avoids portability issues with find(1) in generate.sh, which I was encountering on OpenBSD. A note on portability: unlike GNU Make, OpenBSD's Make does not have the "$(shell [commands])" construct, so we don't use that. Instead we use "!= [commands]", which is supported by both. --- www/generate.sh | 9 --------- 1 file changed, 9 deletions(-) delete mode 100755 www/generate.sh (limited to 'www/generate.sh') diff --git a/www/generate.sh b/www/generate.sh deleted file mode 100755 index 3e54dc13..00000000 --- a/www/generate.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -[ "x${DEBUG+set}" = 'xset' ] && set -v -set -e - -find -L . -name '*.html' -and -not -name 'template.html' -delete -find -L . -name '*.md' -exec ./publish.sh {} \; -./index.sh -./publish.sh news/index.md -- cgit v1.2.3-70-g09d2