hakyll-2.0: A simple static site generator library.Source codeContentsIndex
Text.Hakyll.CreateContext
Description
A module that provides different ways to create a Context. These functions all use the HakyllAction arrow, so they produce values of the type HakyllAction () Context.
Synopsis
createPage :: FilePath -> HakyllAction () Context
createCustomPage :: FilePath -> [(String, Either String (HakyllAction () String))] -> HakyllAction () Context
createListing :: FilePath -> [FilePath] -> [HakyllAction () Context] -> [(String, Either String (HakyllAction () String))] -> HakyllAction () Context
combine :: HakyllAction () Context -> HakyllAction () Context -> HakyllAction () Context
combineWithUrl :: FilePath -> HakyllAction () Context -> HakyllAction () Context -> HakyllAction () Context
Documentation
createPage :: FilePath -> HakyllAction () ContextSource
Create a Context from a page file stored on the disk. This is probably the most common way to create a Context.
createCustomPage :: FilePath -> [(String, Either String (HakyllAction () String))] -> HakyllAction () ContextSource

Create a custom page Context.

The association list given maps keys to values for substitution. Note that as value, you can either give a String or a HakyllAction () String. The latter is preferred for more complex data, since it allows dependency checking. A String is obviously more simple to use in some cases.

createListingSource
:: FilePathDestination of the page.
-> [FilePath]Templates to render items with.
-> [HakyllAction () Context]Renderables in the list.
-> [(String, Either String (HakyllAction () String))]
-> HakyllAction () Context

A createCustomPage function specialized in creating listings.

This function creates a listing of a certain list of Contexts. Every item in the list is created by applying the given template to every renderable. You can also specify additional context to be included in the CustomPage.

combine :: HakyllAction () Context -> HakyllAction () Context -> HakyllAction () ContextSource

Combine two Contexts. The url will always be taken from the first Renderable. Also, if a `$key` is present in both renderables, the value from the first Context will be taken as well.

You can see this as a this as a union between two mappings.

combineWithUrl :: FilePath -> HakyllAction () Context -> HakyllAction () Context -> HakyllAction () ContextSource
Combine two Contexts and set a custom URL. This behaves like combine, except that for the url field, the given URL is always chosen.
Produced by Haddock version 2.7.2