Remark plugin for adding citations and bibliographies to Markdown documents.
Bibliographies are included by specifying the bibliography
field in the YAML frontmatter metadata
at the top of each document. Inline citations simply use @ followed by the name of the source.
A complete bibliography will then be appended to the bottom of the output. See the example below for more details.
This plugin requires remark-meta to resolve the path to bibliography files. Files are resolved relative to the path of the markdown file.
BibJSON is the only format currently supported, but support for other formats like BibTeX, MODS, and RIS is planned. Pull requests are welcome.
This package is ESM only:
Node 12+ is needed to use it and it must be import
ed instead of require
d.
npm:
npm install remark-bibliography
Consider the following example:
---
bibliography: example.json
locale: en-us
style: chicago
---
# Example Bibliography
Example citation:
Vulkan has better support for multithreading than OpenGL (@singh2016)
See the full reference for this citation below:
When given a bibliography file example/example.json, the result will look something like this: examples/example.html
remark-bibliography is configured using several metadata fields in each document.
Required. Specifies the path to the bibliography file, relative to the current file.
Which locale the citations use. Supported options:
de-de
, en-gb
, en-us
, es-es
, and fr-fr
(default: en-us
).
Which citation style to use for inline citations and the bibliography.
Supported options: apa
, chicago
, mla
, and vancouver
(default: chicago
).
import { unified } from 'unified'
import markdown from 'remark-parse'
import html from 'rehype-stringify'
import remark2rehype from 'remark-rehype'
import bibliography from 'remark-bibliography'
import frontmatter from 'remark-frontmatter'
import meta from 'remark-meta'
unified()
.use(markdown)
.use(frontmatter)
.use(meta)
.use(bibliography)
.use(remark2rehype)
.use(html)
MIT © Alex Shaw