hakyll-1.1: A simple static site generator library.

Text.Hakyll.Render

Synopsis

Documentation

dependsSource

Arguments

:: FilePath

File to be rendered or created.

-> [FilePath]

Files the render depends on.

-> Hakyll ()

IO action to execute when the file is out of date.

-> Hakyll () 

Execute an IO action only when the cache is invalid.

renderSource

Arguments

:: Renderable a 
=> FilePath

Template to use for rendering.

-> a

Renderable object to render with given template.

-> Hakyll Page

The body of the result will contain the render.

Render to a Page.

renderWithSource

Arguments

:: Renderable a 
=> ContextManipulation

Manipulation to apply on the context.

-> FilePath

Template to use for rendering.

-> a

Renderable object to render with given template.

-> Hakyll Page

The body of the result will contain the render.

Render to a Page. This function allows you to manipulate the context first.

renderAndConcatSource

Arguments

:: Renderable a 
=> [FilePath]

Templates to apply on every renderable.

-> [a]

Renderables to render.

-> Hakyll String 

Render each renderable with the given templates, then concatenate the result. So, basically this function:

  • Takes every renderable.
  • Renders every renderable with all given templates. This is comparable with a renderChain action.
  • Concatenates the result.

renderAndConcatWith :: Renderable a => ContextManipulation -> [FilePath] -> [a] -> Hakyll StringSource

Render each renderable with the given templates, then concatenate the result. This function allows you to specify a ContextManipulation to apply on every Renderable.

renderChain :: Renderable a => [FilePath] -> a -> Hakyll ()Source

Chain a render action for a page with a number of templates. This will also write the result to the site destination. This is the preferred way to do general rendering.

 renderChain [ "templates/notice.html"
             , "templates/default.html"
             ] $ createPagePath "warning.html"

This code will first render warning.html using templates/notice.html, and will then render the result with templates/default.html.

renderChainWith :: Renderable a => ContextManipulation -> [FilePath] -> a -> Hakyll ()Source

A more custom render chain that allows you to specify a ContextManipulation which to apply on the context when it is read first.

static :: FilePath -> Hakyll ()Source

Mark a certain file as static, so it will just be copied when the site is generated.

css :: FilePath -> Hakyll ()Source

Render a css file, compressing it.