Knír (systém šablon) - Mustache (template system)
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
První vydání | 2009 |
---|---|
Úložiště | ![]() |
Licence | MIT |
webová stránka | knír |
Knír je systém webových šablon s implementace dostupné pro ActionScript, C ++, Clojure, CoffeeScript, Studená fúze, Společný Lisp, D, Šipka, Delphi, Erlang, Fantom, Jít, Haskell, Io, Jáva, JavaScript, Julie, Lua, .SÍŤ, Cíl-C, OCaml, Perl, PHP, Pharo, Krajta, R, Raketa, Raku, Rubín, Rez, Scala, Pokec, Rychlý, Tcl, CFEngine a XQuery.
Knír je popsán jako systém bez logiky, protože mu chybí jakýkoli explicitní regulační tok prohlášení, jako -li a jiný podmíněné nebo pro smyčky; smyčkového i podmíněného vyhodnocení však lze dosáhnout pomocí zpracování značek sekcí seznamy a lambdy.
Je pojmenován „Knír“, protože je příliš používán rovnátka, {}, které připomínají bokem knír.
Knír se používá hlavně pro mobilní a webové aplikace.[1][2]
Historie a principy
Knír-1 byl inspirován ctemplate a et,[3] a začal jako Distribuce GitHub na konci roku 2009. První verze stroj šablony byl implementován s Rubín běží YAML texty šablon. (Zachované) hlavní principy byly:
- "logic-less": žádné explicitní příkazy řízení toku, vše řízení poháněno daty.
- silný "oddělující logiku od prezentace ": je nemožné vložit logiku aplikace do šablon Moustache.
Vstupními daty mohou být a třída, takže vstupní data lze charakterizovat jako Pohled MVC. Knír šablona nedělá nic jiného než referenční metody v (vstupních datech) Pohled.[3] V tomto je obsažena veškerá logika, rozhodnutí a kód Pohleda všechny značky (např. výstup XML ) je obsažen v šablona. V MVP kontext: vstupní data jsou z MVP-Moderátora šablona Mustache je MVP-Pohled.
Příklady
Nejjednodušší šablona:
Šablona se značkou sekce:
Tady, kdy X
je Booleovský hodnota, pak značka sekce funguje jako -li podmíněné, ale kdy X
je pole pak se chová jako a foreach smyčka.
Šablona, která není uniknuta:
Tady, pokud tělo
obsahuje HTML, neunikne.
Technické údaje
Zvýraznění syntaxe je k dispozici v Atom, Coda, Emacs[4], TextMate, Vim a Kód sady Visual Studio[5].
Podpora šablon Mustache je zabudována do mnoha rámce webových aplikací (např. CakePHP )[Citace je zapotřebí ]. Podpora v JavaScriptu zahrnuje obojí na straně klienta programování s mnoha Knihovny JavaScript a Ajax rámce jako jQuery, Dojo a YUI, stejně jako JavaScript na straně serveru použitím Node.js a CommonJS.
Specifikace a implementace
Je jich mnoho Knír Engine dostupné implementace a všechny splňují společné Specifikace (viz externí odkazy) - výsledkem pro konečné uživatele je společná syntaxe.
V březnu 2011 byla poslední SPEC_VERSION 1.1.2.[6]
Všechno Knír motory, v architektuře v1.X, mají poskytnout metoda, a Mustache_Compiler třída a Analyzátor třída.[Citace je zapotřebí ]
Variace a deriváty
Moustache inspiroval mnoho knihoven šablon JavaScript, které vycházely z původní jednoduchosti a přidaly určité funkce nebo použití.[Citace je zapotřebí ]
Řídítka
Řídítka.js je self-popsal jako:
Handlebars.js je rozšíření k jazyku Mustache templating, který vytvořil Chris Wanstrath. Handlebars.js a Mustache jsou oba bez logické šablonové jazyky, které udržují zobrazení a kód oddělené, jak všichni víme, že by měli být.[7]
Řídítka se liší od svého předchůdce v tom, že v části „Blokové výrazy“ (podobně jako sekce v Knírku) umožňují „Pomocníci“ vlastní funkce prostřednictvím explicitního kódu napsaného uživatelem pro tento blok.
Reference
- ^ „Smashing Mobile Web Development“, G. Avola a J. Raasch, 2012. ISBN 9781118348123.
- ^ „Functional Programming Applied to Web Development Templates“, J. Cady, 2011. Zpráva o projektu MS.
- ^ A b https://github.com/defunkt/mustache/blob/master/README.md
- ^ http://web-mode.org
- ^ „Moustache - Visual Studio Marketplace“. visualstudio.com. Microsoft. 18. srpna 2019.
- ^ "Změny". Knír. GitHub. 20. března 2011.
- ^ wykatz, NPM. „html + řídítka NPM“. Podrobnosti o balíčku NPM html + řídítka. Správce balíků uzlů. Citováno 20. prosince 2016.