mustache-haskell: Straight implementation of mustache templates

[ library, mit, program, text ] [ Propose Tags ]

Straight implementation of mustache templates


[Skip to Readme]
Versions [faq] 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.0.5
Dependencies aeson, base (==4.7.*), bytestring, directory, mustache-haskell, optparse-applicative (>=0.11.0 && <0.12.0), parsec, pretty-show, scientific (>=0.3.0.0 && <0.4.0.0), text, transformers, unordered-containers, vector [details]
License MIT
Author Daniel Choi
Maintainer dhchoi@gmail.com
Category Text
Home page https://github.com/danchoi/mustache-haskell
Uploaded by DanielChoi at 2014-12-08T21:58:29Z
Distributions NixOS:0.1.0.5
Executables mus
Downloads 3322 total (21 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for mustache-haskell-0.1.0.1

[back to package description]

mustache-haskell

A Haskell implementation of mustache templates.

Should be compatible with the the mustache specification.

Install

You need the Haskell platform on your system.

cabal install mustache

Or alternatively

git clone git@github.com:danchoi/mustache-haskell.git
cd mustache-haskell
cabal sandbox init
cabal install
# Now copy .cabal-sandbox/bin/mus to your PATH

Usage

mus template.mustache < input.json
mus v0.1.0.0

Usage: mus [-c] FILE
  A Haskell implementation of Mustache templates. On STDIN provide the JSON to
  insert into the template.

Available options:
  -h,--help                Show this help text
  -c                       Just output parse tree of template file

List separator syntax

mustache-haskell adds one additional feature to the mustache specification. If you are outputing elements of a list, you can designate an optional list separator with the following syntax:

{{#hobbies, }}{{#name}}{{/hobbies}}

This designates ", " as the list separator and will output

sewing, brewing, cooking

when the input is

{"hobbies":[{"name":"sewing"},{"name":"brewing"},{"name":"cooking"}]}