hakyll- A simple static site generator library.



An identifier is a type used to uniquely identify a resource, target...

One can think of an identifier as something similar to a file path. An identifier is a path as well, with the different elements in the path separated by / characters. Examples of identifiers are:

  • posts/foo.markdown
  • index
  • error/404

The most important difference between an Identifier and a file path is that the identifier for an item is not necesserily the file path.

For example, we could have an index identifier, generated by Hakyll. The actual file path would be index.html, but we identify it using index.

posts/foo.markdown could be an identifier of an item that is rendered to posts/foo.html. In this case, the identifier is the name of the source file of the page.



parseIdentifier :: String -> IdentifierSource

Parse an identifier from a string

toFilePath :: Identifier -> FilePathSource

Convert an identifier to a relative FilePath

setGroup :: Maybe String -> Identifier -> IdentifierSource

Set the identifier group for some identifier