Compare commits

..

8 Commits

Author SHA1 Message Date
Shan Carter c02748434c 0.0.10 2017-01-09 17:09:59 -08:00
Shan Carter bed9a09325 testing 2017-01-09 17:09:54 -08:00
Shan Carter 010daea5f5 0.0.9 2017-01-09 16:51:59 -08:00
Shan Carter 65ca734aa3 bug 2017-01-09 16:51:54 -08:00
Shan Carter 12d78fed92 0.0.8 2017-01-09 16:42:39 -08:00
Shan Carter 722db5947e bump 2017-01-09 16:42:35 -08:00
Shan Carter cec3f6ab0b 0.0.7 2017-01-09 16:31:21 -08:00
Shan Carter 7e510b858e Fixes 2017-01-09 16:31:16 -08:00
6 changed files with 115 additions and 83 deletions
+23 -16
View File
@@ -2,30 +2,37 @@ import bibtexParse from "bibtex-parse-js";
export default function(dom, data) {
let el = dom.querySelector('script[type="text/bibliography"]');
let citations = [];
let bibliography = {};
//TODO If we don't have a local element, make a request for the document.
if (el) {
let rawBib = el.textContent;
let bibliography = {};
bibtexParse.toJSON(rawBib).forEach(e => {
bibliography[e.citationKey] = e.entryTags;
bibliography[e.citationKey].type = e.entryType;
});
let parsed = bibtexParse.toJSON(rawBib);
console.log(parsed);
if(parsed) {
parsed.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 (citations.indexOf(key) == -1){
citations.push(key);
if (! (key in bibliography)){
let key = el.getAttribute("key");
if (key) {
let citationKeys = key.split(",");
citationKeys.forEach(key => {
if (citations.indexOf(key) == -1){
citations.push(key);
if (!(key in bibliography)){
console.warn("No bibliography entry found for: " + key);
}
}
}
});
});
}
});
data.bibliography = bibliography;
data.citations = citations;
}
data.bibliography = bibliography;
data.citations = citations;
}
+7 -4
View File
@@ -10,10 +10,13 @@ export default function(dom, data) {
var citeTags = [].slice.apply(dom.querySelectorAll("dt-cite"));
console.log(citeTags);
citeTags.forEach(el => {
var keys = el.getAttribute("key").split(",");
console.log(keys)
var cite_string = inline_cite_short(keys);
el.innerHTML = cite_string;
var key = el.getAttribute("key");
if (key) {
var keys = key.split(",");
console.log(keys)
var cite_string = inline_cite_short(keys);
el.innerHTML = cite_string;
}
});
let bibEl = dom.querySelector("dt-bibliography");
+56 -44
View File
@@ -283,8 +283,6 @@ function Type$2(tag, options) {
var type = Type$2;
/*eslint-disable max-len*/
var common$4 = common$1;
var YAMLException$3 = exception;
var Type$1 = type;
@@ -896,8 +894,6 @@ function createCommonjsModule(fn, module) {
return module = { exports: {} }, fn(module, module.exports), module.exports;
}
/*eslint-disable no-bitwise*/
var NodeBuffer;
try {
@@ -1355,8 +1351,6 @@ var default_full = Schema$6.DEFAULT = new Schema$6({
]
});
/*eslint-disable max-len,no-use-before-define*/
var common = common$1;
var YAMLException$1 = exception;
var Mark = mark;
@@ -2948,8 +2942,6 @@ var loader$1 = {
safeLoad: safeLoad_1
};
/*eslint-disable no-use-before-define*/
var common$7 = common$1;
var YAMLException$5 = exception;
var DEFAULT_FULL_SCHEMA$2 = default_full;
@@ -4196,32 +4188,39 @@ var bibtexParse = createCommonjsModule(function (module, exports) {
var bibliography = function(dom, data) {
var el = dom.querySelector('script[type="text/bibliography"]');
var citations = [];
var bibliography = {};
//TODO If we don't have a local element, make a request for the document.
if (el) {
var rawBib = el.textContent;
var bibliography = {};
bibtexParse.toJSON(rawBib).forEach(function (e) {
bibliography[e.citationKey] = e.entryTags;
bibliography[e.citationKey].type = e.entryType;
});
var parsed = bibtexParse.toJSON(rawBib);
console.log(parsed);
if(parsed) {
parsed.forEach(function (e) {
bibliography[e.citationKey] = e.entryTags;
bibliography[e.citationKey].type = e.entryType;
});
}
var citations = [];
var citeTags = [].slice.apply(dom.querySelectorAll("dt-cite"));
citeTags.forEach(function (el) {
var citationKeys = el.getAttribute("key").split(",");
citationKeys.forEach(function (key) {
if (citations.indexOf(key) == -1){
citations.push(key);
if (! (key in bibliography)){
var key = el.getAttribute("key");
if (key) {
var citationKeys = key.split(",");
citationKeys.forEach(function (key) {
if (citations.indexOf(key) == -1){
citations.push(key);
if (!(key in bibliography)){
console.warn("No bibliography entry found for: " + key);
}
}
}
});
});
}
});
data.bibliography = bibliography;
data.citations = citations;
}
data.bibliography = bibliography;
data.citations = citations;
};
var expandData = function(dom, data) {
@@ -4391,10 +4390,13 @@ var citation = function(dom, data) {
var citeTags = [].slice.apply(dom.querySelectorAll("dt-cite"));
console.log(citeTags);
citeTags.forEach(function (el) {
var keys = el.getAttribute("key").split(",");
console.log(keys);
var cite_string = inline_cite_short(keys);
el.innerHTML = cite_string;
var key = el.getAttribute("key");
if (key) {
var keys = key.split(",");
console.log(keys);
var cite_string = inline_cite_short(keys);
el.innerHTML = cite_string;
}
});
var bibEl = dom.querySelector("dt-bibliography");
@@ -6637,29 +6639,39 @@ var generateCrossref = function(data) {
return "crossref";
};
function render(dom, data) {
data = data || {};
function renderImmediately(dom) {
html(dom);
styles(dom);
dom.addEventListener("DOMContentLoaded", function(event) {
frontMatter(dom, data);
bibliography(dom, data);
expandData(dom, data);
meta(dom, data);
header(dom, data);
appendix(dom, data);
footer(dom, data);
markdown(dom, data);
code$1(dom, data);
citation(dom, data);
}
function renderOnLoad(dom, data) {
frontMatter(dom, data);
bibliography(dom, data);
expandData(dom, data);
meta(dom, data);
header(dom, data);
appendix(dom, data);
footer(dom, data);
markdown(dom, data);
code$1(dom, data);
citation(dom, data);
}
// If we are in a browser, render automatically.
if(window && window.document) {
var data = data || {};
renderImmediately(window.document);
window.document.addEventListener("DOMContentLoaded", function (event) {
renderOnLoad(window.document, data);
console.log("final data:");
for (var k in data) {console.log(" ", k, ": ", data[k]);}
});
}
// If we are in a browser, run render automatically.
if(window && window.document) {
render(window.document);
// For node
function render(dom, data) {
renderImmediately(dom);
renderOnLoad(dom, data);
}
exports.render = render;
+1 -1
View File
File diff suppressed because one or more lines are too long
+27 -17
View File
@@ -12,29 +12,39 @@ import markdown from "./components/markdown";
import code from "./components/code";
import generateCrossref from "./components/generate-crossref";
function render(dom, data) {
data = data || {};
function renderImmediately(dom) {
html(dom);
styles(dom);
dom.addEventListener("DOMContentLoaded", function(event) {
frontMatter(dom, data);
bibliography(dom, data);
expandData(dom, data);
meta(dom, data);
header(dom, data);
appendix(dom, data);
footer(dom, data);
markdown(dom, data);
code(dom, data);
citation(dom, data);
console.log("final data:")
}
function renderOnLoad(dom, data) {
frontMatter(dom, data);
bibliography(dom, data);
expandData(dom, data);
meta(dom, data);
header(dom, data);
appendix(dom, data);
footer(dom, data);
markdown(dom, data);
code(dom, data);
citation(dom, data);
}
// If we are in a browser, render automatically.
if(window && window.document) {
let data = data || {};
renderImmediately(window.document);
window.document.addEventListener("DOMContentLoaded", (event) => {
renderOnLoad(window.document, data);
console.log("final data:");
for (var k in data) {console.log(" ", k, ": ", data[k])}
});
}
// If we are in a browser, run render automatically.
if(window && window.document) {
render(window.document);
// For node
function render(dom, data) {
renderImmediately(dom);
renderOnLoad(dom, data);
}
export {render as render};
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "distill-template",
"version": "0.0.6",
"version": "0.0.10",
"description": "Template for creating Distill articles.",
"main": "dist/template.js",
"scripts": {