Modulehakyll-4.17.0.0Haskell2010
Hakyll.Web.Pandoc.Biblio
Wraps pandocs bibiliography handling
In order to add a bibliography, you will need a bibliography file (e.g.
.bib) and a CSL file (.csl). Both need to be compiled with their
respective compilers (biblioCompiler and cslCompiler). Then, you can
refer to these files when you use readPandocBiblio. This function also
takes the reader options for completeness -- you can use
defaultHakyllReaderOptions if you're unsure. If you already read the
source into a Pandoc type and need to add processing for the bibliography,
you can use processPandocBiblio instead.
pandocBiblioCompiler is a convenience wrapper which works like pandocCompiler,
but also takes paths to compiled bibliography and csl files;
pandocBibliosCompiler is similar but instead takes a glob pattern for bib files.
- 2 types
- 8 values
- Packagehakyll-4.17.0.0
- Exports10
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceBiblio.hs
Constructors
Process a bibliography file with the given style.
This function supports pandoc's
nocite
functionality when there is a nocite metadata field present.
Example
In your main function, first compile the respective files:
main = hakyll $ do
…
match "style.csl" $ compile cslCompiler
match "bib.bib" $ compile biblioCompilerThen, create a function like the following:
processBib :: Item Pandoc -> Compiler (Item Pandoc)
processBib pandoc = do
csl <- load @CSL "bib/style.csl"
bib <- load @Biblio "bib/bibliography.bib"
processPandocBiblio csl bib pandocNow, feed this function to your pandoc compiler:
myCompiler :: Compiler (Item String)
myCompiler = pandocItemCompilerWithTransformM myReader myWriter processBibLike processPandocBiblio, which see, but support multiple bibliography files.
Compiles a markdown file via Pandoc. Requires the .csl and .bib files to be known to the compiler via match statements.
Compiles a markdown file via Pandoc. Requires the .csl and .bib files to be known to the compiler via match statements.