Баги, реквесты, и обсуждение include.js

Nov 08, 2010 16:22

Здесь будет обсуждение моей либы из предыдущего поста.

UDP: репозиторий здесь: https://github.com/gaperton/include.js

Прогресс по плану под катом.


0. "Официальный" репозиторий на гитхабе.

Сделано.

1. Поддержка ASP-style тегов как второго варианта.

{{ expression}} <-> <%= expression %>
{- code -} <-> <% code %>
{-- section_name --} <-> <%+ section_name %>

Сделано Работают одновременно все теги, ничего переключать не нужно.

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

Сделано больше Реализован интерфейс плагинов. Простой, и чистый. Можно добавлять любые типы контента, не только шаблонные движки для HTML. И это делается очень просто. Реализация встроенного шаблонного движка теперь является плагином.

2. Поддержка секции по умолчанию.
Код сверху страницы до первого тега секции будет являться главной секцией.

tmpl( context ) : String; // вызов секции по умолчанию (главной).
tmpl.section_name( context ) : String // вызов секции section_name.

Сделано.

tmpl.$( context ) : jQuery; // то же, но возвращает jQuery-объект.
tmpl.section_name.$( context ) // то же, но возвращает jQuery-объект.

Удалено нафиг, как слишком замороченное при мизерной пользе

3. Новый способ включения шаблонов.

- Шаблоны всегда включаются под именем _.html, и только под ним.
- Если надо включить несколько шаблонов в один модуль - это делается так:

$.include({
html:{
a : "my/template.html",
b : "my/template_b.html"
}
})
.define( function( _ ){
...
var $a = _.html.a.$( context );
var $a = _.html.b.$( context );
...
});

То есть, они попадут в неймспейс _.html

Сделано, как часть плагинного интерфейса

5. В следующих сериях будет сделано плагинами
- поддержка включения стилей. По тому же принципу, что и html. И - тоже можно будет задавать css-ам отдельный рут в include.settings. Параметр будет называться css.

$.include({
html: "my/template",
css: "my/style"
})
.define( function( _ ){
...
var $this = _.html.$( context );
...
});

А если стилей будет много - то так:

$.include({
html: "my/template",
css: ["my/style1", "my/style2"]
})
.define( function( _ ){
...
var $this = _.html.$( context );
...
});

Стили вставляются при загрузке в основной документ автоматом, и в неймспейсе _ недоступны.

7) поддержка внедрения стилей в текст шаблона - обычным HTML-тэгом style.

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

requery.js

Previous post Next post
Up