summaryrefslogtreecommitdiff
path: root/src/Text/Hakyll/Hakyll.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Text/Hakyll/Hakyll.hs')
-rw-r--r--src/Text/Hakyll/Hakyll.hs19
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)