Template-Engine: minijinja-cli in Bash-Generator integrieren #4

Closed
opened 2026-05-31 21:26:05 +02:00 by holm · 0 comments
Owner
Dimension Bewertung Einschätzung
Aufwand ████░░░░░░ Mittel — Binary einbinden, Daten als JSON übergeben, Templates neu schreiben
Nutzen █████████░ Sehr hoch — Jinja2-Syntax, Loops/Pagination/Filter, designerfreundlich
Bruchhäufigkeit ██░░░░░░░░ Niedrig — stabile externe Binary, klar definierte Schnittstelle
Nachhaltigkeit ████████░░ Hoch — Jinja2 ist etabliert, weit verbreitet, gut dokumentiert
Dringlichkeit █████░░░░░ Mittel — PoC ist fertig, nächster logischer Schritt

Ziel

Den Bash-Generator (poc/build.sh) von der eigenen render_template-awk-Funktion auf minijinja-cli umstellen. Damit wird die Template-Syntax für Mediengestalter verständlich und erweiterbar.

Entscheidung

Template-Engine: minijinja-cli (Rust-Binary, Jinja2-kompatibel, kein Python nötig).

Syntax-Beispiel:

{{ feed_title }}
{% for ep in episodes %}
  <li>{{ ep.title }} — {{ ep.subtitle }}</li>
{% endfor %}

Arbeitsschritte

  • minijinja-cli Binary beschaffen / Installationsweg klären (NixOS)
  • Episodendaten als JSON an minijinja-cli übergeben (jq-Aggregation)
  • Templates in Jinja2-Syntax schreiben: episode.html, index.html
  • poc/build.sh anpassen: render_template-awk durch minijinja-cli-Aufruf ersetzen
  • Pagination-Konzept für Index-Seite (viele Episoden)
  • Vollständiger Testlauf mit sample_project_22

Abhängigkeiten

| Dimension | Bewertung | Einschätzung | |---|---|---| | Aufwand | `████░░░░░░` | Mittel — Binary einbinden, Daten als JSON übergeben, Templates neu schreiben | | Nutzen | `█████████░` | Sehr hoch — Jinja2-Syntax, Loops/Pagination/Filter, designerfreundlich | | Bruchhäufigkeit | `██░░░░░░░░` | Niedrig — stabile externe Binary, klar definierte Schnittstelle | | Nachhaltigkeit | `████████░░` | Hoch — Jinja2 ist etabliert, weit verbreitet, gut dokumentiert | | Dringlichkeit | `█████░░░░░` | Mittel — PoC ist fertig, nächster logischer Schritt | ## Ziel Den Bash-Generator (`poc/build.sh`) von der eigenen `render_template`-awk-Funktion auf **minijinja-cli** umstellen. Damit wird die Template-Syntax für Mediengestalter verständlich und erweiterbar. ## Entscheidung Template-Engine: **minijinja-cli** (Rust-Binary, Jinja2-kompatibel, kein Python nötig). Syntax-Beispiel: ```html {{ feed_title }} {% for ep in episodes %} <li>{{ ep.title }} — {{ ep.subtitle }}</li> {% endfor %} ``` ## Arbeitsschritte - [ ] minijinja-cli Binary beschaffen / Installationsweg klären (NixOS) - [ ] Episodendaten als JSON an minijinja-cli übergeben (jq-Aggregation) - [ ] Templates in Jinja2-Syntax schreiben: `episode.html`, `index.html` - [ ] `poc/build.sh` anpassen: render_template-awk durch minijinja-cli-Aufruf ersetzen - [ ] Pagination-Konzept für Index-Seite (viele Episoden) - [ ] Vollständiger Testlauf mit sample_project_22 ## Abhängigkeiten - Setzt Issue #3 (Bash-PoC) voraus — erledigt, geschlossen - minijinja-cli: https://github.com/mitsuhiko/minijinja (Rust, MIT)
holm closed this issue 2026-05-31 23:45:50 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Zentonic/zentonic-publisher#4
No description provided.