From 62e97f924b6073035bb3eb790a85e8292d288d57 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 8 Nov 2023 12:00:45 -0500 Subject: Use mermaid-cli to generate SVG for our diagrams. --- bin/build_html | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'bin') diff --git a/bin/build_html b/bin/build_html index 026c525..43d2f01 100755 --- a/bin/build_html +++ b/bin/build_html @@ -3,6 +3,7 @@ set -e -u -o pipefail -x : ${MDBOOK:=mdbook} +: ${MMDC:=mmdc} TOPLEVEL=$(realpath $(dirname "$0"))/.. cd "${TOPLEVEL}" @@ -10,6 +11,25 @@ cd "${TOPLEVEL}" ./bin/make_redirects +# We can't use mktemp here, since we need the actual +# path in build.html +TMPDIR="${TOPLEVEL}/tmp_mermaid/" +rm -rf "$TMPDIR" +mkdir -p "${TOPLEVEL}/tmp_mermaid/" +trap 'rm -rf ${TOPLEVEL}/tmp_mermaid' 0 + +# We make a mirror of the specs, since we will need to make changes to them. +cp -rl spec ./tmp_mermaid/spec +# We use mermaid-cli to extract the mermaid from any file containing it, +# and generate a new version that uses svg instead. +for fname in $(find ./tmp_mermaid -name "*.md") ; do + if grep '^```mermaid' $fname; then + ORIG="${fname%.md}.__orig.md" + mv $fname $ORIG + $MMDC -i $ORIG -o $fname + fi +done + cd "${TOPLEVEL}/mdbook/spec" $MDBOOK build -- cgit v1.2.3-54-g00ecf