summaryrefslogtreecommitdiffstats
path: root/site.hs
diff options
context:
space:
mode:
authorLibravatar cel 🌸 <cel@blos.sm>2024-07-18 01:37:00 +0100
committerLibravatar cel 🌸 <cel@blos.sm>2024-07-18 01:37:00 +0100
commit6c6319c3ecfb9606c32b3c6c9b487da33911f8b6 (patch)
treea4acdd5843e8e440d01b1ab2bfa4ba0370d04c5e /site.hs
parent43ea12ee41d39f387bf4338b5709fffdb1650f0e (diff)
downloadinfoculture.pub-6c6319c3ecfb9606c32b3c6c9b487da33911f8b6.tar.gz
infoculture.pub-6c6319c3ecfb9606c32b3c6c9b487da33911f8b6.tar.bz2
infoculture.pub-6c6319c3ecfb9606c32b3c6c9b487da33911f8b6.zip
add resources dir
Diffstat (limited to 'site.hs')
-rw-r--r--site.hs42
1 files changed, 36 insertions, 6 deletions
diff --git a/site.hs b/site.hs
index 8284c2f..a25c79c 100644
--- a/site.hs
+++ b/site.hs
@@ -69,18 +69,46 @@ main = hakyll $ do
route idRoute
compile getResourceBody
+ match "resources/*" $ do
+ route $ setExtension "html" `composeRoutes`
+ appendIndex
+ compile $ pandocCompiler
+ >>= saveSnapshot "article-text"
+ >>= loadAndApplyTemplate "templates/resource.html" postCtx
+ >>= saveSnapshot "content"
+ >>= loadAndApplyTemplate "templates/base.html" postCtx
+ >>= relativizeUrls
+
+ match "resources/*" $ version "raw" $ do
+ route idRoute
+ compile getResourceBody
+
+ create ["resources.html"] $ do
+ route appendIndex
+ compile $ do
+ resources <- loadAll ("resources/*" .&&. hasNoVersion)
+ let resourcesCtx =
+ listField "resources" postCtx (return resources) `mappend`
+ constField "title" "resources" `mappend`
+ defaultContext
+
+ makeItem ""
+ >>= loadAndApplyTemplate "templates/resources.html" resourcesCtx
+ >>= loadAndApplyTemplate "templates/base.html" resourcesCtx
+ >>= relativizeUrls
+
create ["archives.html"] $ do
route appendIndex
compile $ do
posts <- recentFirst =<< loadAll ("posts/*" .&&. hasNoVersion)
- let archiveCtx =
+ let archivesCtx =
listField "posts" postCtx (return posts) `mappend`
constField "title" "archives" `mappend`
defaultContext
makeItem ""
- >>= loadAndApplyTemplate "templates/archives.html" archiveCtx
- >>= loadAndApplyTemplate "templates/base.html" archiveCtx
+ >>= loadAndApplyTemplate "templates/archives.html" archivesCtx
+ >>= loadAndApplyTemplate "templates/base.html" archivesCtx
>>= relativizeUrls
@@ -104,7 +132,8 @@ main = hakyll $ do
compile $ do
let feedCtx = postCtx `mappend` bodyField "description"
posts <- fmap (take 10) . recentFirst =<<
- loadAllSnapshots ("posts/*" .&&. hasNoVersion) "content"
+ loadAllSnapshots (("resources/*" .&&. hasNoVersion) .||. ("posts/*" .&&. hasNoVersion)) "content"
+
renderAtom feedConfig feedCtx posts
create ["sitemap.xml"] $ do
@@ -112,12 +141,13 @@ main = hakyll $ do
compile $ do
-- load and sort the posts
posts <- recentFirst =<< loadAll "posts/*"
+ resources <- recentFirst =<< loadAll "resources/*"
-- load individual pages from a list (globs DO NOT work here)
- singlePages <- loadAll (fromList ["about.md", "contact.md", "archives.html", "feed.xml"])
+ singlePages <- loadAll (fromList ["about.md", "contact.md", "archives.html", "resources.html", "feed.xml"])
-- mappend the posts and singlePages together
- let pages = posts <> singlePages
+ let pages = posts <> resources <> singlePages
-- create the `pages` field with the postCtx
-- and return the `pages` value for it