# Genera texto con plantillas Tangular

> Usa Tangular.render() para rellenar plantillas de e-mails, documentos y mensajes con condiciones, bucles y helpers.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: es
Content-SHA256: e4f1c89d3e68c3bac65e93655edf5b8577379b07745db312e4c83627765370e9
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

Tangular es el pequeño lenguaje de plantillas de Total.js (también funciona en el navegador con jComponent). Escribe `{{ value }}` para imprimir un valor escapado, `{{ if expression }}...{{ fi }}` para condiciones y `{{ foreach item in list }}...{{ end }}` para bucles. `Tangular.render(template, model)` devuelve el texto; usa `Tangular.compile(template)` una vez y llama al resultado muchas veces en los caminos críticos.

Las variables se leen del modelo, así que `{{ user.name }}` lee `model.user.name`. La salida se escapa como HTML; añade el helper `raw` (`{{ html | raw }}`) solo para contenido de confianza.

```js controllers/mail.js
exports.install = function() {
	ROUTE('POST /preview/', preview);
};

var template = 'Hello {{ name }}!{{ if vip }} Thanks for being a VIP.{{ fi }}\n{{ foreach item in items }}- {{ item.title }}\n{{ end }}';

function preview($) {
	$.plain(Tangular.render(template, $.body));
}
```
