Files
kumomta/docs/build.sh
T
Wez Furlong 52d204984a docs: install exclude plugin to exlude stuff better
Previously, I was cleaning up some junk like _index directories
generated from the _index.md fragments. I noticed that those
were showing up in the search index, so it is better to exclude
from the outset. mkdocs doesn't natively support the idea of
exclusion, but there is a plugin that does, so use it.
2023-03-11 23:27:49 -07:00

48 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
set -e
set -x
tracked_markdown=$(mktemp)
trap "rm ${tracked_markdown}" "EXIT"
find docs -type f | egrep '\.(markdown|md)$' > $tracked_markdown
mode=mkdocs
cargo_deps=gelatyx
if [ $mode == "mdbook" ]; then
cargo_deps="$cargo_deps mdbook mdbook-linkcheck mdbook-mermaid mdbook-admonish"
fi
for doc_dep in $cargo_deps ; do
if ! hash $doc_dep 2>/dev/null ; then
cargo install $doc_dep --locked
fi
done
if test -z "${CHECK_ONLY}" ; then
gelatyx --language lua --file-list $tracked_markdown --language-config stylua.toml
fi
if ! gelatyx --language lua --color always --file-list $tracked_markdown --language-config stylua.toml --check ; then
echo
echo "Be sure to run ./docs/build.sh to apply formatting before you push changes."
echo
exit 1
fi
python3 docs/generate-toc.py $mode || exit 1
case $mode in
mkdocs)
# Adjust path to pick up pip-installed binaries
PATH="$HOME/.local/bin;$PATH"
pip install --quiet mkdocs-material pillow cairosvg mkdocs-git-revision-date-localized-plugin black mkdocs-exclude
mkdocs build
# Keep the toc generator formatted
black docs/generate-toc.py
;;
mdbook)
mdbook-mermaid install docs
mdbook build docs
;;
esac