Motor de Templates
Motor de Templates
Seção intitulada “Motor de Templates”Renderização de templates usando CloudyKit Jet.
Tipos de Entradas
Seção intitulada “Tipos de Entradas”| Tipo | Descrição |
|---|---|
template.set | Conjunto de templates com configuração compartilhada |
template.jet | Template individual |
Conjuntos de Templates
Seção intitulada “Conjuntos de Templates”Um conjunto é um namespace contendo templates relacionados. Templates dentro de um conjunto compartilham configuração e podem referenciar uns aos outros pelo nome.
- name: views kind: template.setToda configuração é opcional com padrões sensíveis:
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
engine.development_mode | bool | false | Desabilita cache de templates |
engine.delimiters.left | string | {{ | Delimitador de abertura de variável |
engine.delimiters.right | string | }} | Delimitador de fechamento de variável |
engine.globals | map | - | Variáveis disponíveis para todos os templates |
Templates
Seção intitulada “Templates”Templates pertencem a um conjunto e são identificados pelo nome para resolução 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>Bem-vindo, {{ name }}</h1> {{ end }}| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
set | referência | Sim | Conjunto de templates pai |
source | string | Sim | Conteúdo do template |
Resolução de Templates
Seção intitulada “Resolução de Templates”Templates referenciam uns aos outros usando nomes, não IDs de registro. A resolução funciona como um sistema de arquivos virtual dentro do conjunto:
- Por padrão, o nome da entrada do registro (
entry.ID.Name) se torna o nome do template - Sobrescreva com
meta.namepara nomenclatura personalizada:
- name: email-welcome-v2 kind: template.jet set: app.emails:templates meta: name: welcome source: | {{ include "header" }} Olá {{ user }}!Este template é registrado como welcome no conjunto, então outros templates usam {{ include "welcome" }} ou {{ extends "welcome" }}.
Herança
Seção intitulada “Herança”Templates podem estender templates pai e sobrescrever blocos:
# Pai define pontos de yield- name: base kind: template.jet set: app.views:views source: | <html> <head><title>{{ yield title() }}</title></head> <body>{{ yield body() }}</body> </html>
# Filho estende e preenche blocos- name: page kind: template.jet set: app.views:views source: | {{ extends "base" }} {{ block title() }}Minha Página{{ end }} {{ block body() }}<p>Conteúdo aqui</p>{{ end }}API Lua
Seção intitulada “API Lua”Veja Módulo Template para operações de renderização.
Veja Também
Seção intitulada “Veja Também”- Módulo Template - Referência da API Lua
- Filesystem - Carregamento de templates do disco
- HTTP Endpoint - Renderização de templates a partir de handlers de requisição