Metadata-Version: 2.4
Name: engrave
Version: 3.2.4
Summary: A lightweight static-site generator built on Python and Jinja2
Project-URL: Website, https://keenlycode.github.io/engrave/
Project-URL: Repository, https://github.com/keenlycode/engrave
Author-email: Nitipit Nontasuwan <nitipit@gmail.com>
Maintainer-email: Nitipit Nontasuwan <nitipit@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: generator,preview,static site generator,template,web,website
Requires-Python: >=3.10
Requires-Dist: aiostream<1,>=0.6.4
Requires-Dist: cyclopts<5,>=4
Requires-Dist: dacite<2,>=1.9.2
Requires-Dist: fastapi[standard]<1,>=0.135.1
Requires-Dist: jinja2<4,>=3.1.5
Requires-Dist: markupsafe<4,>=3.0.2
Requires-Dist: mistune<4,>=3.1.2
Requires-Dist: uvicorn<1,>=0.34.0
Requires-Dist: watchfiles<2,>=1.1.1
Description-Content-Type: text/markdown

# 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

```bash
pip install engrave
```

## CLI overview

Top-level usage:

```bash
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:

```bash
engrave build site build
```

Watch and rebuild:

```bash
engrave watch site build
```

Run the preview server:

```bash
engrave server site build
```

## Testing

```bash
python -m unittest
```

## Development

Build package artifacts:

```bash
uv build
```

Build docs:

```bash
uv sync --group dev
uv run mkdocs build
```

Preview docs locally:

```bash
uv run mkdocs serve
```

## Changelog

See [CHANGELOG.md](CHANGELOG.md) for release notes.

## License

MIT. See `LICENSE`.
