An MkDocs plugin that enables managing citations with BibTex
Project description
mkdocs-bibtex
A MkDocs plugin for citation management using bibtex.
Setup
Install the plugin using pip:
pip install mkdocs-bibtex
Note: This plugin requires pandoc to be installed on your system.
If you're having trouble with pandoc, try installing the conda-forge version of pypandoc:conda install -c conda-forge pypandoc
which will install a version with built in pandoc binaries
Next, add the following lines to your mkdocs.yml
:
plugins:
- search
- bibtex:
bib_file: "refs.bib"
markdown_extensions:
- footnotes
The footnotes extension is how citations are linked for now.
If you have no
plugins
entry in your config file yet, you'll likely also want to add thesearch
plugin. MkDocs enables it by default if there is noplugins
entry set.
Options
bib_file
- The path or url to a single bibtex file. Path can either be absolute or relative tomkdocs.yml
. Example URL:https://api.zotero.org/*/items?format=bibtex
bib_dir
- Directory for bibtex files to load, same as above for path resolutionbib_command
- The syntax to render your bibliography, defaults to\bibliography
bib_by_default
- Automatically append thebib_command
at the end of every markdown document, defaults totrue
full_bib_command
- The syntax to render your entire bibliography, defaults to\full_bibliography
csl_file
- The path or url to a bibtex CSL file, specifying your citation format. Defaults toNone
, which renders in a plain format. A registry of citation styles can be found here: https://github.com/citation-style-language/stylescite_inline
- Whether or not to render citations inline, requirescsl_file
to be specified. Defaults toFalse
.
Usage
In your markdown files:
- Add your citations as you would if you used pandoc, IE:
[@first_cite;@second_cite]
- Add
\bibliography
, or the value ofbib_command
, to the doc you want your references rendered (ifbib_by_default
is set to true this is automatically applied for every page). - (Optional) Add
\full_bibliography
, or the value offull_bib_command
, to where you want the full bibliography rendered. Note: This is currently not working properly, since this plugin can't dictate the order in which files are processed. The best way to ensure the file with the full bibliography gets processed last is to use numbers in front of file/folder names to enforce the order of processing, IE:01_my_first_file.md
- (Optional) Configure the
csl_file
option to dictate the citation text formatting.
Debugging
You may wish to use the verbose flag in mkdocs (-v
) to log debug messages. You should see something like this
(...)
DEBUG - Parsing bibtex file 'docs/bib/papers.bib'...
INFO - SUCCESS Parsing bibtex file 'docs/bib/papers.bib'
DEBUG - Downloading CSL file from URL https://raw.githubusercontent.com/citation-style-language/styles/master/apa-6th-edition.csl to temporary file...
INFO - CSL file downladed from URL https://raw.githubusercontent.com/citation-style-language/styles/master/apa-6th-edition.csl to temporary file (<tempfile._TemporaryFileWrapper object at 0x00000203E4F2F650>)
(...)
DEBUG - Reading: publications.md
DEBUG - Running 2 `page_markdown` events
DEBUG - Formatting all bib entries...
DEBUG - --Converting bibtex entry 'foo2019' with CSL file 'docs/bib/apa_verbose.csl' using pandoc>=2.11
DEBUG - --SUCCESS Converting bibtex entry 'foo2019' with CSL file 'docs/bib/apa_verbose.csl' using pandoc>=2.11
DEBUG - --Converting bibtex entry 'bar2024' with CSL file 'docs/bib/apa_verbose.csl' using pandoc>=2.11
DEBUG - --SUCCESS Converting bibtex entry 'bar2024' with CSL file 'docs/bib/apa_verbose.csl' using pandoc>=2.11
INFO - SUCCESS Formatting all bib entries
DEBUG - Replacing citation keys with the generated ones...
DEBUG - --Rendering citation inline for '[@foo2019]'...
DEBUG - ----Converting pandoc citation key '[@foo2019]' with CSL file 'docs/bib/apa_verbose.csl' and Bibliography file '(...)/tmpzt7t8p0y/temp.bib'...
DEBUG - ----SUCCESS Converting pandoc citation key '[@foo2019]' with CSL file 'docs/bib/apa_verbose.csl' and Bibliography file '(...)/tmpzt7t8p0y/temp.bib'
DEBUG - --SUCCESS Rendering citation inline for '[@foo2019]'
DEBUG - --Rendering citation inline for '[@bar2024]'...
DEBUG - ----Converting pandoc citation key '[@bar2024]' with CSL file 'docs/bib/apa_verbose.csl' and Bibliography file '(...)/tmpzt7t8p0y/temp.bib'...
DEBUG - ----SUCCESS Converting pandoc citation key '[@bar2024]' with CSL file 'docs/bib/apa_verbose.csl' and Bibliography file '(...)/tmpzt7t8p0y/temp.bib'
DEBUG - --SUCCESS Rendering citation inline for '[@bar2024]'
DEBUG - SUCCESS Replacing citation keys with the generated ones
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mkdocs-bibtex-2.14.4.tar.gz
.
File metadata
- Download URL: mkdocs-bibtex-2.14.4.tar.gz
- Upload date:
- Size: 21.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fcfaa07dfbf275176c4b38dd198cf8fa0a5fe89e414574936067e4c98cb9d76 |
|
MD5 | 110840eb51a9734e95be94ec3a4d79bb |
|
BLAKE2b-256 | bbea6494dd13acf70197fdffd5d6f94fdc421fc9a1cfd9142478924c20fdba99 |
File details
Details for the file mkdocs_bibtex-2.14.4-py3-none-any.whl
.
File metadata
- Download URL: mkdocs_bibtex-2.14.4-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5814d2aa21144c7185f855a86e6788ac1ccdf863a3afec63ee707345a1a21024 |
|
MD5 | 1a1175bca8fd9a162e96b913f419fe36 |
|
BLAKE2b-256 | 5ecd5871c3cff720ec8f098abc7d61711e321048082d16c0ac755762100505e1 |