Допилил. Наконец-то.
В общем, тем кто ещё не знает, хочу рассказать про свой шаблонизатор для NodeJS.
Исходники:
https://github.com/B-Vladi/TSN
Основные характеристики:
- Простота. Т.е. это классический шаблонизатор, типа CTPP. Не требуется изучать новый синтаксис. Используется только HTML и JS.
- Гибкость. За счет переменных и динамической подстановки контекста.
- Скорость. Рвет fest, а fest рвет CTPP. Так же рвет Dust и Mu.
- Расширяемость. Свои теги можно реализовать в этом файле, используя API шаблонизатора. Под это документации пока нет, но всегда можно подсмотреть в других тегах или спросить у меня.
- IDE-friendly. Подсветка, автокомплит и валидация (если подцепить DTD к IDE), Zen-coding, не ломает синтаксис.
Некоторые моменты:
- Подчищает отступы и переводы строк так, если бы шаблон изначально писался без тегов TSN.
- При использовании TSN-сущности, допустимы только символы /a-z0-9\-_\./, в соответствии со спецификацией XML.
- При парсинге корректно обрабатывает ошибки вложенности тегов. Обрабатывает только TSN-теги.
- Скомпилированный шаблон можно отправить на клиент и юзать там, но для этого лучше использовать специально заточенные под это шаблонизаторы, имхо.
- В значениях атрибутов тегов TSN можно использовать следующие сущности: & < > " ', а можно и не использовать, кому как больше нравиться.
На данный момент нет такого же классического XML-шаблонизатора для ноды. Да и XML-шаблонизаторов я знаю только 2 - Fest и TSN.
Убедительная просьба: не разводить holy war на тему - "Синтаксис XML - говно, юзай Dust".