Engrave is a lightweight static-site generator built with Python and Jinja2. It is designed for small documentation sites, landing pages, and simple content-driven sites that benefit from templating without adding a backend.
pip install engraveTop-level usage:
engrave <command>Core commands:
engrave buildbuilds the site onceengrave watchbuilds once, then rebuilds when files changeengrave serverbuilds once, then starts a local preview server with watch events
Use engrave --help or engrave <command> --help for full command details.
Build once:
engrave build site build --copy 'assets/.*'Watch and rebuild:
engrave watch site build --copy 'assets/.*'Run the preview server:
engrave server site build --copy 'assets/.*'HTML files are rendered automatically. Non-HTML assets such as CSS, JS, images,
and fonts are only copied when their source-relative paths match one or more
--copy regex patterns.
python -m unittestBuild package artifacts:
uv buildBuild docs:
uv sync --group dev
uv run mkdocs buildPreview docs locally:
uv run mkdocs serveSee CHANGELOG.md for release notes.
MIT. See LICENSE.