aboutsummaryrefslogtreecommitdiffhomepage
path: root/genonly
blob: 316fe4d971bd473e91e2feeee5bcb6e3413cdd03 (plain) (blame)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/env bash
# generate one priv file only
# e.g. "./genonly md-priv/2024-06-27-16.md"

file="$1"

set -e

mkdir -p pub/priv

rm -f res/diag/*
mkdir -p res/diag

cp index.md pub/priv/index.md
printf "\n\n" >>pub/priv/index.md

export MERMAID_FILTER_FORMAT="svg"
export MERMAID_FILTER_THEME="dark"
export MERMAID_FILTER_BACKGROUND="transparent"
export MERMAID_FILTER_LOC="res/diag"
export MERMAID_FILTER_IMAGE_CLASS="mermaid"

ARGS="-A common.html -F mermaid-filter --toc --css style.css -t html -s --citeproc --bibliography=bib.bib --biblatex -L ./server-katex/filter.lua"
NHEAD=13

priv_words=0
priv_count=0
EXTRA="-A append.html"
plot="$(head -n$NHEAD "$file" | grep -m 1 plot | cut -c 7-)"
[[ "$plot" = "true" ]] && EXTRA="$EXTRA -A plot.html"

name="$(basename $file | cut -f 1 -d '.')"
pandoc $ARGS $EXTRA "$file" -o "pub/priv/$name".html &
title="$(head -n$NHEAD "$file" | grep -m 1 ^title | cut -c 8-)"
date="$(echo $name | rev | cut -c 4- | rev)"
pubdate="$(head -n$NHEAD "$file" | grep -m 1 ^date | cut -c 6-)"
author="$(head -n$NHEAD "$file" | grep -m 1 ^author | cut -c 8-)"
count="$(pandoc --lua-filter wordcount.lua "$file")"
priv_words=$((priv_words + count))
priv_count=$((priv_count + 1))
# echo "- [$title]($name.html) $date - $pubdate · $count words · $author" >>pub/priv/index.md
echo "- [$title]($name.html) $pubdate · $count words · $author" >>pub/priv/index.md
echo "generated $title"

echo "waiting..."
for job in $(jobs -p); do
	wait "$job" || echo "$job failed"
done

cp *.css pub/priv/
cp -r res/ pub/priv/

echo "done!"