askama/.readthedocs.yaml
René Kijewski c00a774ed2 book: first install mdbook, then use it
This is follow up to [#544], which makes `update-theme.py` use `mdbook`
itself to build `index.hbs`. `mdbook` needs to be installed to be used,
though.

[#544]: <https://redirect.github.com/askama-rs/askama/pull/544>
2025-07-28 19:58:22 +02:00

36 lines
1.9 KiB
YAML

# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
version: 2
build:
os: ubuntu-lts-latest
tools:
python: "3.12"
commands:
# Install a current version of rust
- asdf install rust 1.88.0
- asdf global rust 1.88.0
# Install mdbook.
- mkdir -p $HOME/bin
- curl --location --silent --show-error --fail https://github.com/cargo-bins/cargo-quickinstall/releases/download/mdbook-0.4.52/mdbook-0.4.52-x86_64-unknown-linux-gnu.tar.gz | tar -xzvvf - -C $HOME/bin
# Generate "book/theme/index.hbs" as "skeleton" of the generated pages.
- PATH="$HOME/bin:$PATH" book/update-theme.py
# Convert the book to HTML.
- $HOME/bin/mdbook build book --dest-dir $READTHEDOCS_OUTPUT/html
# Make the ads readable.
- cat book/ethicalads-theme.css >> $READTHEDOCS_OUTPUT/html/css/general.css
# We are done!
- cp book/404.html $READTHEDOCS_OUTPUT/html
# Build and copy the API docs
- cargo install cargo-docs-rs
- mkdir --parents rustdocs/x86_64-unknown-linux-gnu/doc/
- ln --relative --symbolic --no-target-directory rustdocs/x86_64-unknown-linux-gnu/doc rustdocs/doc
- CARGO_BUILD_TARGET_DIR=rustdocs RUSTC_BOOTSTRAP=1 RUSTC_STAGE=1 cargo docs-rs --target x86_64-unknown-linux-gnu --package askama
- CARGO_BUILD_TARGET_DIR=rustdocs RUSTC_BOOTSTRAP=1 RUSTC_STAGE=1 cargo docs-rs --target x86_64-unknown-linux-gnu --package askama_derive
- CARGO_BUILD_TARGET_DIR=rustdocs RUSTC_BOOTSTRAP=1 RUSTC_STAGE=1 cargo docs-rs --target x86_64-unknown-linux-gnu --package askama_escape
- CARGO_BUILD_TARGET_DIR=rustdocs RUSTC_BOOTSTRAP=1 RUSTC_STAGE=1 cargo docs-rs --target x86_64-unknown-linux-gnu --package askama_macros
- CARGO_BUILD_TARGET_DIR=rustdocs RUSTC_BOOTSTRAP=1 RUSTC_STAGE=1 cargo docs-rs --target x86_64-unknown-linux-gnu --package askama_parser
- cp --preserve=all --recursive --target-directory $READTHEDOCS_OUTPUT/html/ rustdocs/x86_64-unknown-linux-gnu/doc/