Metadata-Version: 2.4
Name: hedron-jinja
Version: 0.18.0
Summary: Explicit standards-first .hdj templates over Jinja, HTML, and HTMX for Hedron
Project-URL: Homepage, https://github.com/eddiethedean/hedron
Project-URL: Repository, https://github.com/eddiethedean/hedron
Project-URL: Issues, https://github.com/eddiethedean/hedron/issues
Project-URL: Documentation, https://hedron.readthedocs.io/en/latest/
Author-email: Odos Matthews <odosmatthews@gmail.com>
Maintainer-email: Odos Matthews <odosmatthews@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: components,hedron,html,jinja,server-rendered,typed
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Typing :: Typed
Requires-Python: <3.15,>=3.11
Requires-Dist: hedron-core<0.19,>=0.18.0
Requires-Dist: jinja2<4,>=3.1
Requires-Dist: markupsafe<4,>=3
Description-Content-Type: text/markdown

# hedron-jinja

HDJ is Hedron's explicit, standards-first `.hdj` format over Jinja for advanced applications.

```bash
pip install hedron-jinja
```

```python
from jinja2 import Environment, FileSystemLoader
from hedron_jinja import HedronJinja, TemplateSpec

templates = HedronJinja(
    Environment(loader=FileSystemLoader("templates")),
    components={"StatusBadge": StatusBadge},
)
result = templates.render(TemplateSpec("dashboard.hdj"), view)
```

```hdj
---hdj
version = 1
kind = "fragment"
profile = "standard"
regions = ["main"]
---
<main id="main" hx-history-elt>{{ view.heading }}</main>
```

Templates are trusted application code. Write ordinary HTML, CSS, JavaScript, Web Components,
Jinja, and HTMX directly; HDJ adds typed components and preserves Hedron render metadata. Strict
mode checks a finite dynamic sink matrix with purpose-specific URL filters. Deployment capability
declarations and application policy remain separate and authoritative. Format v1 accepts static
`.hdj` dependencies only and every source must render through `HedronJinja`. HDJ is not a sandbox
for hostile template authors.
