@@ -3,19 +3,28 @@ import Text.Hakyll.Render
3import Text.Hakyll.Renderables
3import Text.Hakyll.Renderables
4import Text.Hakyll.File
4import Text.Hakyll.File
6−import Control.Monad(mapM_)
6+import Control.Monad (mapM_, liftM)
7+import Data.List (sort)
9+import Text.Regex.Posix
8main = hakyll $ do
11main = hakyll $ do
9 directory css "css"
12 directory css "css"
10 directory static "images"
13 directory static "images"
11 directory static "examples"
14 directory static "examples"
16+ tutorials <- liftM (sort . filter (=~ "tutorial[0-9]*.markdown")) $ getRecursiveContents "."
17+ let tutorialList = renderAndConcat "templates/tutorialitem.html"
18+ (map createPagePath tutorials)
19+ tutorialPage = createCustomPage "tutorials.html"
20+ ("templates/tutorialitem.html" : tutorials)
21+ [ ("title", Left "Tutorials")
22+ , ("tutorials", Right tutorialList)
24+ renderChain ["templates/tutorials.html", "templates/default.html"] tutorialPage
13− mapM_ render' [ "about.markdown"
26+ mapM_ render' $ [ "about.markdown"
14− , "index.markdown"
27+ , "index.markdown"
15− , "tutorials.markdown"
28+ ] ++ tutorials
16− , "tutorial1.markdown"
17− , "tutorial2.markdown"
18− , "tutorial3.markdown"
21 where render' = renderChain ["templates/default.html"] . createPagePath
30 where render' = renderChain ["templates/default.html"] . createPagePath