copy images in /images/posts/*/
[software/elephly-net.git] / site.hs
diff --git a/site.hs b/site.hs
index 3ce4335d5cf11bf756d14d1b2ca6f30b4ed405c1..f89c18cd3899fd620aa3dc64b2e17b1293076329 100644 (file)
--- a/site.hs
+++ b/site.hs
@@ -26,6 +26,7 @@ main = hakyllWith config $ do
           .||. "downies/music/*"
           .||. "images/*"
           .||. "images/posts/*"
+          .||. "images/posts/*/*"
           .||. "favicon.ico"
           ) $ do
       route   idRoute
@@ -74,10 +75,10 @@ main = hakyllWith config $ do
           >>= relativizeUrls
 
     -- always show the most recent blog post
-    match "index.html" $ do
+    create ["index.html"] $ do
       route idRoute
       compile $ do
-        mostRecent <- (head . recentFirst) <$> loadAllSnapshots "posts/*.markdown" "non-relative"
+        mostRecent <- fmap head . recentFirst =<< loadAllSnapshots "posts/*.markdown" "non-relative"
         makeItem (itemBody mostRecent) >>= relativizeUrls
 
     match "templates/*" $ compile templateCompiler
@@ -119,9 +120,9 @@ licenseSnippet = field "license-snippet" $ \item -> do
 
 
 --------------------------------------------------------------------------------
-postList :: ([Item String] -> [Item String]) -> Compiler String
+postList :: ([Item String] -> Compiler [Item String]) -> Compiler String
 postList sortFilter = do
-  posts   <- sortFilter <$> loadAll ("posts/*.markdown" .&&. hasNoVersion)
+  posts   <- sortFilter =<< loadAll ("posts/*.markdown" .&&. hasNoVersion)
   itemTpl <- loadBody "templates/post-item.html"
   list    <- applyTemplateList itemTpl postCtx posts
   return list