A mustache template parser library.
Allows parsing and rendering template files with mustache markup. See the mustache language reference.
Implements the mustache spec version 1.1.3.
Note: Versions including and beyond 0.4 are compatible with ghc 7.8 again.
mustache
Haskell implementation of mustache templates.
Implements the official specs version 1.1.3
Motivation
The old Haskell implementation of mustache templates hastache seemed pretty abandoned to me. This implementation aims to be much easier to use and (fingers crossed) better maintained.
Since it is so easy to use and requires but a few files of code, I've also written a small executable that compiles and renders mustache templates with data input from json or yaml files.
Usage
Library
Please refer to the documentation on hackage.
Executable haskell-mustache
$ haskell-mustache --help
Simple mustache template substitution
arguments [OPTIONS] TEMPLATE [DATA-FILES]
Common flags:
-t --templatedirs[=DIRECTORY] The directory in which to search for the
templates
-? --help Display help message
-V --version Print version information
Current implementation substitutes the TEMPLATE
once with each DATA-FILE
Example
$ haskell-mustache my-template-file data-file-1.json data-file-2.json data-file-3.json
Roadmap
- [x] String parser for mustache templates
- [x] Template substitution
- [x] Standalone executable
- [x] Support for 'set delimiter'
- [x] More efficiency using
Text
rather thanString
- [x] More efficient Text parsing
- [x] Test coverage provided via the official specs
- [x] Haddock documentation
- [ ] More instances for
ToMustache
typeclass.