Вообще для Snakeskin прям напрашивается boilerplate либа, которая реализует, например, макеты на bootstrap и пласт полезных функций, аля
- proto base->icon(type)
< span class = fa #{type}
-template base()
- doctype
< html
< head
< title :: {title = 'Заголовок' ?}
- block scripts
< cdn bootstrap
< cdn fontawesome
< body
- block body
- proto classic->menu(list)
- forEach list => @el
...
-template classic() extends base
- block scripts
- super
< cdn jquery-ui
- block body
/// Тут идёт вёрстка макета и разбинение на блоки для наследования
И уже при самой разработке можно было бы просто подключать нужный файл и наследовать шаблон от него.
Тоже самое и для UI, причём шаблоны удобно делать как метод класса UI контрола,
- template Button.prototype.tpl() extends Base.prototype.tpl
...
- template SuperButton.prototype.tpl() extends Button.prototype.tpl
...