Zero-dependency Python static-site generator. Base layout + partials
- Markdown content + YAML data + shortcodes. One file, stdlib only.
uv tool install lintc # recommended — isolated, no env needed
pipx install lintc # equivalent if you prefer pipx
pip install --user lintc # also fineRequires Python 3.9 or newer. No other dependencies.
Scaffold a site:
src/
├── content/
│ ├── pages/home.yaml # structured pages
│ ├── blog/*.md # Markdown posts with YAML front matter
│ └── products/*.yaml
├── layouts/
│ ├── _base.html # the master layout
│ ├── home.html # page layouts
│ └── partials/ # shared chrome (head, header, footer, components)
├── data/ # site-wide data (site.yaml, nav.yaml, etc.) + optional lintc.yaml
└── static/ # copied verbatim into dist/
Build it:
lintc build # emits dist/
lintc serve # dev server with live reload at http://127.0.0.1:8000/
lintc check # post-emit validations + GitHub-repo paritylintc build [--root DIR] [--include-drafts]
lintc serve [--root DIR] [--host HOST] [--port PORT] [--no-reload] [--no-drafts]
lintc check [--root DIR]
lintc --version
lintc --help
build hides drafts by default — use --include-drafts to opt them in. serve shows drafts by default — use --no-drafts to hide them.
lintc check's validators are configurable via src/data/lintc.yaml — see docs/index.md for the schema.
Full docs: docs/index.md.
Changelog: docs/changelog.md.
MIT — see LICENSE.