A BitTeX parser implemented in JavaScript (ES6) based on the BibTeX Grammar.
Transforming a BibTeX file to an object in memory or a semi-structured file on disk.
Input:
@inproceedings{ding_dagbase_2020,
title = {Dagbase: a decentralized database platform {Using} {DAG}-based consensus},
copyright = {All rights reserved},
isbn = {1-72817-303-5},
booktitle = {2020 {IEEE} 44th {Annual} {Computers}, {Software}, and {Applications} {Conference} ({COMPSAC})},
publisher = {IEEE},
author = {Ding, Yepeng and Sato, Hiroyuki},
year = {2020},
pages = {798--807},
}
@article{ding_formalism-driven_2022,
title = {Formalism-{Driven} {Development}: {Concepts}, {Taxonomy}, and {Practice}},
volume = {12},
copyright = {All rights reserved},
issn = {2076-3417},
url = {https://www.mdpi.com/2076-3417/12/7/3415},
doi = {10.3390/app12073415},
number = {7},
journal = {Applied Sciences},
author = {Ding, Yepeng and Sato, Hiroyuki},
year = {2022},
}
Output:
[
{
"id": "ding_dagbase_2020",
"type": "inproceedings",
"title": "Dagbase: a decentralized database platform Using DAG-based consensus",
"copyright": "All rights reserved",
"isbn": "1-72817-303-5",
"booktitle": "2020 IEEE 44th Annual Computers, Software, and Applications Conference (COMPSAC)",
"publisher": "IEEE",
"author": "Ding, Yepeng and Sato, Hiroyuki",
"year": "2020",
"pages": "798--807"
},
{
"id": "ding_formalism-driven_2022",
"type": "article",
"title": "Formalism-Driven Development: Concepts, Taxonomy, and Practice",
"volume": "12",
"copyright": "All rights reserved",
"issn": "2076-3417",
"url": "https://www.mdpi.com/2076-3417/12/7/3415",
"doi": "10.3390/app12073415",
"number": "7",
"journal": "Applied Sciences",
"author": "Ding, Yepeng and Sato, Hiroyuki",
"year": "2022"
}
]
bibtex-js-parser
from npm registry.npm i bibtex-js-parser
BibtexParser
.import {BibtexParser} from "bibtex-js-parser";
const bibJSON = BibtexParser.parseToJSON(input);
const bibJSONString = BibtexParser.parseToJSONString(input);
bibtex-js-parser.js
from CDN.<script src="https://unpkg.com/bibtex-js-parser/umd/bibtex-js-parser.js"></script>
<script>
const bibJSON = BibtexParser.parseToJSON(input);
const bibJSONString = BibtexParser.parseToJSONString(input);
</script>
Environment
Build a CommonJS script to dist/dev/bibtex-js-parser-dev.js
with source map.
npm run dev
Configuration is changeable in .webpack.config.dev.js
.
Run tests defined in test
after building for dev.
npm run test
Build a UMD script to umd/bibtex-js-parser.js
and a CommonJS script to cjs/bibtex-js-parser.js
.
npm run build
Configuration is changeable in .webpack.config.prod.js
.
bibtex-js-parser.js
for production.bibtex-js-parser.js
in your project.parseToJSON
or parseToJSONString
under namespace BibtexParser
.