site: compile optional teaser
authorLucian Mogosanu <lucian.mogosanu@gmail.com>
Sat, 20 Jul 2013 10:01:53 +0000 (13:01 +0300)
committerLucian Mogosanu <lucian.mogosanu@gmail.com>
Sat, 20 Jul 2013 10:01:53 +0000 (13:01 +0300)
site.hs
templates/teaser.html [new file with mode: 0644]

diff --git a/site.hs b/site.hs
index 27630fd..e95ca1e 100644 (file)
--- a/site.hs
+++ b/site.hs
@@ -67,8 +67,13 @@ compileRss = do
   -- http://jaspervdj.be/hakyll/tutorials/05-snapshots-feeds.html
   route idRoute
   compile $ do
-    let feedCtx = postCtx `mappend` bodyField "description"
+    let feedCtx =
+          postCtx                         `mappend`
+          teaserField "teaser" "content"  `mappend`
+          bodyField "description"
+        applyTeaser = loadAndApplyTemplate "templates/teaser.html" feedCtx
     posts <- loadAllSnapshots "posts/*" "content"
+      >>= mapM applyTeaser
       >>= fmap (take 7) . recentFirst
     renderRss tarpitFeed feedCtx posts
 
diff --git a/templates/teaser.html b/templates/teaser.html
new file mode 100644 (file)
index 0000000..ad39f51
--- /dev/null
@@ -0,0 +1,5 @@
+$if(teaser)$
+    $teaser$
+$else$
+    $body$
+$endif$