Allows the use of BibTeX citations within a Pelican site
Project description
pelican-cite
Allows the use of BibTeX citations within a Pelican site. This plugin is based on the pelican-bibtex plugin written by Vlad Niculae and pelican-cite written by Chris MacMackin and aims to improve the following points:
- More flexibility using configuration
- The user can use any label, soring and naming style
- The user can create their own Jinja2 template for bibliography and label (This is still a TODO)
- Better maintainability
- Everything is tested with PyTest
Installation
To install simply run pip install pelican-cite
and add it to the PLUGINS
section of pelicanconf.py
PLUGINS = [
'...',
'pelican_cite'
'...',
]
How to Use
This plugin reads a user-specified BibTeX file and generates bibliographic information within your articles and pages.
If the file is present and readable, then content will be scanned for references
to citation keys. These take the format [@Bai2011]
.
The format [@@Bai2011]
is also possible for backwards compatibility with pelican-cite by
Chris MacMackin.
If a citation key is used which does not exist within the BibTeX file then a warning will be displayed.
Configuration
PUBLICATIONS_SRC
Location of the BibTeX file.
The BibTeX file may, optionally, be appended on a per-article
basis by supplying the meta-data publications_src
.
BIBLIOGRAPHY_NAME_STYLE
Defines how names will be formatted in the output.
Styles included in "Pybtex"
are "plain"
and "lastfirst"
. Defaults to None
.
BIBLIOGRAPHY_LABEL_STYLE
Defines how the labels will be formatted in the output.
Styles included in Pybtex
are "alpha"
and "number"
. Defaults to "alpha"
Author_year label style
There is also a custom style available called "author_year_1"
and "author_year_2"
.
The first will show labels like (Author,year)
, the second will show labels like Author (year)
You can use this by installing it with pip install pybtex-author-year-label
.
BIBLIOGRAPHY_SORTING_STYLE
Defines how the bibliography will be sorted.
Styles included in Pybtex
are "author_year_title"
and "none"
. Defaults to "author_year_title"
Usage in Pelican template
Labels
Labels are rendered with the BIBLIOGRAPHY_LABEL_STYLE
setting, and you cannot set anything
in the template.
Bibliography
Use out of the box template
You can add the bibliography anywhere in your template.
pelican_cite
comes with a rendered bibliography out of the box. Simply add the following to your template:
{% if article.bibliography %}
{{ article.bibliography.rendered }}
{% endif %}
This will use the template from pelican_cite/templates/citations.html
to render a bibliography
Create your own template
You can also create your own template. To do this article.bibliography
has a cites
attribute.
Attribute | Description |
---|---|
article.bibliography.cites.cite_key |
The id you used for the citation in your .bib file. |
article.bibliography.cites.ref_id |
The cite_key , without spaces. |
article.bibliography.cites.rendered_entry |
A rendered string containing the citation. |
article.bibliography.cites.count |
The number of times the entry was cited in the article. |
Here is a template to get you started:
{% if article.bibliography %}
<div id="citations">
<hr>
<h3>Citations</h3>
<ol class="references">
{% for cite in article.bibliography.cites %}
<li id="{{ cite.ref_id }}">
<span class="reference-text">{{ cite.rendered_entry }}</span>
{% for i in range(1, cite.count + 1) %}
<a class="cite-backref" href="#ref-{{ cite.ref_id }}-{{ i }}"
title="Jump back to reference {{ i }}">
<sup>
<i>
<b>
{{ i }}
</b>
</i>
</sup>
</a>
{% endfor %}
</li>
{% endfor %}
</ol>
</div>
{% endif %}
Project details
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 pelican-cite-1.1.1.tar.gz
.
File metadata
- Download URL: pelican-cite-1.1.1.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.0 CPython/3.7.5 Darwin/19.2.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bcc6754827c4be7fce4ffc8162a451506faef20f4a2164aa90b8b34afeff312 |
|
MD5 | 4e2ebf6d78f8663c8fcca84603602753 |
|
BLAKE2b-256 | b50aff5190494ccf90775354ef000f1edb32aab8da787148dfbc291c6dcbe285 |
File details
Details for the file pelican_cite-1.1.1-py3-none-any.whl
.
File metadata
- Download URL: pelican_cite-1.1.1-py3-none-any.whl
- Upload date:
- Size: 18.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.0 CPython/3.7.5 Darwin/19.2.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbca133856650e49b59cef39f1fa4dd8bf2decbd4735252e036f4581b326d157 |
|
MD5 | 87ff866c0af603fbf410b059b21c312f |
|
BLAKE2b-256 | c8f8ffa9661f8b38402c8ca060bad03b77b6b813f4051a8d9b27579ddc241786 |