diff options
Diffstat (limited to 'src/Text/Hakyll/Hakyll.hs')
-rw-r--r-- | src/Text/Hakyll/Hakyll.hs | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/Text/Hakyll/Hakyll.hs b/src/Text/Hakyll/Hakyll.hs index 7554972..fab0be6 100644 --- a/src/Text/Hakyll/Hakyll.hs +++ b/src/Text/Hakyll/Hakyll.hs @@ -3,26 +3,30 @@ module Text.Hakyll.Hakyll ( HakyllConfiguration (..) , Hakyll , askHakyll + , getAdditionalContext ) where import Control.Monad.Reader (ReaderT, ask) import Control.Monad (liftM) +import qualified Data.Map as M import Text.Hakyll.Context (Context) -- | Hakyll global configuration type. data HakyllConfiguration = HakyllConfiguration - { -- | An additional context to use when rendering. This additional context + { -- | Absolute URL of the site. + absoluteUrl :: String + , -- | An additional context to use when rendering. This additional context -- is used globally. additionalContext :: Context , -- | Directory where the site is placed. - siteDirectory :: FilePath + siteDirectory :: FilePath , -- | Directory for cache files. - cacheDirectory :: FilePath + cacheDirectory :: FilePath , -- | Enable index links. - enableIndexUrl :: Bool + enableIndexUrl :: Bool , -- | Delay between polls in preview mode. - previewPollDelay :: Int + previewPollDelay :: Int } -- | Our custom monad stack. @@ -39,3 +43,8 @@ type Hakyll = ReaderT HakyllConfiguration IO -- askHakyll :: (HakyllConfiguration -> a) -> Hakyll a askHakyll = flip liftM ask + +getAdditionalContext :: HakyllConfiguration -> Context +getAdditionalContext configuration = + M.insert "absolute" (absoluteUrl configuration) + (additionalContext configuration) |