@afnan.bashir/dxipher-js
For all the popular Reference Manager formats
📝 Table of Contents
⌛️ Quick Start
See it on npm
npm i @afnan.bashir/dxipher-js
Use like below
const { bibtexToJSON } = require("@afnan.bashir/dxipher-js");
//Read your .bib and pass the content
bibtexToJSON(content);
See the documentation here
🧐 About
Reference JS is a collection of parsing functions for Node that allow you to import, export and convert between BibTeX, EndNote, XML, JSON files and more.
Reference Managers are software tools used to organise research work. We aim to tackle the vast Reference Manager format types that exist i.e. bibtex, f1000, XML.
By parsing all formats into JSON, we alleviate the need to for JSON based storage and point-to-point conversion i.e. Bibtex to JSON to XML.
The project was forked from devisle and has been extended to support other file formats.
🏁 Getting Started
These instructions will set reference-js up and running on your local machine for development and deployment purposes. See Usage for notes on how to use the API.
Prerequisites
You will need NodeJS and NPM. Not sure if you have node or npm? use in your terminal:
node -v
Installing
Install the package with
npm install @afnan.bashir/dxipher-js
🔧 Contributors
See the To do for required features to work on.
Further information on how to contribute Here.
🎈 Usage
Formats from Reference managers can be converted into JSON and back. Using this approach, you are able to leverage the library to convert between other formats e.g. Bibtex to JSON to RIS behind the scenes.
🚀 Deployment
We recommend storing your references in JSON format as it is highly compatible with NoSQL databases and Web Applications.
⛏️ Built Using
- Chevrotain - Parser toolkit
- regex101 - Regex Tester
- Jest - Testing Framework
- NodeJs - Server Environment
✍️ Authors
- @afnan - Forked and Extension
Original Authors:
- @natedeploys - Idea & Initial work
- @endormi - Contributor
- @shreyas1307 - Contributor
🎉 Acknowledgements
- I am grateful to Dev Isle for uploading nicely designed project on which I was able to extend