remark-bibliography

Remark plugin for adding bibliographies to markdown.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
remark-bibliography
1.0.03 years ago5 years agoMinified + gzip package size for remark-bibliography in KB

Readme

remark-bibliography
CI/CD Status MIT License stars
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.

Install

This package is ESM only: Node 12+ is needed to use it and it must be imported instead of required.
npm:
npm install remark-bibliography

Example

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](example/example.json),
the result will look something like this: [examples/example.html](examples/example.html)

## Configuring

remark-bibliography is configured using several metadata fields in each document.

### `bibliography`

Required. Specifies the path to the bibliography file, relative to the current file.

### `locale`

Which locale the citations use. Supported options:
`de-de`, `en-gb`, `en-us`, `es-es`, and `fr-fr` (default: `en-us`).

### `style`

Which citation style to use for inline citations and the bibliography.
Supported options: `apa`, `chicago`, `mla`, and `vancouver` (default: `chicago`).

## Usage

```javascript
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)

License

MIT © Alex Shaw