askama/.readthedocs.yaml
René Kijewski 32dc474f57 Fix mdbook path in readthedocs
On readthedocs, which uses `asdf` instead of `rustup`, the path for
`cargo install` installations is `$HOME/.asdf/installs/rust/1.88.0/bin/XYZ`
instead of `$HOME/.cargo.bin`.

It looks like the path this is already in scope, otherwise `book/update-theme.py`
would have failed in <https://app.readthedocs.org/projects/askama/builds/29407005/>, too.
2025-09-02 15:14:27 +02:00

35 lines
1.7 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.
- cargo install mdbook
# Generate "book/theme/index.hbs" as "skeleton" of the generated pages.
- book/update-theme.py
# Convert the book to HTML.
- 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/