diff options
| author | Chris Wells <chris@mathematicaster.org> | 2026-01-20 17:00:40 -0600 |
|---|---|---|
| committer | Chris Wells <chris@mathematicaster.org> | 2026-01-20 17:00:40 -0600 |
| commit | 5d83e36ef8210d1514259c89ff97a25c4d19600c (patch) | |
| tree | bb15b5d2f15e671b6963b1088a501e0dee758f2e /app/Main.hs | |
| parent | 8424579b0c79038510c3e763b1154cb6aea5cdfe (diff) | |
| download | main-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.hs | 17 |
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 |
