Для того, щоб спростити написання веб-сторінок, vibe.d використовує шаблони DIET, які є спрощеним синтаксисом для написання HTML-сторінок. DIET базується на шаблонах Jade.
doctype html
html(lang="en")
head
// Обчислюється D-код
title #{pageTitle}
// атрибути
script(type='text/javascript')
if (foo) bar(1 + 5)
// ID = body-id
// style = the-style
body#body-id.the-style
h1 шаблон DIET
Синтаксис містить відступи, тому немає необхідності вводити теги для закриття.
Всі шаблони DIET компілюються і зберігаються у пам'яті для досягнення
максимальної продуктивності. Шаблони DIET дозволяють використовувати
D-код, який обчислюється при відображенні сторінки. Поодинокі вирази
розміщуються у виразі #{ 1 + 1 }
і можуть бути використані будь-де
у шаблоні. Всі рядки D-коду мають префікс -
на початку рядка:
- foreach(title; titles)
h1 #{title}
Таким чином, можуть бути використані складні вирази, а також можна визначити функції, які використовуються для остаточного виводу HTML.
Шаблони DIET складаються за допомогою CTFE і повинні знаходитися
у теці views
у стандартному проекті vibe.d. Для того, щоб насправді
відтворити шаблон DIET, використовуйте функцію render
в
URL-обробнику:
void foo(HTTPServerResponse res) {
string pageTitle = "Привіт";
int test = 10;
res.render!("my-template.dt", pageTitle, test);
}
Усі змінні D, які є доступними для шаблону DIET передаються в якості
параметрів шаблону для функції render
.