diff options
Diffstat (limited to 'examples/feedblog/hakyll.hs')
-rw-r--r-- | examples/feedblog/hakyll.hs | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/examples/feedblog/hakyll.hs b/examples/feedblog/hakyll.hs deleted file mode 100644 index 4aa8ed9..0000000 --- a/examples/feedblog/hakyll.hs +++ /dev/null @@ -1,68 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} -module Main where - -import Prelude hiding (id) -import Control.Category (id) -import Control.Arrow ((>>>), (***), arr) -import Data.Monoid (mempty, mconcat) - -import Hakyll - -main :: IO () -main = hakyll $ do - -- Compress CSS - match "css/*" $ do - route idRoute - compile compressCssCompiler - - -- Render posts - match "posts/*" $ do - route $ setExtension ".html" - compile $ pageCompiler - >>> applyTemplateCompiler "templates/post.html" - >>> applyTemplateCompiler "templates/default.html" - >>> relativizeUrlsCompiler - - -- Render posts list - match "posts.html" $ route idRoute - create "posts.html" $ constA mempty - >>> arr (setField "title" "All posts") - >>> requireAllA "posts/*" addPostList - >>> applyTemplateCompiler "templates/posts.html" - >>> applyTemplateCompiler "templates/default.html" - >>> relativizeUrlsCompiler - - -- Index - match "index.html" $ route idRoute - create "index.html" $ constA mempty - >>> arr (setField "title" "Home") - >>> requireAllA "posts/*" (id *** arr (take 3 . reverse . sortByBaseName) >>> addPostList) - >>> applyTemplateCompiler "templates/index.html" - >>> applyTemplateCompiler "templates/default.html" - >>> relativizeUrlsCompiler - - -- Render RSS feed - match "rss.xml" $ route idRoute - create "rss.xml" $ - requireAll_ "posts/*" >>> renderRss feedConfiguration - - -- Read templates - match "templates/*" $ compile templateCompiler - --- | Auxiliary compiler: generate a post list from a list of given posts, and --- add it to the current page under @$posts@ --- -addPostList :: Compiler (Page String, [Page String]) (Page String) -addPostList = setFieldA "posts" $ - arr (reverse . sortByBaseName) - >>> require "templates/postitem.html" (\p t -> map (applyTemplate t) p) - >>> arr mconcat - >>> arr pageBody - -feedConfiguration :: FeedConfiguration -feedConfiguration = FeedConfiguration - { feedTitle = "SimpleBlog RSS feed." - , feedDescription = "A simple demo of an RSS feed created with Hakyll." - , feedAuthorName = "Jasper Van der Jeugt" - , feedRoot = "http://example.com" - } |