Template-Engine
Template-Engine
Abschnitt betitelt „Template-Engine“Template-Rendering mit CloudyKit Jet.
Entry-Typen
Abschnitt betitelt „Entry-Typen“| Kind | Beschreibung |
|---|---|
template.set | Template-Set mit gemeinsamer Konfiguration |
template.jet | Einzelnes Template |
Template-Sets
Abschnitt betitelt „Template-Sets“Ein Set ist ein Namespace der verwandte Templates enthält. Templates innerhalb eines Sets teilen sich die Konfiguration und können sich gegenseitig über den Namen referenzieren.
- name: views kind: template.setAlle Konfiguration ist optional mit sinnvollen Standardwerten:
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
engine.development_mode | bool | false | Template-Caching deaktivieren |
engine.delimiters.left | string | {{ | Variablen-Öffnungstrennzeichen |
engine.delimiters.right | string | }} | Variablen-Schließtrennzeichen |
engine.globals | map | - | Variablen verfügbar für alle Templates |
Templates
Abschnitt betitelt „Templates“Templates gehören zu einem Set und werden für interne Auflösung über den Namen identifiziert.
- name: layout kind: template.jet set: app.views:views source: | <html> <body>{{ yield content() }}</body> </html>
- name: home kind: template.jet set: app.views:views source: | {{ extends "layout" }} {{ block content() }} <h1>Willkommen, {{ name }}</h1> {{ end }}| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
set | reference | Ja | Übergeordnetes Template-Set |
source | string | Ja | Template-Inhalt |
Template-Auflösung
Abschnitt betitelt „Template-Auflösung“Templates referenzieren sich gegenseitig über Namen, nicht Registry-IDs. Die Auflösung funktioniert wie ein virtuelles Dateisystem innerhalb des Sets:
- Standardmäßig wird der Registry-Entry-Name (
entry.ID.Name) zum Template-Namen - Mit
meta.namefür benutzerdefinierte Benennung überschreiben:
- name: email-welcome-v2 kind: template.jet set: app.emails:templates meta: name: welcome source: | {{ include "header" }} Hallo {{ user }}!Dieses Template wird als welcome im Set registriert, also verwenden andere Templates {{ include "welcome" }} oder {{ extends "welcome" }}.
Vererbung
Abschnitt betitelt „Vererbung“Templates können Eltern-Templates erweitern und Blöcke überschreiben:
# Eltern definiert yield-Punkte- name: base kind: template.jet set: app.views:views source: | <html> <head><title>{{ yield title() }}</title></head> <body>{{ yield body() }}</body> </html>
# Kind erweitert und füllt Blöcke- name: page kind: template.jet set: app.views:views source: | {{ extends "base" }} {{ block title() }}Meine Seite{{ end }} {{ block body() }}<p>Inhalt hier</p>{{ end }}Lua-API
Abschnitt betitelt „Lua-API“Siehe Template-Modul für Rendering-Operationen.
Siehe auch
Abschnitt betitelt „Siehe auch“- Template-Modul - Lua-API-Referenz
- Dateisystem - Templates von Disk laden
- HTTP-Endpoint - Templates aus Request-Handlern rendern