diff options
| author | Eugen Wissner <belka@caraus.de> | 2026-07-26 11:46:44 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2026-07-26 11:46:44 +0200 |
| commit | 197b54567def7497f1f4abc905e0d7152ed5d2d2 (patch) | |
| tree | 70ec5916c314a430d634e82511f114c98fc5c80d /src/Main.hs | |
| parent | e844a70479915d1fba0336800b35c8c1022b61c6 (diff) | |
| download | flevum-197b54567def7497f1f4abc905e0d7152ed5d2d2.tar.gz | |
Use compile pandoc functions
Diffstat (limited to 'src/Main.hs')
| -rw-r--r-- | src/Main.hs | 36 |
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 |
