úÎY‰UW0      !"#$%&'()*+,-./ 60*SpliceMap associates a name and a Splice. :A Splice is a TemplateMonad computation that returns [Node]. 5 is a monad transformer that gives you access to the   being processed (using the 1" instance) as well as holding the  8 that contains splice and template mappings (accessible  using the 2 instance. 3@Holds all the state information needed for template processing: 1 a collection of named templates. If you use the <apply  template="foo">* tag to include another template by name, "foo"  is looked up in here.  the mapping from tag names to s. E a flag to control whether we will recurse during splice processing. We'@ll illustrate the recursion flag with a small example template:  <foo>  <bar>  ...  </bar>  </foo>  Assume that "foo"- is bound to a splice procedure. Running the foo ' splice will result in a list of nodes L!; if the recursion flag is on we  will recursively scan L for splices, otherwise L will be included in the  output verbatim. 45,A mapping of splice names to splice actions 6)A mapping of template names to templates 7#A flag to control splice recursion 89:;<=>Reversed list of directories A  is a forest of XML nodes. JHeist templates are XML documents. The hexpat library is polymorphic over * the type of strings, so here we define a  alias to fix the string * types of the tag names and tag bodies to ?. Adds an on-load hook to a . Adds a pre-run hook to a . Adds a post-run hook to a . 5Bind a new splice declaration to a tag name within a .  tag name splice action  source state .Convenience function for looking up a splice. @HConverts a path into an array of the elements in reverse order. If the I path is absolute, we need to remove the leading slash so the split doesn't  leave ""# as the last element of the TPath. FIXME ".." currently doesn'-t work in paths, the solution is non-trivial A4Does a single template lookup without cascading up. BNSearches for a template by looking in the full path then backing up into each 8 of the parent directories until the template is found. C0Convenience function for looking up a template. )Sets the templateMap in a TemplateState. D'Adds a template to the template state. 'Adds a template to the template state. )Gets the node currently being processed. +Stops the recursive processing of splices. ESets the current context Gets the current context /Performs splice processing on a list of nodes. F-Performs splice processing on a single node. G@The maximum recursion depth. (Used to prevent infinite loops.) HFChecks the recursion flag and recurses accordingly. Does not recurse : deeper than mAX_RECURSION_DEPTH to avoid infinite loops. <Runs a splice in the underlying monad. Splices require two 4 parameters, the template state, and an input node. The initial template state  The splice' s input node  The splice ?Runs a template in the underlying monad. Similar to runSplice  except that templates don'!t require a Node as a parameter. )Looks up a template name in the supplied  and runs  it in the underlying monad. FLooks up a template name evaluates it. Same as runTemplate except it % runs in TemplateMonad instead of m. (Binds a list of constant string splices HRenders a template with the specified parameters. This is the function  to use when you want to call. a template and pass in parameters from code. The name of the template Association list of  (name,value) parameter pairs 5Renders a template from the specified TemplateState. !Reads an XML document from disk. IJK<Loads a template with the specified path and filename. The % template is only loaded if it has a .tpl extension. path of the template root ,full file path (includes the template root) 9Traverses the specified directory structure and builds a / TemplateState by loading all the files with a .tpl extension. L5Runs the onLoad hook on the template and returns the   with the result inserted. MN603456789:;<=> @ABC D EFGHIJKLMN6033 456789:;<456789:;<=> @ABC D EFGHIJKLMN#Default name for the apply splice. *Default attribute name for the apply tag. $Implementation of the apply splice. "Default name for the bind splice. )Default attribute name for the bind tag. #Implementation of the bind splice.    !$Default name for the ignore splice. "=The ignore tag and everything it surrounds disappears in the  rendered output. !"!"!" #$%&'&Default name for the markdown splice. ('Implementation of the markdown splice. )*+command to run any arguments standard input exitcode, stdout, stderr #$%&'()*+ %&#$'()*+ #$$%&&'()*+,)State for storing static tag information O-Clears the static tag state. PThe static> splice ensures that its contents are evaluated once and then D cached. The cached contents are returned every time the splice is  referenced. .&Modifies a TemplateState to include a static tag. ,-.,.-,-.  !"#$%&'()*+,-.Q%The default set of built-in splices. /#An empty template state, with Heist's default splices (<bind> and  <apply> ) mapped.  ./ /  ./R     !"#$%&'()*+,--../0123456789:;9<=  >?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] heist-0.1.2Text.Templating.Heist#Text.Templating.Heist.Splices.Apply"Text.Templating.Heist.Splices.Bind$Text.Templating.Heist.Splices.Ignore&Text.Templating.Heist.Splices.Markdown$Text.Templating.Heist.Splices.StaticText.Templating.Heist.ConstantsText.Templating.Heist.InternalText.Templating.Heist.SpliceshtmlEntityLookupTableSplice TemplateMonad TemplateStateTemplateNode addOnLoadHook addPreRunHookaddPostRunHook bindSplice lookupSplice setTemplates addTemplate getParamNode stopRecursion getContext runNodeList runSplicerunRawTemplate runTemplate evalTemplate bindStrings callTemplaterenderTemplateheistExpatOptionsgetDoc loadTemplatesapplyTag applyAttr applyImplbindTagbindAttrbindImpl ignoreTag ignoreImplMarkdownExceptionPandocMissingException markdownTagmarkdownSplicepandocpandocBSreadProcessWithExitCode'StaticTagStateclearStaticTagCache bindStaticTagemptyTemplateState SpliceMapmonads-fd-0.1.0.1Control.Monad.Reader.Class MonadReaderControl.Monad.State.Class MonadState _spliceMap _templateMap_recurse _curContext_recursionDepth _onLoadHook _preRunHook _postRunHook TemplateMapTPathbytestring-0.9.1.6Data.ByteString.Internal ByteString splitPaths singleLookup traversePathlookupTemplateinsertTemplate setContextrunNodemAX_RECURSION_DEPTH recurseSplicemapLeftmapRight loadTemplateloadHook formatList formatList'STS staticImpldefaultSpliceMap