summaryrefslogtreecommitdiff
path: root/app/Main.hs
diff options
context:
space:
mode:
authorChris Wells <chris@mathematicaster.org>2026-01-20 17:00:40 -0600
committerChris Wells <chris@mathematicaster.org>2026-01-20 17:00:40 -0600
commit5d83e36ef8210d1514259c89ff97a25c4d19600c (patch)
treebb15b5d2f15e671b6963b1088a501e0dee758f2e /app/Main.hs
parent8424579b0c79038510c3e763b1154cb6aea5cdfe (diff)
downloadmain-5d83e36ef8210d1514259c89ff97a25c4d19600c.tar
main-5d83e36ef8210d1514259c89ff97a25c4d19600c.tar.gz
main-5d83e36ef8210d1514259c89ff97a25c4d19600c.tar.bz2
main-5d83e36ef8210d1514259c89ff97a25c4d19600c.tar.lz
main-5d83e36ef8210d1514259c89ff97a25c4d19600c.tar.xz
main-5d83e36ef8210d1514259c89ff97a25c4d19600c.tar.zst
main-5d83e36ef8210d1514259c89ff97a25c4d19600c.zip
Technically working, but I need a cleaner way to pass personA and
journalA into a list context...
Diffstat (limited to 'app/Main.hs')
-rw-r--r--app/Main.hs17
1 files changed, 12 insertions, 5 deletions
diff --git a/app/Main.hs b/app/Main.hs
index 6e00f0a..9c375a1 100644
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -2,17 +2,20 @@ module Main where
import Prolog
import Hakyll
+import Data.List qualified as L
import Hakyll.Alias
import Hakyll.Util
import Data.Alias (AliasMap)
-import Data.Name (Name_)
+import Data.Name (Name (..), Name_)
import Data.Person (Person_)
import Data.Journal (Journal_)
import Data.License (License_)
+import Data.Paper (Paper (..))
import Hakyll.Aeson (yamlCompiler)
+import Hakyll.Paper (papersCompiler, mkPaperContext, FieldContext (..))
import Hakyll.TeX.BibTeX (bibtexCompiler)
-import WWW.Base (baseHakyll, domain)
+import WWW.Base (baseHakyll, domain, myHakyllWriterOptions, myHakyllReaderOptions)
import WWW.Templates (myContext, defaultTemplate)
@@ -43,18 +46,22 @@ main = baseHakyll domain $ do
route $ dropParentRoute 1
compile $ do
papers <- loadBody @[Paper String] "data/papers.bib"
- let fixedPapers = sort $ papers <&> \p -> p
+ let fixedPapers = L.reverse $ L.sort $ papers <&> \p -> p
{ authors = (`filter` authors p) $ flip notElem
[ Name "Cox" "Christopher" Nothing
, Name "Wells" "Chris" Nothing
] -- Remove me from the author list
}
- undefined >>= applyTemplate defaultTemplate baseCtxt >>= applyAsTemplate (mkPaperContext fixedPapers)
+ getResourceBody >>= applyAsTemplate (mkPaperContext (FieldContext (personCtxt "data/people.yaml") (journalCtxt "data/journals.yaml")) fixedPapers) >>= applyTemplate defaultTemplate baseCtxt
match "www/teaching/index.md" $ do
route $ dropParentRoute 1 `composeRoutes` setExtension ".html"
- compile $ myPandocCompiler >>= applyTemplate defaultTemplate baseCtxt
+ -- compile $ myPandocCompiler >>= applyAsTemplate baseCtxt >>= applyTemplate defaultTemplate baseCtxt
+ compile $ getResourceBody >>= applyAsTemplate baseCtxt >>= myRenderPandoc >>= applyTemplate defaultTemplate baseCtxt
pure ()
myPandocCompiler :: Compiler (Item String)
myPandocCompiler = pandocCompilerWith myHakyllReaderOptions myHakyllWriterOptions
+
+myRenderPandoc :: Item String -> Compiler (Item String)
+myRenderPandoc = renderPandocWith myHakyllReaderOptions myHakyllWriterOptions