summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-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