Fixing edge cases with missing tags and data

This commit is contained in:
Shan Carter
2017-01-06 16:20:04 -08:00
parent 037996bd06
commit 6b93782533
8 changed files with 70 additions and 60 deletions
+22 -22
View File
@@ -2,28 +2,28 @@ import bibtexParse from "bibtex-parse-js";
export default function(dom, data) {
let el = dom.querySelector('script[type="text/bibliography"]');
//TODO If we don't have a local element, make a request for the document.
let rawBib = el.textContent;
console.log(rawBib, bibtexParse.toJSON(rawBib))
let bibliography = {};
bibtexParse.toJSON(rawBib).forEach(e => {
bibliography[e.citationKey] = e.entryTags;
bibliography[e.citationKey].type = e.entryType;
});
let citations = {};
var citeTags = [].slice.apply(dom.querySelectorAll("dt-cite"));
citeTags.forEach(el => {
let citationKeys = el.getAttribute("key").split(",");
citationKeys.forEach(key => {
if (bibliography[key]) {
citations[key] = bibliography[key];
} else {
console.warn("No bibliography entry found for: " + key);
}
if (el) {
let rawBib = el.textContent;
let bibliography = {};
bibtexParse.toJSON(rawBib).forEach(e => {
bibliography[e.citationKey] = e.entryTags;
bibliography[e.citationKey].type = e.entryType;
});
});
data.citations = citations;
console.log(data.citations)
let citations = {};
var citeTags = [].slice.apply(dom.querySelectorAll("dt-cite"));
citeTags.forEach(el => {
let citationKeys = el.getAttribute("key").split(",");
citationKeys.forEach(key => {
if (bibliography[key]) {
citations[key] = bibliography[key];
} else {
console.warn("No bibliography entry found for: " + key);
}
});
});
data.citations = citations;
}
}