Описание тега mustache
Mustache - это "лишенный логики" язык шаблонов, доступный на нескольких языках.
Mustache предоставляет "шаблоны без логики". Он имеет реализации на ruby, javascript, python, erlang, php, perl, objective-c, java, .net, android, C++, go, lua, ooc, actionscript, coldfusion, scala, clojure, fantom и node.js. Он поддерживает списки и лямбды, но не позволяет использовать встроенную программную логику (как, например, в шаблонах Django). Как следует из слогана "шаблоны без логики", это исключение логики сделано намеренно.
Разметка усов очень проста:
<nav>
<h1>{{title}}</h1>
<ul>{{#navList}}
<li><a href="{{link}}">{{text}}</a></li>
{{/navList}}</ul>
</nav>
Структура HTML и разметка {{усы}} прекрасно сочетаются друг с другом.
Между тем, в JavaScript, например, использование шаблона не могло быть проще:
var navhtm = ... //Here would be some code to pull in template HTML*
var navobj = { //Data structure to define a menu
title : "Main Menu",
navList : [
{ link: "page1.html", text: "Page 1" },
{ link: "page2.html", text: "Page 2" },
{ link: "pageC.html", text: "Page C" }
]
;
//Of course, that data structure could come from the server or elsewhere...
//Render the template and stick it into the id="Nav" element using jQuery.
$("#Nav").html(Mustache.to_html(navhtm,navobj));
Это приведет к id="Nav"
тег, заполняемый этим HTML:
<nav>
<h1>Main Menu</h1>
<ul>
<li><a href="page1.html">Page 1</li>
<li><a href="page2.html">Page 2</li>
<li><a href="pageC.html">Page C</li>
</ul>
</nav>