writeMaster обьектно-текстовый шаблонизатор HTML для nodejs и на клиенте в браузере
JavaScript
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 2 commits ahead of flash:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
benchmark
README
master_texthtml.js
package.json

README

ради эксперимента сделал клон своего "объектного шаблонизатора" на клиенте для nodejs.

ВАЖНО!!! . Он никогда по скорости не превзойдет текстовые шаблонизаторы, и даже рядом стоять не будет. не стоит ожидать этого от него.

но возможно он не самый быстрый но у него есть важное свойство это "html entities" из коробки. тоесть об экранирование вообше ненужно думать. Это актуально потому как XSS по вине человеческого фактора очень часты даже на серьезных ресурсах подобия почтовых хостингов.

процес разбит на две части сперва генерируется псевдо DOM древо а потом это древо преобразуется в html. поэтому за "html entities" отвечает преобразователь а не вы.

вторым плюсом он работает также и в браузере. пример ниже можно запустить в консоле и он сработает.

третия особенность что шаблоны за исключением некоторых моментам совместимы с оригиналом domMaster который формирует не text/plain, а сразу строит в браузере DOMHTML

в плюсы также можно отнести что синтаксис это обычный js и хорошей литература по этому поводу искать нет проблем, просто расширяется всем что нужно, в редакторах нормальная подсветка, само собой собой привычные удобные js-ные комментарии в коде, относительно маленький код самого мастера, и ненужно компилировать шаблоны.

ну и отличительная черта "объектного шаблонизатора" то что результатом работы в шаблоне является объект который можно как-то изменить или достроить или вообще что-та удалить. 


----
сравнение с jade. приведены только лучшие результаты. тесты взяты из исходников jade. node v0.5.10-pre

jade
    tiny: 55652
    small: 9660
    small locals: 7191

master
    tiny: 99403
    small: 20173
    small locals: 18681