diff options
Diffstat (limited to 'data/example/site.hs')
-rw-r--r-- | data/example/site.hs | 22 |
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 |