A engine de templates do TucanoDocs é uma linguagem de templates flexível e eficiente. Ela permite a criação de documentos dinâmicos utilizando variáveis, expressões e loops que interagem diretamente com os dados em JSON. Vamos explorar as principais funcionalidades da template engine.
Para acessar valores no JSON, basta referenciar os campos diretamente no template usando variáveis. Você pode exibir qualquer valor dentro do seu objeto de dados com a sintaxe:
1{{ campo }}
No exemplo acima, {{ campo }}
exibirá o valor do campo campo
no JSON. Substitua campo
pelo nome do atributo que você quer acessar.
As condicionais são úteis para exibir conteúdo com base em condições. Abaixo, mostramos como usar if
e else
para lógica condicional:
1{% if campo == 'valor' %}2 <p>O campo é igual a 'valor'</p>3{% else %}4 <p>O campo tem outro valor</p>5{% endif %}
Neste exemplo, se o valor de campo
for igual a 'valor'
, será exibido o parágrafo O campo é igual a 'valor'. Caso contrário, o parágrafo alternativo será mostrado.
Loops são essenciais para trabalhar com listas de dados. Com for
, você pode iterar sobre arrays no JSON e renderizar cada item no template:
1{% for item in lista %}2 <div>3 <h3>{{ item.nome }}</h3>4 <p>{{ item.descricao }}</p>5 </div>6{% endfor %}
No exemplo acima, o loop percorre a lista de objetos e exibe o nome e a descrição de cada item. Substitua lista
pelo nome do array de dados que você está iterando.
Filtros permitem modificar ou formatar dados diretamente no template. Eles são aplicados a variáveis e podem alterar o conteúdo de forma simples:
1{{ campo | upper }}
O exemplo acima usa o filtro upper
para transformar o valor de campo
em letras maiúsculas. Outros filtros disponíveis incluem lower
, date
, entre outros.
Macros são como funções reutilizáveis que você pode definir no template para evitar repetição de código. Um exemplo simples:
1{% macro saudacao(nome) %}2 <p>Olá, {{ nome }}!</p>3{% endmacro %}45{{ saudacao("Maria") }}
Neste exemplo, o macro saudacao
recebe um nome e exibe uma saudação personalizada. Chamamos a macro com o nome "Maria", resultando em Olá, Maria! no documento gerado.
Você pode criar funções personalizadas para usar diretamente no seu template. Por exemplo:
1{% set total = 0 %}2{% for item in lista %}3 {% set total = total + item.valor %}4{% endfor %}5<p>Total: {{ total }}</p>
Este exemplo calcula o total somando o valor de cada item em uma lista, e exibe o total ao final.
A template engine do TucanoDocs oferece grande flexibilidade na criação de documentos dinâmicos. Com variáveis, condicionais, loops, filtros e macros, você pode criar templates sofisticados de maneira eficiente e organizada. Explore as funcionalidades e personalize seus documentos conforme a necessidade.