on master help sign in
Add `pageCompilerWith`
289b6edJasper Van der Jeugt
src/Hakyll/Web/Page.hs+11
@@ -53,6 +53,7 @@ module Hakyll.Web.Page
53 , toMap
53 , toMap
54 , readPageCompiler
54 , readPageCompiler
55 , pageCompiler
55 , pageCompiler
56+ , pageCompilerWith
56 , addDefaultFields
57 , addDefaultFields
57 , sortByBaseName
58 , sortByBaseName
58 ) where
59 ) where
@@ -65,6 +66,8 @@ import qualified Data.Map as M
65import Data.List (sortBy)
66import Data.List (sortBy)
66import Data.Ord (comparing)
67import Data.Ord (comparing)
67
68
69+import Text.Pandoc (ParserState, WriterOptions)
70+
68import Hakyll.Core.Identifier
71import Hakyll.Core.Identifier
69import Hakyll.Core.Compiler
72import Hakyll.Core.Compiler
70import Hakyll.Core.Resource
73import Hakyll.Core.Resource
@@ -91,6 +94,14 @@ pageCompiler :: Compiler Resource (Page String)
91pageCompiler = cached "Hakyll.Web.Page.pageCompiler" $
94pageCompiler = cached "Hakyll.Web.Page.pageCompiler" $
92 readPageCompiler >>> addDefaultFields >>> arr applySelf >>> pageRenderPandoc
95 readPageCompiler >>> addDefaultFields >>> arr applySelf >>> pageRenderPandoc
93
96
97+-- | A version of 'pageCompiler' which allows you to specify your own pandoc
98+-- options
99+--
100+pageCompilerWith :: ParserState -> WriterOptions -> Compiler Resource (Page String)
101+pageCompilerWith state options = cached "pageCompilerWith" $
102+ readPageCompiler >>> addDefaultFields >>> arr applySelf
103+ >>> pageRenderPandocWith state options
104+
94-- | Add a number of default metadata fields to a page. These fields include:
105-- | Add a number of default metadata fields to a page. These fields include:
95--
106--
96-- * @$url@
107-- * @$url@