on master help sign in
defaultTemplateRead → templateCompiler
28a30caJasper Van der Jeugt
src/Hakyll/Web.hs+1−12
@@ -1,16 +1,12 @@
1-- | Module exporting commonly used web-related functions
1-- | Module exporting commonly used web-related functions
2--
2--
3module Hakyll.Web
3module Hakyll.Web
4− ( defaultTemplateRead
5− , defaultTemplateReadWith
6− , defaultCopyFile
4+ ( defaultCopyFile
7 , defaultApplyTemplate
5 , defaultApplyTemplate
8 ) where
6 ) where
9
7
10import Control.Arrow ((>>^))
8import Control.Arrow ((>>^))
11
9
12−import Text.Hamlet (HamletSettings)
13−
14import Hakyll.Core.Compiler
10import Hakyll.Core.Compiler
15import Hakyll.Core.Writable
11import Hakyll.Core.Writable
16import Hakyll.Core.Identifier
12import Hakyll.Core.Identifier
@@ -18,13 +14,6 @@ import Hakyll.Core.ResourceProvider
18import Hakyll.Web.Page
14import Hakyll.Web.Page
19import Hakyll.Web.Template
15import Hakyll.Web.Template
20
16
21−defaultTemplateRead :: Compiler Resource Template
22−defaultTemplateRead = cached "Hakyll.Web.defaultTemplateRead" $ templateRead
23−
24−defaultTemplateReadWith :: HamletSettings -> Compiler Resource Template
25−defaultTemplateReadWith settings = cached "Hakyll.Web.defaultTemplateReadWith" $
26− templateReadWith settings
27−
28defaultCopyFile :: Compiler Resource CopyFile
17defaultCopyFile :: Compiler Resource CopyFile
29defaultCopyFile = getIdentifier >>^ CopyFile . toFilePath
18defaultCopyFile = getIdentifier >>^ CopyFile . toFilePath
30
19
src/Hakyll/Web/Page.hs+5−3
@@ -52,7 +52,7 @@ module Hakyll.Web.Page
52 , fromMap
52 , fromMap
53 , toMap
53 , toMap
54 , readPageCompiler
54 , readPageCompiler
55− , defaultPageCompiler
55+ , pageCompiler
56 , addDefaultFields
56 , addDefaultFields
57 , sortByBaseName
57 , sortByBaseName
58 ) where
58 ) where
@@ -97,8 +97,10 @@ toMap (Page m b) = M.insert "body" b m
97readPageCompiler :: Compiler Resource (Page String)
97readPageCompiler :: Compiler Resource (Page String)
98readPageCompiler = getResourceString >>^ readPage
98readPageCompiler = getResourceString >>^ readPage
99
99
100+-- | Read a page, add default fields, substitute fields and render using pandoc
101+--
100−defaultPageCompiler :: Compiler Resource (Page String)
102+pageCompiler :: Compiler Resource (Page String)
101−defaultPageCompiler = cached "Hakyll.Web.Page.defaultPageCompiler" $
103+pageCompiler = cached "Hakyll.Web.Page.pageCompiler" $
102 readPageCompiler >>> addDefaultFields >>> arr applySelf >>> pageRenderPandoc
104 readPageCompiler >>> addDefaultFields >>> arr applySelf >>> pageRenderPandoc
103
105
104-- | Add a number of default metadata fields to a page. These fields include:
106-- | Add a number of default metadata fields to a page. These fields include:
src/Hakyll/Web/Template.hs+9−8
@@ -45,8 +45,8 @@ module Hakyll.Web.Template
45 ( Template
45 ( Template
46 , applyTemplate
46 , applyTemplate
47 , applySelf
47 , applySelf
48− , templateRead
48+ , templateCompiler
49− , templateReadWith
49+ , templateCompilerWith
50 ) where
50 ) where
51
51
52import Control.Arrow
52import Control.Arrow
@@ -86,14 +86,15 @@ applySelf page = applyTemplate (readTemplate $ pageBody page) page
86-- @.hml@ or @.hamlet@, it will be considered as a Hamlet template, and parsed
86-- @.hml@ or @.hamlet@, it will be considered as a Hamlet template, and parsed
87-- as such.
87-- as such.
88--
88--
89−templateRead :: Compiler Resource Template
89+templateCompiler :: Compiler Resource Template
90−templateRead = templateReadWith defaultHamletSettings
90+templateCompiler = templateCompilerWith defaultHamletSettings
91
91
92−-- | Version of 'templateRead' that enables custom settings.
92+-- | Version of 'templateCompiler' that enables custom settings.
93--
93--
94−templateReadWith :: HamletSettings -> Compiler Resource Template
94+templateCompilerWith :: HamletSettings -> Compiler Resource Template
95−templateReadWith settings =
95+templateCompilerWith settings =
96+ cached "Hakyll.Web.Template.templateCompilerWith" $
96− getIdentifier &&& getResourceString >>^ uncurry read'
97+ getIdentifier &&& getResourceString >>^ uncurry read'
97 where
98 where
98 read' identifier string =
99 read' identifier string =
99 if takeExtension (toFilePath identifier) `elem` [".hml", ".hamlet"]
100 if takeExtension (toFilePath identifier) `elem` [".hml", ".hamlet"]