summaryrefslogtreecommitdiff
path: root/src/Hakyll/Web.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Hakyll/Web.hs')
-rw-r--r--src/Hakyll/Web.hs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/Hakyll/Web.hs b/src/Hakyll/Web.hs
index bc7710f..536abda 100644
--- a/src/Hakyll/Web.hs
+++ b/src/Hakyll/Web.hs
@@ -3,19 +3,30 @@
module Hakyll.Web
( defaultPageRead
, defaultTemplateRead
+ , defaultRelativizeUrls
) where
-import Control.Arrow (arr, (>>>), (>>^))
+import Prelude hiding (id)
+import Control.Category (id)
+import Control.Arrow (arr, (>>>), (>>^), (&&&))
import Hakyll.Core.Compiler
import Hakyll.Web.Page
import Hakyll.Web.Pandoc
import Hakyll.Web.Template
+import Hakyll.Web.RelativizeUrls
+import Hakyll.Web.Util.String
defaultPageRead :: Compiler () (Page String)
defaultPageRead = cached "Hakyll.Web.defaultPageRead" $
pageRead >>> addDefaultFields >>> arr applySelf >>> pageRenderPandoc
+defaultRelativizeUrls :: Compiler (Page String) (Page String)
+defaultRelativizeUrls = getRoute &&& id >>^ uncurry relativize
+ where
+ relativize Nothing = id
+ relativize (Just r) = fmap (relativizeUrls $ toSiteRoot r)
+
defaultTemplateRead :: Compiler () Template
defaultTemplateRead = cached "Hakyll.Web.defaultTemplateRead" $
getResourceString >>^ readTemplate