on master help sign in
defaultTemplateRead → templateCompiler
commit28a30caef08ab786bfa8b75d75f155a4e62b7280 authorJasper Van der Jeugt <jaspervdj@gmail.com> dateTue 15 Feb 2011, 22:39 (16 years ago) parentbc4fef8
3 files changed+15−23
src/Hakyll/Web.hs+1−12 src/Hakyll/Web/Page.hs+5−3 src/Hakyll/Web/Template.hs+9−8
src/Hakyll/Web.hs+1−12
@@ -1,16 +1,12 @@
11-- | Module exporting commonly used web-related functions
22--
33module Hakyll.Web
4− ( defaultTemplateRead
5− , defaultTemplateReadWith
6− , defaultCopyFile
4+ ( defaultCopyFile
75 , defaultApplyTemplate
86 ) where
97
108import Control.Arrow ((>>^))
119
12−import Text.Hamlet (HamletSettings)
13−
1410import Hakyll.Core.Compiler
1511import Hakyll.Core.Writable
1612import Hakyll.Core.Identifier
@@ -18,13 +14,6 @@ import Hakyll.Core.ResourceProvider
1814import Hakyll.Web.Page
1915import Hakyll.Web.Template
2016
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−
2817defaultCopyFile :: Compiler Resource CopyFile
2918defaultCopyFile = getIdentifier >>^ CopyFile . toFilePath
3019
src/Hakyll/Web/Page.hs+5−3
@@ -52,7 +52,7 @@ module Hakyll.Web.Page
5252 , fromMap
5353 , toMap
5454 , readPageCompiler
55− , defaultPageCompiler
55+ , pageCompiler
5656 , addDefaultFields
5757 , sortByBaseName
5858 ) where
@@ -97,8 +97,10 @@ toMap (Page m b) = M.insert "body" b m
9797readPageCompiler :: Compiler Resource (Page String)
9898readPageCompiler = getResourceString >>^ readPage
9999
100−defaultPageCompiler :: Compiler Resource (Page String)
101−defaultPageCompiler = cached "Hakyll.Web.Page.defaultPageCompiler" $
100+-- | Read a page, add default fields, substitute fields and render using pandoc
101+--
102+pageCompiler :: Compiler Resource (Page String)
103+pageCompiler = cached "Hakyll.Web.Page.pageCompiler" $
102104 readPageCompiler >>> addDefaultFields >>> arr applySelf >>> pageRenderPandoc
103105
104106-- | 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
4545 ( Template
4646 , applyTemplate
4747 , applySelf
48− , templateRead
49− , templateReadWith
48+ , templateCompiler
49+ , templateCompilerWith
5050 ) where
5151
5252import Control.Arrow
@@ -86,14 +86,15 @@ applySelf page = applyTemplate (readTemplate $ pageBody page) page
8686-- @.hml@ or @.hamlet@, it will be considered as a Hamlet template, and parsed
8787-- as such.
8888--
89−templateRead :: Compiler Resource Template
90−templateRead = templateReadWith defaultHamletSettings
89+templateCompiler :: Compiler Resource Template
90+templateCompiler = templateCompilerWith defaultHamletSettings
9191
92−-- | Version of 'templateRead' that enables custom settings.
92+-- | Version of 'templateCompiler' that enables custom settings.
9393--
94−templateReadWith :: HamletSettings -> Compiler Resource Template
95−templateReadWith settings =
96− getIdentifier &&& getResourceString >>^ uncurry read'
94+templateCompilerWith :: HamletSettings -> Compiler Resource Template
95+templateCompilerWith settings =
96+ cached "Hakyll.Web.Template.templateCompilerWith" $
97+ getIdentifier &&& getResourceString >>^ uncurry read'
9798 where
9899 read' identifier string =
99100 if takeExtension (toFilePath identifier) `elem` [".hml", ".hamlet"]