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.13.3.0-1L5hWcZXl52ESAIkuS82wY" 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.