Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data Template = Template {}
- template :: FilePath -> [TemplateElement] -> Template
- templateBodyCompiler :: Compiler (Item Template)
- templateCompiler :: Compiler (Item Template)
- applyTemplate :: Template -> Context a -> Item a -> Compiler (Item String)
- loadAndApplyTemplate :: Identifier -> Context a -> Item a -> Compiler (Item String)
- applyAsTemplate :: Context String -> Item String -> Compiler (Item String)
- readTemplate :: String -> Template
- compileTemplateItem :: Item String -> Compiler Template
- unsafeReadTemplateFile :: FilePath -> Compiler Template
- module Hakyll.Web.Template.Internal.Element
- module Hakyll.Web.Template.Internal.Trim
Documentation
Datatype used for template substitutions.
Instances
Eq Template Source # | |
Show Template Source # | |
IsString Template Source # | |
Defined in Hakyll.Web.Template.Internal fromString :: String -> Template # | |
Generic Template Source # | |
Binary Template Source # | |
Writable Template Source # | |
type Rep Template Source # | |
Defined in Hakyll.Web.Template.Internal type Rep Template = D1 ('MetaData "Template" "Hakyll.Web.Template.Internal" "hakyll-4.15.1.0-CqSDswbpF09GEk8CRAeZ3D" 'False) (C1 ('MetaCons "Template" 'PrefixI 'True) (S1 ('MetaSel ('Just "tplElements") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TemplateElement]) :*: S1 ('MetaSel ('Just "tplOrigin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath))) |
template :: FilePath -> [TemplateElement] -> Template Source #
Wrap the constructor to ensure trim is called.
Interpolate template expressions from context values in a page
:: Identifier | Template identifier |
-> Context a | Context |
-> Item a | Page |
-> Compiler (Item String) | Resulting item |
The following pattern is so common:
tpl <- loadBody "templates/foo.html" someCompiler >>= applyTemplate tpl context
That we have a single function which does this:
someCompiler >>= loadAndApplyTemplate "templates/foo.html" context
It is also possible that you want to substitute $key$
s within the body of
an item. This function does that by interpreting the item body as a template,
and then applying it to itself.
readTemplate :: String -> Template Source #
Deprecated: Use templateCompiler instead
Parse a string into a template.
You should prefer compileTemplateItem
over this.