Skip to content

Latest commit

 

History

History
84 lines (55 loc) · 1.34 KB

File metadata and controls

84 lines (55 loc) · 1.34 KB

Engrave

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.

Installation

pip install engrave

CLI overview

Top-level usage:

engrave <command>

Core commands:

  • engrave build builds the site once
  • engrave watch builds once, then rebuilds when files change
  • engrave server builds 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.

Testing

python -m unittest

Development

Build package artifacts:

uv build

Build docs:

uv sync --group dev
uv run mkdocs build

Preview docs locally:

uv run mkdocs serve

Changelog

See CHANGELOG.md for release notes.

License

MIT. See LICENSE.