Сообщение от kobezzza
|
Решил также добавить директиву macro, которая позволит декларировать макросы прямо в области декларации шаблона. Директиву можно будет писать только в глобальной области.
- macro :) = <img src="..." />
- macro (: = <img src="..." />
- template foo()
Hello :)
|
Додумал эту концепцию.
Будет введёт ряд директив для установки флагов транслятора, т.е. методу compile мы можем передать, например, флаг inlineIterators и тогда все forEach и forIn итераторы будут скомпилированы в виде циклов или же stringBuffer и т.д.
А теперь будет можно задать эти флаги прямо в шаблоне:
/// Отключить опцию
!- escapeOutput
!- xml
/// Включить опцию
!+ inlineIterators
/// Или просто подключение файла настроек
!= params 'myParams.json'
/// Подключение файлов для опций
!= language 'myLang.json'
!= macros 'myMacros.json'
- template helloWorld()
Hello World
Крутость такого подхода в том, что данные директивы будут распространятся только на отдельные странички, т.е. если страничка A включает страничку Б, то у них будут свои настройки, а при задачи параметров в метод compile настройки ставятся глобально.
В главной странице можно будет также задать глобальные настройки, для этого будет синтаксис:
@- escapeOutput
@- xml
@+ inlineIterators
и т.д.
Локальные настройки будут расширять глобальные.