Safe Haskell | None |
---|
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.
An Identifier
carries the type of the value it identifies. This basically
means that an Identifier (Page String)
refers to a page.
It is a phantom type parameter, meaning you can safely change this if you
know what you are doing. You can change the type using the castIdentifier
function.
If the a
type is not known, Hakyll traditionally uses Identifier ()
.
- data Identifier a = Identifier {}
- castIdentifier :: Identifier a -> Identifier b
- parseIdentifier :: String -> Identifier a
- toFilePath :: Identifier a -> FilePath
- setGroup :: Maybe String -> Identifier a -> Identifier a
Documentation
data Identifier a Source
An identifier used to uniquely identify a value
Typeable1 Identifier | |
Eq (Identifier a) | |
Eq (Identifier a) => Ord (Identifier a) | |
Show (Identifier a) | |
IsString (Identifier a) | |
Monoid (Identifier a) | |
Binary (Identifier a) | |
Writable (Identifier a) |
castIdentifier :: Identifier a -> Identifier bSource
Discard the phantom type parameter of an identifier
parseIdentifier :: String -> Identifier aSource
Parse an identifier from a string
toFilePath :: Identifier a -> FilePathSource
Convert an identifier to a relative FilePath
setGroup :: Maybe String -> Identifier a -> Identifier aSource
Set the identifier group for some identifier