# Generare testo con i template Tangular

> Usa Tangular.render() per riempire modelli di e-mail, documenti e messaggi con condizioni, cicli e helper.

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

Tangular è il piccolo linguaggio di template di Total.js (gira anche nel browser con jComponent). Scrivi `{{ value }}` per stampare un valore con escape, `{{ if expression }}...{{ fi }}` per le condizioni e `{{ foreach item in list }}...{{ end }}` per i cicli. `Tangular.render(template, model)` restituisce il testo; usa `Tangular.compile(template)` una volta e chiama il risultato molte volte nei percorsi critici.

Le variabili vengono lette dal modello, quindi `{{ user.name }}` legge `model.user.name`. L'output viene sottoposto a escape HTML; aggiungi l'helper `raw` (`{{ html | raw }}`) solo per contenuti affidabili.

```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));
}
```
