Metadata-Version: 2.4
Name: lintc
Version: 0.1.2
Summary: Zero-dependency Python static-site generator. Base layout + partials + Markdown content + YAML data + shortcodes. One file, stdlib only.
Author-email: Alexis Charytonow <me@lintuxt.ai>
License: MIT
Project-URL: Homepage, https://github.com/lintuxt/lintc
Project-URL: Issues, https://github.com/lintuxt/lintc/issues
Project-URL: Changelog, https://github.com/lintuxt/lintc/blob/main/docs/changelog.md
Keywords: static-site-generator,ssg,stdlib,zero-dependency
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Text Processing :: Markup :: HTML
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# lintc

Zero-dependency Python static-site generator. Base layout + partials
+ Markdown content + YAML data + shortcodes. One file, stdlib only.

[![PyPI](https://img.shields.io/pypi/v/lintc.svg)](https://pypi.org/project/lintc/)
[![CI](https://github.com/lintuxt/lintc/actions/workflows/test.yml/badge.svg)](https://github.com/lintuxt/lintc/actions/workflows/test.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Install

```sh
uv tool install lintc      # recommended — isolated, no env needed
pipx install lintc         # equivalent if you prefer pipx
pip install --user lintc   # also fine
```

Requires Python 3.9 or newer. No other dependencies.

## Quickstart

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.)
└── static/                   # copied verbatim into dist/
```

Build it:

```sh
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 parity
```

## CLI

```
lintc 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.

## Documentation

Full docs: [`docs/index.md`](docs/index.md).
Changelog: [`docs/changelog.md`](docs/changelog.md).

## License

MIT — see [`LICENSE`](LICENSE).
