Mustache (template system)

Mustache
Original author(s)Justin Hileman, Bruno Sutic, Chris Wanstrath, Ricardo Mendes, Bruno Michel
Initial release2009; 15 years ago (2009)
Stable release
4.2.0 / March 28, 2021; 3 years ago (2021-03-28)
Repository
TypeWeb template system
LicenseMIT
Websitemustache.github.io

Mustache is a web template system. It is described as a logic-less system because it lacks any explicit control flow statements, like if and else conditionals or for loops; however, both looping and conditional evaluation can be achieved using section tags processing lists and anonymous functions (lambdas). It is named "Mustache" because of heavy use of braces, { }, that resemble a sideways moustache. Mustache is used mainly for mobile and web applications.[1][2]

Implementations are available in ActionScript, C++, Clojure, CoffeeScript, ColdFusion, Common Lisp, Crystal, D, Dart, Delphi, Elixir, Erlang, Fantom, Go, Haskell, Io, Java, JavaScript, Julia, Lua, .NET, Objective-C, OCaml, Perl, PHP, Pharo, Python, R, Racket, Raku, Ruby, Rust, Scala, Smalltalk, Swift, Tcl, CFEngine, and XQuery.

  1. ^ Avola, G.; Raasch, J. (2012). Smashing Mobile Web Development. ISBN 9781118348123.
  2. ^ Cady, J. (2011). Functional Programming Applied to Web Development Templates: MS Project Report (PDF) (Report).