summaryrefslogtreecommitdiff
path: root/examples/feedblog/hakyll.hs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/feedblog/hakyll.hs')
-rw-r--r--examples/feedblog/hakyll.hs68
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"
- }