Усы (система шаблонов) - Mustache (template system)
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
изначальный выпуск | 2009 |
---|---|
Репозиторий | |
Лицензия | Массачусетский технологический институт |
Интернет сайт | усы |
Усы это система веб-шаблонов с реализации доступны для ActionScript, C ++, Clojure, CoffeeScript, Холодный синтез, Common Lisp, D, Дротик, Delphi, Erlang, Фантом, Идти, Haskell, Ио, Ява, JavaScript, Юля, Lua, .СЕТЬ, Цель-C, OCaml, Perl, PHP, Pharo, Python, р, Ракетка, Раку, Рубин, Ржавчина, Scala, Болтовня, Быстрый, Tcl, CFEngine и XQuery.
Усы описываются как "лишенная логики" система, поскольку в ней отсутствуют какие-либо явные поток управления заявления, как если и еще условные или же для петель; однако как циклическое, так и условное вычисление могут быть выполнены с использованием обработки тегов разделов списки и лямбды.
Он назван «Усы» из-за интенсивного использования подтяжки, {}, которые напоминают боковую усы.
Moustache используется в основном для мобильных и веб-приложений.[1][2]
История и принципы
Усы-1 был вдохновлен ctemplate и et,[3] и начинал как Распространение GitHub в конце 2009 года. Первая версия шаблонизатор был реализован с Рубин, Бег YAML шаблоны текстов. Основными (сохраненными) принципами были:
- "без логики": нет явных инструкций потока управления, все управление управляемый данными.
- сильный "отделяя логику от представления ": невозможно встроить логику приложения в шаблоны Mustache.
Входные данные могут быть учебный класс, поэтому входные данные можно охарактеризовать как MVC-просмотр. Усы шаблон ничего не делает, кроме ссылочных методов в (входных данных) Посмотреть.[3] Вся логика, решения и код содержатся в этом Посмотреть, и вся разметка (например, вывод XML ) содержится в шаблон. В MVP контекст: входные данные взяты из MVP-ведущий, а шаблон Mustache - это MVP-Посмотреть.
Примеры
Самый простой шаблон:
Шаблон с тегом раздела:
Здесь, когда Икс
это Булево значение, то тег раздела действует как если условно, но когда Икс
является множество тогда он действует как цикл foreach.
Шаблон, который не экранирован:
Здесь, если тело
содержит HTML, этого не избежать.
Технические детали
Подсветка синтаксиса доступен в Атом, Coda, Emacs[4], TextMate, Vim и Код Visual Studio[5].
Поддержка шаблонов Mustache встроена во многие рамки веб-приложений (бывший. CakePHP )[нужна цитата ]. Поддержка в JavaScript включает в себя как сторона клиента программирование со многими Библиотеки JavaScript и Фреймворки Ajax Такие как jQuery, Додзё и Юй, а также серверный JavaScript с помощью Node.js и CommonJS.
Спецификация и реализации
Есть много Усы Двигатель доступны реализации, и все они соответствуют общему Технические характеристики (см. внешние ссылки) - что для конечных пользователей приводит к общему синтаксису.
По состоянию на март 2011 г. последняя версия SPEC_VERSION была 1.1.2.[6]
Все Двигатели с усамив архитектуре v1.X иметь оказывать метод, a Усы_компилятор класс и Парсер учебный класс.[нужна цитата ]
Вариации и производные
Усы вдохновили множество библиотек шаблонов JavaScript, которые исходили из первоначальной простоты для добавления определенных функций или использования.[нужна цитата ]
Рули
Handlebars.js самоописывается как:
Handlebars.js - это расширение языка шаблонов Mustache, созданное Крисом Ванстратом. Handlebars.js и Mustache - это языки шаблонов без логики, которые разделяют представление и код, как мы все знаем, что они должны быть.[7]
Handlebars отличается от своего предшественника тем, что внутри «Block Expressions» (аналогично разделам в Mustache) «Helpers» разрешают настраиваемые функции посредством явного написанного пользователем кода для этого блока.
Рекомендации
- ^ "Smashing Mobile Web Development", Г. Авола и Дж. Рааш, 2012 г. ISBN 9781118348123.
- ^ «Функциональное программирование, применяемое к шаблонам веб-разработки», Дж. Кэди, 2011. Отчет MS Project.
- ^ а б https://github.com/defunkt/mustache/blob/master/README.md
- ^ http://web-mode.org
- ^ "Усы - Visual Studio Marketplace". visualstudio.com. Microsoft. 18 августа 2019.
- ^ "Изменения". Усы. GitHub. 20 марта 2011 г.
- ^ wykatz, NPM. "html + руль NPM". html + handlebars Детали пакета NPM. Диспетчер пакетов узлов. Получено 20 декабря 2016.