TiddlyWiki5/plugins/tiddlywiki/bibtex/deserializer.js
Mario Pietsch 8aa558eb2c
Remove module function wrapper and add matching configurations for dprint and eslint (#7596)
* remove blks first try

* dprint.json seems to be OK, some forgotten functions

* add some more space-after-keyword settings

* server remove blks

* add **/files to dprint exclude

* dprint.js fixes a typo

* add boot.js and bootprefix.js to dprint exclude

* dprint change dprint.json

* add dprint fmt as script

* remove jslint comments

* fix whitespace

* fix whitespace

* remove function-wrapper from geospatial plugin

* fix whitespace

* add function wrapper to dyannotate-startup

* remove dpring.json
2025-03-21 17:22:57 +00:00

45 lines
914 B
JavaScript

/*\
title: $:/plugins/tiddlywiki/bibtex/deserializer.js
type: application/javascript
module-type: tiddlerdeserializer
BibTeX file deserializer
\*/
"use strict";
var bibtexParse = require("$:/plugins/tiddlywiki/bibtex/bibtexParse.js");
/*
Parse an BibTeX file into tiddlers
*/
exports["application/x-bibtex"] = function(text,fields) {
var data,
results = [];
// Parse the text
try {
data = bibtexParse.toJSON(text)
} catch(ex) {
data = ex.toString();
}
if(typeof data === "string") {
return [{
title: "BibTeX import error",
text: data
}];
}
// Convert each entry
$tw.utils.each(data,function(entry) {
var fields = {
title: entry.citationKey,
"bibtex-entry-type": entry.entryType
};
$tw.utils.each(entry.entryTags,function(value,name) {
fields["bibtex-" + name.toLowerCase()] = value;
});
results.push(fields);
});
// Return the output tiddlers
return results;
};