Safe Haskell | None |
---|
- data ContextField
- = StringField String
- | forall a . ListField (Context a) [Item a]
- newtype Context a = Context {
- unContext :: String -> Item a -> Compiler ContextField
- field :: String -> (Item a -> Compiler String) -> Context a
- constField :: String -> String -> Context a
- listField :: String -> Context a -> Compiler [Item a] -> Context b
- functionField :: String -> ([String] -> Item a -> Compiler String) -> Context a
- mapContext :: (String -> String) -> Context a -> Context a
- defaultContext :: Context String
- bodyField :: String -> Context String
- metadataField :: Context a
- urlField :: String -> Context a
- pathField :: String -> Context a
- titleField :: String -> Context a
- dateField :: String -> String -> Context a
- dateFieldWith :: TimeLocale -> String -> String -> Context a
- getItemUTC :: MonadMetadata m => TimeLocale -> Identifier -> m UTCTime
- modificationTimeField :: String -> String -> Context a
- modificationTimeFieldWith :: TimeLocale -> String -> String -> Context a
- teaserField :: String -> Snapshot -> Context String
- missingField :: Context a
Documentation
data ContextField Source
Mostly for internal usage
StringField String | |
forall a . ListField (Context a) [Item a] |
constField :: String -> String -> Context aSource
metadataField :: Context aSource
Map any field to its metadata value, if present
titleField :: String -> Context aSource
This title field takes the basename of the underlying file by default
:: String | Key in which the rendered date should be placed |
-> String | Format to use on the date |
-> Context a | Resulting context |
When the metadata has a field called published
in one of the
following formats then this function can render the date.
Mon, 06 Sep 2010 00:01:00 +0000
Mon, 06 Sep 2010 00:01:00 UTC
Mon, 06 Sep 2010 00:01:00
2010-09-06T00:01:00+0000
2010-09-06T00:01:00Z
2010-09-06T00:01:00
2010-09-06 00:01:00+0000
2010-09-06 00:01:00
September 06, 2010 00:01 AM
Following date-only formats are supported too (00:00:00
for time is
assumed)
2010-09-06
September 06, 2010
Alternatively, when the metadata has a field called path
in a
folder/yyyy-mm-dd-title.extension
format (the convention for pages)
and no published
metadata field set, this function can render
the date.
:: TimeLocale | Output time locale |
-> String | Destination key |
-> String | Format to use on the date |
-> Context a | Resulting context |
:: MonadMetadata m | |
=> TimeLocale | Output time locale |
-> Identifier | Input page |
-> m UTCTime | Parsed UTCTime |
Parser to try to extract and parse the time from the published
field or from the filename. See dateField
for more information.
Exported for user convenience.
modificationTimeFieldWithSource
:: TimeLocale | Time output locale |
-> String | Key |
-> String | Format |
-> Context a | Resulting context |
A context with teaser key which contain a teaser of the item. The item is loaded from the given snapshot (which should be saved in the user code before any templates are applied).