mirror of
https://github.com/openmlsys/openmlsys-zh.git
synced 2026-05-02 14:34:21 +08:00
Use mdbook-katex in pre-render mode for both books, pin mdBook to a compatible version, update build scripts and workflows, and replace the old MathJax regression tests with KaTeX coverage.
34 lines
1.1 KiB
Bash
34 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PYTHON_BIN="$(command -v python3 || command -v python || true)"
|
|
|
|
if [[ -z "${PYTHON_BIN}" ]]; then
|
|
echo "Python is required to prepare the mdBook staging tree." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v mdbook >/dev/null 2>&1; then
|
|
echo "mdbook is not installed. Install it first, for example with: cargo install mdbook" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if ! mdbook --version | grep -q "mdbook v0.4.48"; then
|
|
echo "mdbook-katex currently requires mdbook v0.4.48. Install it with: cargo install mdbook --version 0.4.48 --locked --force" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v mdbook-katex >/dev/null 2>&1; then
|
|
echo "mdbook-katex is not installed. Install it first, for example with: cargo install mdbook-katex" >&2
|
|
exit 1
|
|
fi
|
|
|
|
"${PYTHON_BIN}" "${ROOT}/tools/ensure_book_resources.py" --chapter-dir "${ROOT}/en_chapters"
|
|
"${PYTHON_BIN}" "${ROOT}/tools/prepare_mdbook.py" \
|
|
--source "${ROOT}/en_chapters" \
|
|
--summary-output "${ROOT}/en_chapters/SUMMARY.md" \
|
|
--placeholder-prefix "[TODO: src = zh_chapters/"
|
|
|
|
mdbook build "${ROOT}"
|