aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-07-26 11:46:44 +0200
committerEugen Wissner <belka@caraus.de>2026-07-26 11:46:44 +0200
commit197b54567def7497f1f4abc905e0d7152ed5d2d2 (patch)
tree70ec5916c314a430d634e82511f114c98fc5c80d /src
parente844a70479915d1fba0336800b35c8c1022b61c6 (diff)
downloadflevum-197b54567def7497f1f4abc905e0d7152ed5d2d2.tar.gz
Use compile pandoc functions
Diffstat (limited to 'src')
-rw-r--r--src/Main.hs36
1 files changed, 25 insertions, 11 deletions
diff --git a/src/Main.hs b/src/Main.hs
index c9a5137..d9b3cf5 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -14,7 +14,6 @@ import Hakyll.Core.Compiler
, makeItem
, noResult
, saveSnapshot
- , getResourceBody
)
import Hakyll.Core.Configuration (Configuration(..))
import Hakyll.Core.File (copyFileCompiler)
@@ -44,9 +43,9 @@ import Hakyll.Web.Paginate
import Hakyll.Web.Pandoc
( defaultHakyllReaderOptions
, defaultHakyllWriterOptions
- , writePandocWith
+ , pandocItemCompilerWithTransformM
)
-import Hakyll.Web.Pandoc.Biblio (biblioCompiler, cslCompiler, readPandocBiblio)
+import Hakyll.Web.Pandoc.Biblio (biblioCompiler, cslCompiler, processPandocBiblio)
import Hakyll.Web.Tags (Tags(..), buildTags, tagsRules)
import Hakyll.Web.Template (loadAndApplyTemplate, templateBodyCompiler)
import Hakyll.Web.Template.Context
@@ -73,7 +72,13 @@ import System.FilePath
)
import System.Process (rawSystem)
import qualified Network.Wai.Application.Static as Static
-import Text.Pandoc.Options (HTMLMathMethod(..), WriterOptions(..))
+import Text.Pandoc.Options
+ ( Extension(Ext_latex_macros)
+ , HTMLMathMethod(..)
+ , ReaderOptions(..)
+ , WriterOptions(..)
+ , extensionsFromList
+ )
--
-- Default configuration.
@@ -214,17 +219,26 @@ cleanIndexUrls = return . fmap (withUrls cleanIndex)
| otherwise = url
bibtexCompiler :: Compiler (Item String)
-bibtexCompiler = do
- bib <- load "assets/bibliography/references.bib"
- csl <- load "assets/bibliography/theologie-und-philosophie.csl"
-
- let pandocBiblio = readPandocBiblio defaultHakyllReaderOptions csl bib
+bibtexCompiler =
+ let readerExtensions' = readerExtensions defaultHakyllReaderOptions
+ <> extensionsFromList [Ext_latex_macros]
+ readerOptions = defaultHakyllReaderOptions
+ { readerExtensions = readerExtensions'
+ }
+ writerExtensions' = writerExtensions defaultHakyllWriterOptions
+ <> extensionsFromList [Ext_latex_macros]
writerOptions = defaultHakyllWriterOptions
{ writerHTMLMathMethod = MathML
+ , writerExtensions = writerExtensions'
}
+ in fmap demoteHeaders
+ <$> pandocItemCompilerWithTransformM readerOptions writerOptions transformPandoc
+ where
+ transformPandoc pandoc = do
+ bib <- load "assets/bibliography/references.bib"
+ csl <- load "assets/bibliography/theologie-und-philosophie.csl"
- fmap demoteHeaders . writePandocWith writerOptions
- <$> (getResourceBody >>= pandocBiblio)
+ processPandocBiblio csl bib pandoc
copyMatchedFiles :: Pattern -> Rules ()
copyMatchedFiles = flip match $ route idRoute >> compile copyFileCompiler