summaryrefslogtreecommitdiff
path: root/data/example/site.hs
diff options
context:
space:
mode:
Diffstat (limited to 'data/example/site.hs')
-rw-r--r--data/example/site.hs22
1 files changed, 21 insertions, 1 deletions
diff --git a/data/example/site.hs b/data/example/site.hs
index df53095..ccf8ff8 100644
--- a/data/example/site.hs
+++ b/data/example/site.hs
@@ -1,6 +1,8 @@
--------------------------------------------------------------------------------
{-# LANGUAGE OverloadedStrings #-}
import Hakyll
+import Data.List (sort)
+import Control.Applicative ((<$>))
--------------------------------------------------------------------------------
@@ -14,10 +16,28 @@ main = hakyll $ do
route idRoute
compile compressCssCompiler
- match (fromList ["about.rst", "index.markdown", "code.lhs"]) $ do
+ match (fromList ["about.rst", "code.lhs"]) $ do
route $ setExtension "html"
compile $ pageCompiler
>>= requireApplyTemplate "templates/default.html" defaultContext
>>= relativizeUrls
+ match "posts/*" $ do
+ route $ setExtension "html"
+ compile $ do
+ post <- pageCompiler
+ saveSnapshot "content" post
+ return post
+ >>= requireApplyTemplate "templates/default.html" defaultContext
+ >>= relativizeUrls
+
+ match "index.html" $ do
+ route idRoute
+ compile $ do
+ posts <- sort <$> getMatches "posts/*"
+ post <- requireSnapshot (head posts) "content"
+ return post
+ >>= requireApplyTemplate "templates/default.html" defaultContext
+ >>= relativizeUrls
+
match "templates/*" $ compile templateCompiler