summaryrefslogtreecommitdiff
path: root/_adoc/build.sh
blob: 286c4408261e5e4485d4b488ccfa086e2bbf61b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh

# This shell script takes our content from _adoc and runs it through
# asciidoctor and applies front matter that Jekyll will see.  Its kind
# of annoying, since Jekyll on github-pages doesn't support asciidoctor
# properly.

aargs="-aicons=font -alinkcss"
cd $(dirname $0)
for f in $(find . -name '*.adoc'); do

	input=${f#./}
	indir=$(dirname $f)
	indir=${indir#./}
	output=../${input%.adoc}.html
        outdir=../${indir}

	when=$(git log -n1 --format='%ad' '--date=format-local:%s' $f)
	echo "Processing $input -> $output"

	if [ -n "$indir" ] && [ ! -d "$outdir" ]
	then
		mkdir -p $outdir
	fi

	echo generating $output
	layout=$(head -5 $input | grep "layout:" | cut -d: -f2)
	env SOURCE_DATE_EPOCH=${when} asciidoctor ${aargs} -b html5 -o $output -a skip-front-matter $input
	mv ${output} ${output}.part
	printf -- "---\nlayout: ${layout}\n---\n" > ${output}
	cat ${output}.part >> ${output}
	rm ${output}.part
done