The hastache-aeson package

[Tags:bsd3, library]

The Module lets you render Hastache templates from aeson values. See the GitHub page for examples.

[Skip to Readme]


Dependencies aeson (>=, base (>=4.6 && <5), bytestring (>=0.10), containers (>=0.5), hastache (>=0.5), scientific (>=0.2), text (>=0.11), unordered-containers (>=0.2), vector (>=0.10) [details]
License BSD3
Copyright Vladimir Kirillov
Author Vladimir Kirillov <>
Maintainer Vladimir Kirillov <>
Stability Unknown
Category Text
Home page
Bug tracker
Source repository head: git clone git://
Uploaded Fri Sep 11 10:34:43 UTC 2015 by VladimirKirillov
Distributions NixOS:
Downloads 387 total (4 in the last 30 days)
0 []
Status Docs available [build log]
Last success reported on 2015-09-11 [all 1 reports]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for hastache-aeson

Readme for hastache-aeson-


Build Status

  • Lets you pass aeson Value as MuContext to hastache
  • Since yaml is API-compatible to aeson, you can also render yaml Values.


{-# LANGUAGE OverloadedStrings #-}

import qualified Data.ByteString.Char8 as BS
import qualified Data.ByteString.Lazy.Char8 as LBS

import Control.Monad
import Data.Maybe (fromJust)

import Data.Yaml
import Text.Hastache
import Text.Hastache.Aeson (jsonValueContext)

event = BS.readFile "event.yaml"
template = BS.readFile "index.mustache"

render template value = hastacheStr defaultConfig template (jsonValueContext value)

main = do
    value <- liftM (fromJust . decode) event :: IO Value
    template' <- template
    render template' value >>= LBS.putStrLn


  • Viktar Basharymau
  • Vladimir Kirillov