CMS
Website development
HTML
12 January 2015

Возможна ли жизнь без шаблонизатора?

Tutorial
Правильный ответ — да, легко!

Практически всегда описывая устройство CleverStyle CMS у кого-то возникал вопрос, а как же настраивать внешний вид, ведь нет никаких шаблонов.
Нужно признаться, я немного лукавил, говоря, что внешний вид можно изменить с помощью CSS. Изменить-то можно, но не кардинально.
Шаблонизатора как не было, так и нет, и даже не планируется. Вместо этого для генерации простого HTML используется BananaHTML, а сам интерфейс ложится на плечи веб-компонентов и Polymer в частности.

Как я докатился до такой жизни


Шаблонизаторы по разным причинам мне не нравились всегда. В связи с этим в CleverStyle CMS есть понятие темы оформления, которая отвечает за общий облик сайта, но нет шаблонов отдельных страниц.
Во-первых если делать шаблоны отдельных страниц — вы не будете поддерживать всевозможные модули созданные сторонними разработчиками, потому будут использоваться стандартные шаблоны.
Во-вторых шаблоны не позволяют так легко наследовать, и при этом радикально менять внешний вид при необходимости (об этом речь далее).

Первоклассная поддержка веб-компонентов


Веб-компоненты появились не так давно, и есть достаточно много нюансов с их использованием, тем не менее, их удалось решить.
В связи с этим изначально было потрачено достаточно много времени на то, чтобы понять кто виноват — я, как разработчик, полифиллы, или вообще сторонние библиотеки.
Оказалось, что периодически были виноваты все.
В текущей версии CleverStyle CMS, наверное, самая надежная и в связи с этим удобная среда для использования веб компонентов.
В поставку (на момент написания статьи) входят патченные версии:

  • jQuery: исправлено поведение $.fn.offset() для элементов внутри теневого дерева (pull request), исправляет работу всплывающих подсказок и целой кучи других jQuery плагинов
  • WebComponents.js: исправлена обработка относительных путей в css файлах при наличии (pull request)
    UIkit: модифицированы стили для работы внутри теневого дерева (Скрипт для конвертации, подходит к любым стилям)
    Polymer: патч, позволяющий наследовать компоненты с теми же именами (обсуждение)

  • Используете вы CleverStyle CMS или нет, все патчи открыты и доступны, так что я рекомендую всем попробовать и выразить свое мнение в комментариях.
    За веб-компонентами будущее!
Only registered users can participate in poll.Log in, please.
Веб-компонентами пользуетесь?
17.75% Нет, и не собираюсь 41
36.8% Нет, буду использовать когда поддержка браузерами будет лучше 85
3.03% Уже использую, полифиллы работают достаточно хорошо 7
42.42% Что такое Веб-Компоненты О_о? 98
231 user voted. 82 users abstained.

+2
10.2k 51
Comments 5