add footnote support

This commit is contained in:
Christopher Olah
2017-01-11 11:35:12 -08:00
parent 9ebc8d5ea6
commit 3dc4f84514
2 changed files with 27 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
export default function(dom, data) {
var fnTags = [].slice.apply(dom.querySelectorAll("dt-fn"));
var fnContent = [];
fnTags.forEach((el,n) => {
var content = el.innerHTML;
fnContent.push(content);
n = (n+1)+"";
var key = "fn-"+n;
var escaped_content = content.replace(/"/g, "'");
el.innerHTML = `<sup><span id="${key}" data-hover="${escaped_content}" style="cursor:pointer">${n}</span></sup>`;
});
let fnList = dom.querySelector("dt-fn-list");
if (fnList) {
let ol = dom.createElement("ol");
fnContent.forEach(content => {
let el = dom.createElement("li");
el.innerHTML = content;
ol.appendChild(el);
})
fnList.appendChild(ol);
}
}
+2
View File
@@ -9,6 +9,7 @@ import byline from "./components/byline";
import appendix from "./components/appendix";
import footer from "./components/footer";
import citation from "./components/citation";
import footnote from "./components/footnote";
import markdown from "./components/markdown";
import code from "./components/code";
import hoverBox from "./components/hover-box-include";
@@ -31,6 +32,7 @@ function renderOnLoad(dom, data) {
markdown(dom, data);
code(dom, data);
citation(dom, data);
footnote(dom, data);
hoverBox(dom, data);
// TODO remove script tag
}