Motor de Plantillas
Motor de Plantillas
Sección titulada «Motor de Plantillas»Renderizado de plantillas usando CloudyKit Jet.
Tipos de Entrada
Sección titulada «Tipos de Entrada»| Tipo | Descripción |
|---|---|
template.set | Conjunto de plantillas con configuración compartida |
template.jet | Plantilla individual |
Conjuntos de Plantillas
Sección titulada «Conjuntos de Plantillas»Un conjunto es un namespace que contiene plantillas relacionadas. Las plantillas dentro de un conjunto comparten configuración y pueden referenciarse entre sí por nombre.
- name: views kind: template.setToda la configuración es opcional con valores por defecto sensatos:
| Campo | Tipo | Por Defecto | Descripción |
|---|---|---|---|
engine.development_mode | bool | false | Deshabilitar caché de plantillas |
engine.delimiters.left | string | {{ | Delimitador de apertura de variable |
engine.delimiters.right | string | }} | Delimitador de cierre de variable |
engine.globals | map | - | Variables disponibles para todas las plantillas |
Plantillas
Sección titulada «Plantillas»Las plantillas pertenecen a un conjunto y se identifican por nombre para resolución interna.
- 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>Bienvenido, {{ name }}</h1> {{ end }}| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
set | referencia | Sí | Conjunto de plantillas padre |
source | string | Sí | Contenido de la plantilla |
Resolución de Plantillas
Sección titulada «Resolución de Plantillas»Las plantillas se referencian entre sí usando nombres, no IDs de registro. La resolución funciona como un sistema de archivos virtual dentro del conjunto:
- Por defecto, el nombre de entrada del registro (
entry.ID.Name) se convierte en el nombre de plantilla - Sobrescriba con
meta.namepara nomenclatura personalizada:
- name: email-welcome-v2 kind: template.jet set: app.emails:templates meta: name: welcome source: | {{ include "header" }} Hola {{ user }}!Esta plantilla se registra como welcome en el conjunto, así que otras plantillas usan {{ include "welcome" }} o {{ extends "welcome" }}.
Herencia
Sección titulada «Herencia»Las plantillas pueden extender plantillas padre y sobrescribir bloques:
# Padre define puntos de yield- name: base kind: template.jet set: app.views:views source: | <html> <head><title>{{ yield title() }}</title></head> <body>{{ yield body() }}</body> </html>
# Hijo extiende y llena bloques- name: page kind: template.jet set: app.views:views source: | {{ extends "base" }} {{ block title() }}Mi Página{{ end }} {{ block body() }}<p>Contenido aquí</p>{{ end }}API Lua
Sección titulada «API Lua»Ver Módulo Template para operaciones de renderizado.
Ver También
Sección titulada «Ver También»- Módulo Template - Referencia de la API Lua
- Filesystem - Carga de plantillas desde disco
- HTTP Endpoint - Renderizado de plantillas desde manejadores de solicitudes