Skip to content

Citation.js converts formats like BibTeX, Wikidata JSON and ContentMine JSON to CSL-JSON to convert to other formats like APA, Vancouver and back to BibTeX.

License

Notifications You must be signed in to change notification settings

larsgw/citation.js

Repository files navigation

NPM version NPM total downloads Build Status JavaScript Style Guide

Please use citation-js/citation-js if possible.

citation-js/citation-js replaces larsgw/citation.js
This repository contains the npm package @citation-js/core and several other components. This repository contains the npm package citation-js that wraps the aforementioned components for backwards compatibility.

Install

On Node.js, install the package (citation-js) like this:

npm install citation-js

To install the CLI as a global command, do this:

npm install --global citation-js

Browser releases are available here. These define require and add citation-js as a module.

<script src="path/to/citation.js" type="text/javascript"></script>
<script>
  const Cite = require('citation-js')
</script>

Getting Started

You can read a guide on how to get started, together with some tutorials and examples, here.

CLI

More info

Run the CLI like this:

citation-js  [options]

Options:

  -h, --help                      output usage information
  -V, --version                   output the version number

  -i, --input <path>              Input file
  -u, --url <url>                 Input url
  -t, --text <string>             Input text

  -o, --output <path>             Output file (omit file extension)

  -R, --output-non-real           Do not output the file in its mime type, but as a string
  -f, --output-type <option>      Output structure type: string, html, json
  -s, --output-style <option>     Output scheme. A combination of --output-format json and --output-style citation-* is considered invalid. Options: csl (Citation Style Lanugage JSON), bibtex, citation-* (where * is any formatting style)
  -l, --output-language <option>  Output language. [RFC 5646](https://tools.ietf.org/html/rfc5646) codes

Cite

More info

To use the Cite constructor, require() the module like this:

const Cite = require('citation-js')

For example, to get the bibliographical data of the Wikidata item wd:Q21972834, and then format it in HTML, English and APA:

let example = new Cite('Q21972834')

let output = example.format('bibliography', {
  format: 'html',
  template: 'apa',
  lang: 'en-US'
})

console.log(output)

To test this code, go to RunKit.

Async

Use the async API (recommended for Wikidata, URL, and DOI input) like this:

let example = await Cite.async('Q21972834')

let output = example.format('bibliography', {
  format: 'html',
  template: 'apa',
  lang: 'en-US'
})

console.log(output)

Cite.async() also supports options as the second argument, and a callback function as last argument.

About

Citation.js converts formats like BibTeX, Wikidata JSON and ContentMine JSON to CSL-JSON to convert to other formats like APA, Vancouver and back to BibTeX.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published