Данная статья содержит в себе описание основных возможностей шаблонизатора Handlebars и является свободным переводом его официальной документации. Итак, поехали…
Рубрика «шаблонизаторы»
One-liner для компиляции шаблонов на Lua
2014-11-16 в 8:51, admin, рубрики: Lua, Веб-разработка, Программирование, шаблонизаторы Синтаксис Lua позволяет реализовать шаблоны в стиле PHP буквально несколькими регулярными выражениями.
Для начала посмотрим, что из этого выйдет.
Подстановка переменных
<a href="<%url%>"><%label%></a>
Логические конструкции
Будет
<? if 1 > 2 then ?>
лучше
<? else ?>
хуже
<? end ?>
Циклы
<ul>
<? for i = 1, 9999 do ?>
<li>ФЗ №<%i%></li>
<? end ?>
</ul>
cnCt — клиентский js шаблонизатор
2013-11-17 в 16:39, admin, рубрики: javascript, шаблонизаторы, метки: client-side, javascript, шаблонизаторы Рано или поздно шаблонизация перемещается на клиент. На данный момент существует несколько общепринятых клиентских шаблонизаторов ими являются mustache и underscore.template или что-нибудь подобное (в доклад(ах) Сергея Бережного можно найти ещё). Несмотря на огромное количество клиентских шабнизаторов большинство, за редким исключением, являются строчными.
Читать полностью »
Пишем свой JavaScript шаблонизатор
2013-11-14 в 12:34, admin, рубрики: javascript, javascript library, template engine, template parser, templater, templates, Веб-разработка, шаблонизатор, шаблонизаторы, шаблонизация, метки: javascript, javascript library, template engine, template parser, templater, templates, шаблонизатор, шаблонизаторы, шаблонизация На тему шаблонизаторов статей написано великое множество, в том числе и здесь, на хабре.
Раньше мне казалось, что сделать что-нибудь своё — «на коленке» — будет очень сложно.
Но, случилось так, что прислали мне тестовое задание.
Напиши, мол, JavaScript шаблонизатор, вот по такому сценарию, тогда придёшь на собеседование.
Требование, конечно, было чрезмерным, и поначалу я решил просто игнорить.
Но из спортивного интереса решил попробовать.
Оказалось, что не всё так сложно.
Собственно, если интересно, то под катом некоторые заметки и выводы по процессу создания.
Для тех, кому только глянуть: the result, the cat.
БЭМ on Rails
2013-09-08 в 19:34, admin, рубрики: css, html, javascript, ruby on rails, templates, БЭМ, шаблонизаторы, метки: css, html, javascript, ruby on rails, templates, БЭМ, шаблонизаторы
Здравствуй, <%= habrauser %>!
Я очень люблю фреймворк Ruby On Rails, он правда очень и очень крут. Он позволяет в кратчайшие сроки реализовать твои замыслы. Раньше я много писал на нем, но сегодня я front-end разработчик. Когда я узнал о методологии БЭМ, я был в полном восторге, потому что так или иначе ты сам приходишь к чему-то подобному. Хорошо, когда дзен-процесс сокращается в разы. О том, что такое БЭМ можно прочитать тут и тут. Недавно прошедший BEMup окончательно расставил все на свои места. Мне были просто необходимы инструменты для работы с БЭМ в рамках проектов на Ruby on Rails. Конкретных решений не существовало, а bem-tools не подходит по вполне понятным причинам. Я решил написать bem-tools на Ruby.
Читать полностью »
Директивы в разметке или разметка с кодом?
2013-03-07 в 9:12, admin, рубрики: html, mvc, php, оптимизация, Программирование, шаблонизаторы, метки: mvc, PHP, оптимизация, шаблонизаторы Практически все существующие html-шаблонизаторы используют проверенный способ — «директивы в разметке». Это позволяет создать видимость инкапсуляции шаблона и, как будто бы, позволяет достичь разделения логики и отображения. На практике, шаблоны невозможно реализовать без условий, циклов и вызовов функций, а это — зависимость непосредственно разметки от используемого языка и его возможностей. При этом поддержка и изменение шаблона ложится на плечи программиста — ведь верстальщик не должен знать о ядре системы и ее объектах.
Меня давно заинтересовал другой подход к проблеме — он пришел из JavaScript, а если взять глобальнее, то из самой сути HTML.
Итак, в этой статье я расскажу о способе шаблонизации «HTML+Код».
Шаблоны в шаблонизаторе и как шаблоны Django до PHP дошли (в очередной раз)
2013-02-22 в 10:57, admin, рубрики: django, php, python, Веб-разработка, шаблонизаторы, шаблонизация, метки: Django, PHP, python, шаблонизаторы, шаблонизацияЗа предвкушением 23-го февраля можно даже и не заметить, как вечер четверговых разговоров о шаблонизаторах для PHP может плавно перетечь в вечер пятничных.
В статье будет рассмотрено несколько тем, начиная с темы нужности шаблонизаторов вообще и в PHP в частности, и заканчивая заметками о процессе создания шаблонизатора dja (портировании кода с Python на PHP).
Почему мотоцикл не смог заменить танк, или перевод сайта REG.RU с Template::Toolkit на Text::Xslate
2012-12-04 в 13:24, admin, рубрики: reg.ru, Блог компании REG.RU, скорость работы, шаблонизаторы, метки: reg.ru, скорость работы, шаблонизаторыЗа любым крупным интернет-проектом стоит автоматизированная информационная система и сайт, продающий товары или услуги. Чем крупнее проект, тем сложнее логика сайта, и тем большую нагрузку ему приходится нести. Возникают задачи увеличения «мощности» сайта и уменьшения времени отклика страниц. Как и все, кто пишет подобные системы, периодически мы проводим сессии по тюнингу скорости работы нашего сайта. Оптимизируем всё, до чего можем дотянуться. На определённом этапе упёрлись в скорость работы HTML-шаблонизатора, который сходу не совсем понятно как «разогнать». Кое-что удалось выжать с помощью кэширования подшаблонов, но, несмотря на полученные позитивные результаты, время работы шаблонизатора всё равно оставалось краеугольным камнем в скорости генерации страниц. Нужны были более радикальные меры, возможно даже другие шаблонизаторы…
Об истории одной из наших инициатив в нелёгком деле поиска Святого Грааля самого быстрого шаблонизатора читайте ниже в подробном отчете Дмитрия Карасика, который был привлечён к решению этой задачи:
«По-моему, сейчас все используют шаблонизаторы для веб-девелопмента. Все используют и потихоньку ругаются на несовершенство выбранного инструмента. Ведь миграция развесистого проекта на другой шаблонизатор – дело весьма непростое, поэтому гораздо чаще люди предпочитают что-то допиливать в уже существующем пакете, чем переписывать массу кода с неизвестным результатом.
Читать полностью »
MODX Revolution и php-шаблоны
2012-11-30 в 3:43, admin, рубрики: cms, modx, modx revolution, шаблонизаторы, метки: modx revolution, шаблонизаторыКак и у всякой CMS/CMF, у MODX есть как последователи, так и противники. Чисто субъективно, этого вообще не избежать (у каждого свои привычки, взгляды, потребности и т.п.).
Но есть ли объективные причины? Да, безусловно. И на мой взгляд одна из самых серьезных — это собственный парсер MODX.
У MODX есть ряд собственных зарегистрированных тегов, используя которые даже начинающий программист, который знает только HTML и быть может вообще не знает PHP, может собрать довольно вменяемый сайт, так как существует довольно большое количество готовых компонентов, которые устанавливаются просто в два клика. К примеру для того, чтобы получить на своей странице меню, достаточно прописать [[Wayfinder?startId=`0`]]
Сразу небольшая видео-демка с решением для тех, кому лень читать.
Читать полностью »
Write once, render anywhere — используем один шаблонизатор на клиенте и сервере
2012-07-13 в 12:27, admin, рубрики: javascript, template engine, web-разработка, Веб-разработка, шаблонизаторы, метки: javascript, template engine, web-разработка, шаблонизаторыВведение
Все вы наверняка уже слышали или используете в повседневной жизни различные шаблонизаторы, они же template engine-ы. Используем мы их обычно для генерации HTML кода. В этом процессе у нас как правило есть какая-то модель данных и HTML шаблон который мы этими данными наполняем.
Раньше HTML страницы мы генерировали только на серверной стороное, а сегодня все чаще делаем это и на клиенте. Спрос родил предложение, и у нас стало все больше появляться шаблонизаторов которые работают на JavaScript, а есть и шаблонизаторы с реализациями на множестве языков одновременно, в том числе и на серверных, какие возможности нам это дает, я попытаюсь описать в данной статье.Читать полностью »