Files
raven/Dockerfile.docs
John Cardinal 3b80f019ad case 4757 - manual revision stamp and copyright year set automatically when the manuals are built
A MkDocs hook (docs/8.0/rev_date.py), used by both manuals, replaces REV-AUTO
and YEAR-AUTO in the copyright line with the date of the last commit that
changed that manual, or today if it has uncommitted changes or git is not
available. A missing placeholder fails the strict build. The customer manual's
stamp had not been updated since 2022. The home page sentence about the stamp
no longer reads like a placeholder. Release procedure step 2, the docs
Dockerfile usage lines and .gitignore (__pycache__) follow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 07:58:07 -07:00

30 lines
1.1 KiB
Docker

# AyaNova v8 Documentation Build Environment
#
# This Dockerfile creates a reproducible build environment for the MkDocs documentation.
#
# Usage:
# Build the image:
# docker build -f Dockerfile.docs -t ayanova-docs-build .
#
# Run a build (mount docs/8.0, not only ayanova: mkdocs.yml uses the shared hook ../rev_date.py):
# docker run --rm -v "c:/data/code/raven/docs/8.0:/docs" -w /docs/ayanova -v "c:/data/code/raven/server/AyaNova/wwwroot/docs:/output" ayanova-docs-build
#
# Serve docs locally for preview (on port 8000):
# docker run --rm -p 8000:8000 -v "c:/data/code/raven/docs/8.0:/docs" -w /docs/ayanova ayanova-docs-build mkdocs serve -a 0.0.0.0:8000
#
FROM python:3.11-slim-bullseye
# Install MkDocs and the Material theme
# pymdownx extensions come bundled with mkdocs-material
RUN pip install --no-cache-dir \
mkdocs==1.5.* \
mkdocs-material==9.*
WORKDIR /docs
# Default command: build the documentation
# Note: The output directory is configured in mkdocs.yml (site_dir)
# For containerized builds, you may want to override site_dir
CMD ["mkdocs", "build"]