Skip to content

Instantly share code, notes, and snippets.

@adrianp
Last active August 18, 2017 12:56
Show Gist options
  • Save adrianp/bc428c463d2abfa7b428130f7cb80f13 to your computer and use it in GitHub Desktop.
Save adrianp/bc428c463d2abfa7b428130f7cb80f13 to your computer and use it in GitHub Desktop.
Minimal citeproc-py example
# https://github.com/brechtm/citeproc-py
# https://github.com/citation-style-language/styles
from citeproc.py2compat import *
from citeproc import formatter, Citation, CitationItem, CitationStylesStyle, CitationStylesBibliography
from citeproc.source.json import CiteProcJSON
def get_citation(data, style):
bib_source = CiteProcJSON(data)
bib_style = CitationStylesStyle(style, validate=False)
bibliography = CitationStylesBibliography(bib_style, bib_source, formatter.html)
citation = Citation([CitationItem(str(data[0]["id"]))])
bibliography.register(citation)
return str(bibliography.bibliography()[0])
if __name__ == "__main__":
data = [{"id": 3001412, "title": "This is Sparta", "type": "poster"}]
print get_citation(data, "apa")
print get_citation(data, "harvard1")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment