{-| Module : $Header$ Description : Basic functions for dealing with mustache templates. Copyright : (c) Justus Adam, 2015 License : LGPL-3 Maintainer : development@justusadam.com Stability : experimental Portability : POSIX * How to use this library This module exposes some of the most convenient functions for dealing with mustache templates. The easiest way of compiling a file and its potential includes (called partials) is by using the 'compileTemplate' function. @ -- the search space encompasses all directories in which the compiler should -- search for the template source files -- -- the search is conducted in order, from left to right. let searchSpace = [".", "./templates"] -- the templateName is the relative path of the template to any directory -- of the search space templateName = "main.mustache" compiled <- automaticCompile searchSpace templateName case compiled of -- the compiler will throw errors if either the template is malformed -- or the source file for a partial could not be found Left err -> print err Right template -> return () -- this is where you can start using it @ Should your search space be only the current working directory, you can use 'localAutomaticCompile'. -} {-# LANGUAGE LambdaCase #-} module Text.Mustache ( -- * Compiling -- ** Automatic automaticCompile, localAutomaticCompile -- ** Manually , compileTemplateWithCache, parseTemplate, Template(..) -- * Rendering -- ** Generic , substitute -- ** Specialized , substituteValue -- ** Data Conversion , ToMustache, toMustache, object, (~>), (~=), (~~>), (~~=) ) where import Text.Mustache.Compile import Text.Mustache.Render import Text.Mustache.Types