mathblog-0.6: src/MB/Gen/PostList.hs
module MB.Gen.PostList
( generatePostList
)
where
import Control.Applicative
import Control.Monad.Trans
import Text.StringTemplate
( setManyAttrib )
import MB.Types
import MB.Templates
import MB.Processing
import MB.Gen.Base
import MB.Gen.Post (postTemplateAttrs)
generatePostList :: BlogM ()
generatePostList = do
blog <- theBlog
let st = inputFS blog
withTemplate (ifsListTemplatePath st) $ \listTmpl ->
withTemplate (ifsPageTemplatePath st) $ \pageTmpl ->
do
let postData = postTemplateAttrs blog <$> blogPosts blog
listTmpl' = setManyAttrib [("posts", postData)] listTmpl
out = fillTemplate blog listTmpl' []
liftIO $ writeFile (ofsListHtml $ outputFS blog) $
buildPage blog out Nothing pageTmpl
applyPostProcessors (ofsListHtml $ outputFS blog) Index