Diagrams and text are licensed under Creative Commons Attribution CC-BY 2.0, unless noted otherwise, with the source available on GitHub. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: “Figure from …”.
\n
For attribution in academic contexts, please cite this work as
Diagrams and text are licensed under Creative Commons Attribution CC-BY 2.0, unless noted otherwise, with the source available on GitHub. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: “Figure from …”.
\n
For attribution in academic contexts, please cite this work as
\n \n
BibTeX citation
\n \n
\n";
var appendix = function(dom, data) {
var el = dom.querySelector('dt-appendix');
if (el) {
var oldHtml = el.innerHTML;
- el.innerHTML = html$4;
+ el.innerHTML = html$3;
var div = el.querySelector("div.l-body");
if (dom.querySelector("dt-fn")) {
@@ -6032,20 +6016,6 @@ var appendix = function(dom, data) {
};
-var html$5 = "\n\n\n
\n`\n\nexport default function(dom, data) {\n let el = dom.querySelector(\"dt-header\");\n if(el) {\n el.innerHTML = html;\n } else {\n let header = dom.createElement(\"dt-header\");\n header.innerHTML = html;\n let b = dom.querySelector(\"body\");\n b.insertBefore(header, b.firstChild);\n }\n}\n","/*!\n * mustache.js - Logic-less {{mustache}} templates with JavaScript\n * http://github.com/janl/mustache.js\n */\n\n/*global define: false Mustache: true*/\n\n(function defineMustache (global, factory) {\n if (typeof exports === 'object' && exports && typeof exports.nodeName !== 'string') {\n factory(exports); // CommonJS\n } else if (typeof define === 'function' && define.amd) {\n define(['exports'], factory); // AMD\n } else {\n global.Mustache = {};\n factory(global.Mustache); // script, wsh, asp\n }\n}(this, function mustacheFactory (mustache) {\n\n var objectToString = Object.prototype.toString;\n var isArray = Array.isArray || function isArrayPolyfill (object) {\n return objectToString.call(object) === '[object Array]';\n };\n\n function isFunction (object) {\n return typeof object === 'function';\n }\n\n /**\n * More correct typeof string handling array\n * which normally returns typeof 'object'\n */\n function typeStr (obj) {\n return isArray(obj) ? 'array' : typeof obj;\n }\n\n function escapeRegExp (string) {\n return string.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, '\\\\$&');\n }\n\n /**\n * Null safe way of checking whether or not an object,\n * including its prototype, has a given property\n */\n function hasProperty (obj, propName) {\n return obj != null && typeof obj === 'object' && (propName in obj);\n }\n\n // Workaround for https://issues.apache.org/jira/browse/COUCHDB-577\n // See https://github.com/janl/mustache.js/issues/189\n var regExpTest = RegExp.prototype.test;\n function testRegExp (re, string) {\n return regExpTest.call(re, string);\n }\n\n var nonSpaceRe = /\\S/;\n function isWhitespace (string) {\n return !testRegExp(nonSpaceRe, string);\n }\n\n var entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/',\n '`': '`',\n '=': '='\n };\n\n function escapeHtml (string) {\n return String(string).replace(/[&<>\"'`=\\/]/g, function fromEntityMap (s) {\n return entityMap[s];\n });\n }\n\n var whiteRe = /\\s*/;\n var spaceRe = /\\s+/;\n var equalsRe = /\\s*=/;\n var curlyRe = /\\s*\\}/;\n var tagRe = /#|\\^|\\/|>|\\{|&|=|!/;\n\n /**\n * Breaks up the given `template` string into a tree of tokens. If the `tags`\n * argument is given here it must be an array with two string values: the\n * opening and closing tags used in the template (e.g. [ \"<%\", \"%>\" ]). Of\n * course, the default is to use mustaches (i.e. mustache.tags).\n *\n * A token is an array with at least 4 elements. The first element is the\n * mustache symbol that was used inside the tag, e.g. \"#\" or \"&\". If the tag\n * did not contain a symbol (i.e. {{myValue}}) this element is \"name\". For\n * all text that appears outside a symbol this element is \"text\".\n *\n * The second element of a token is its \"value\". For mustache tags this is\n * whatever else was inside the tag besides the opening symbol. For text tokens\n * this is the text itself.\n *\n * The third and fourth elements of the token are the start and end indices,\n * respectively, of the token in the original template.\n *\n * Tokens that are the root node of a subtree contain two more elements: 1) an\n * array of tokens in the subtree and 2) the index in the original template at\n * which the closing tag for that section begins.\n */\n function parseTemplate (template, tags) {\n if (!template)\n return [];\n\n var sections = []; // Stack to hold section tokens\n var tokens = []; // Buffer to hold the tokens\n var spaces = []; // Indices of whitespace tokens on the current line\n var hasTag = false; // Is there a {{tag}} on the current line?\n var nonSpace = false; // Is there a non-space char on the current line?\n\n // Strips all whitespace tokens array for the current line\n // if there was a {{#tag}} on it and otherwise only space.\n function stripSpace () {\n if (hasTag && !nonSpace) {\n while (spaces.length)\n delete tokens[spaces.pop()];\n } else {\n spaces = [];\n }\n\n hasTag = false;\n nonSpace = false;\n }\n\n var openingTagRe, closingTagRe, closingCurlyRe;\n function compileTags (tagsToCompile) {\n if (typeof tagsToCompile === 'string')\n tagsToCompile = tagsToCompile.split(spaceRe, 2);\n\n if (!isArray(tagsToCompile) || tagsToCompile.length !== 2)\n throw new Error('Invalid tags: ' + tagsToCompile);\n\n openingTagRe = new RegExp(escapeRegExp(tagsToCompile[0]) + '\\\\s*');\n closingTagRe = new RegExp('\\\\s*' + escapeRegExp(tagsToCompile[1]));\n closingCurlyRe = new RegExp('\\\\s*' + escapeRegExp('}' + tagsToCompile[1]));\n }\n\n compileTags(tags || mustache.tags);\n\n var scanner = new Scanner(template);\n\n var start, type, value, chr, token, openSection;\n while (!scanner.eos()) {\n start = scanner.pos;\n\n // Match any text between tags.\n value = scanner.scanUntil(openingTagRe);\n\n if (value) {\n for (var i = 0, valueLength = value.length; i < valueLength; ++i) {\n chr = value.charAt(i);\n\n if (isWhitespace(chr)) {\n spaces.push(tokens.length);\n } else {\n nonSpace = true;\n }\n\n tokens.push([ 'text', chr, start, start + 1 ]);\n start += 1;\n\n // Check for whitespace on the current line.\n if (chr === '\\n')\n stripSpace();\n }\n }\n\n // Match the opening tag.\n if (!scanner.scan(openingTagRe))\n break;\n\n hasTag = true;\n\n // Get the tag type.\n type = scanner.scan(tagRe) || 'name';\n scanner.scan(whiteRe);\n\n // Get the tag value.\n if (type === '=') {\n value = scanner.scanUntil(equalsRe);\n scanner.scan(equalsRe);\n scanner.scanUntil(closingTagRe);\n } else if (type === '{') {\n value = scanner.scanUntil(closingCurlyRe);\n scanner.scan(curlyRe);\n scanner.scanUntil(closingTagRe);\n type = '&';\n } else {\n value = scanner.scanUntil(closingTagRe);\n }\n\n // Match the closing tag.\n if (!scanner.scan(closingTagRe))\n throw new Error('Unclosed tag at ' + scanner.pos);\n\n token = [ type, value, start, scanner.pos ];\n tokens.push(token);\n\n if (type === '#' || type === '^') {\n sections.push(token);\n } else if (type === '/') {\n // Check section nesting.\n openSection = sections.pop();\n\n if (!openSection)\n throw new Error('Unopened section \"' + value + '\" at ' + start);\n\n if (openSection[1] !== value)\n throw new Error('Unclosed section \"' + openSection[1] + '\" at ' + start);\n } else if (type === 'name' || type === '{' || type === '&') {\n nonSpace = true;\n } else if (type === '=') {\n // Set the tags for the next time around.\n compileTags(value);\n }\n }\n\n // Make sure there are no open sections when we're done.\n openSection = sections.pop();\n\n if (openSection)\n throw new Error('Unclosed section \"' + openSection[1] + '\" at ' + scanner.pos);\n\n return nestTokens(squashTokens(tokens));\n }\n\n /**\n * Combines the values of consecutive text tokens in the given `tokens` array\n * to a single token.\n */\n function squashTokens (tokens) {\n var squashedTokens = [];\n\n var token, lastToken;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n token = tokens[i];\n\n if (token) {\n if (token[0] === 'text' && lastToken && lastToken[0] === 'text') {\n lastToken[1] += token[1];\n lastToken[3] = token[3];\n } else {\n squashedTokens.push(token);\n lastToken = token;\n }\n }\n }\n\n return squashedTokens;\n }\n\n /**\n * Forms the given array of `tokens` into a nested tree structure where\n * tokens that represent a section have two additional items: 1) an array of\n * all tokens that appear in that section and 2) the index in the original\n * template that represents the end of that section.\n */\n function nestTokens (tokens) {\n var nestedTokens = [];\n var collector = nestedTokens;\n var sections = [];\n\n var token, section;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n token = tokens[i];\n\n switch (token[0]) {\n case '#':\n case '^':\n collector.push(token);\n sections.push(token);\n collector = token[4] = [];\n break;\n case '/':\n section = sections.pop();\n section[5] = token[2];\n collector = sections.length > 0 ? sections[sections.length - 1][4] : nestedTokens;\n break;\n default:\n collector.push(token);\n }\n }\n\n return nestedTokens;\n }\n\n /**\n * A simple string scanner that is used by the template parser to find\n * tokens in template strings.\n */\n function Scanner (string) {\n this.string = string;\n this.tail = string;\n this.pos = 0;\n }\n\n /**\n * Returns `true` if the tail is empty (end of string).\n */\n Scanner.prototype.eos = function eos () {\n return this.tail === '';\n };\n\n /**\n * Tries to match the given regular expression at the current position.\n * Returns the matched text if it can match, the empty string otherwise.\n */\n Scanner.prototype.scan = function scan (re) {\n var match = this.tail.match(re);\n\n if (!match || match.index !== 0)\n return '';\n\n var string = match[0];\n\n this.tail = this.tail.substring(string.length);\n this.pos += string.length;\n\n return string;\n };\n\n /**\n * Skips all text until the given regular expression can be matched. Returns\n * the skipped string, which is the entire tail if no match can be made.\n */\n Scanner.prototype.scanUntil = function scanUntil (re) {\n var index = this.tail.search(re), match;\n\n switch (index) {\n case -1:\n match = this.tail;\n this.tail = '';\n break;\n case 0:\n match = '';\n break;\n default:\n match = this.tail.substring(0, index);\n this.tail = this.tail.substring(index);\n }\n\n this.pos += match.length;\n\n return match;\n };\n\n /**\n * Represents a rendering context by wrapping a view object and\n * maintaining a reference to the parent context.\n */\n function Context (view, parentContext) {\n this.view = view;\n this.cache = { '.': this.view };\n this.parent = parentContext;\n }\n\n /**\n * Creates a new context using the given view with this context\n * as the parent.\n */\n Context.prototype.push = function push (view) {\n return new Context(view, this);\n };\n\n /**\n * Returns the value of the given name in this context, traversing\n * up the context hierarchy if the value is absent in this context's view.\n */\n Context.prototype.lookup = function lookup (name) {\n var cache = this.cache;\n\n var value;\n if (cache.hasOwnProperty(name)) {\n value = cache[name];\n } else {\n var context = this, names, index, lookupHit = false;\n\n while (context) {\n if (name.indexOf('.') > 0) {\n value = context.view;\n names = name.split('.');\n index = 0;\n\n /**\n * Using the dot notion path in `name`, we descend through the\n * nested objects.\n *\n * To be certain that the lookup has been successful, we have to\n * check if the last object in the path actually has the property\n * we are looking for. We store the result in `lookupHit`.\n *\n * This is specially necessary for when the value has been set to\n * `undefined` and we want to avoid looking up parent contexts.\n **/\n while (value != null && index < names.length) {\n if (index === names.length - 1)\n lookupHit = hasProperty(value, names[index]);\n\n value = value[names[index++]];\n }\n } else {\n value = context.view[name];\n lookupHit = hasProperty(context.view, name);\n }\n\n if (lookupHit)\n break;\n\n context = context.parent;\n }\n\n cache[name] = value;\n }\n\n if (isFunction(value))\n value = value.call(this.view);\n\n return value;\n };\n\n /**\n * A Writer knows how to take a stream of tokens and render them to a\n * string, given a context. It also maintains a cache of templates to\n * avoid the need to parse the same template twice.\n */\n function Writer () {\n this.cache = {};\n }\n\n /**\n * Clears all cached templates in this writer.\n */\n Writer.prototype.clearCache = function clearCache () {\n this.cache = {};\n };\n\n /**\n * Parses and caches the given `template` and returns the array of tokens\n * that is generated from the parse.\n */\n Writer.prototype.parse = function parse (template, tags) {\n var cache = this.cache;\n var tokens = cache[template];\n\n if (tokens == null)\n tokens = cache[template] = parseTemplate(template, tags);\n\n return tokens;\n };\n\n /**\n * High-level method that is used to render the given `template` with\n * the given `view`.\n *\n * The optional `partials` argument may be an object that contains the\n * names and templates of partials that are used in the template. It may\n * also be a function that is used to load partial templates on the fly\n * that takes a single argument: the name of the partial.\n */\n Writer.prototype.render = function render (template, view, partials) {\n var tokens = this.parse(template);\n var context = (view instanceof Context) ? view : new Context(view);\n return this.renderTokens(tokens, context, partials, template);\n };\n\n /**\n * Low-level method that renders the given array of `tokens` using\n * the given `context` and `partials`.\n *\n * Note: The `originalTemplate` is only ever used to extract the portion\n * of the original template that was contained in a higher-order section.\n * If the template doesn't use higher-order sections, this argument may\n * be omitted.\n */\n Writer.prototype.renderTokens = function renderTokens (tokens, context, partials, originalTemplate) {\n var buffer = '';\n\n var token, symbol, value;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n value = undefined;\n token = tokens[i];\n symbol = token[0];\n\n if (symbol === '#') value = this.renderSection(token, context, partials, originalTemplate);\n else if (symbol === '^') value = this.renderInverted(token, context, partials, originalTemplate);\n else if (symbol === '>') value = this.renderPartial(token, context, partials, originalTemplate);\n else if (symbol === '&') value = this.unescapedValue(token, context);\n else if (symbol === 'name') value = this.escapedValue(token, context);\n else if (symbol === 'text') value = this.rawValue(token);\n\n if (value !== undefined)\n buffer += value;\n }\n\n return buffer;\n };\n\n Writer.prototype.renderSection = function renderSection (token, context, partials, originalTemplate) {\n var self = this;\n var buffer = '';\n var value = context.lookup(token[1]);\n\n // This function is used to render an arbitrary template\n // in the current context by higher-order sections.\n function subRender (template) {\n return self.render(template, context, partials);\n }\n\n if (!value) return;\n\n if (isArray(value)) {\n for (var j = 0, valueLength = value.length; j < valueLength; ++j) {\n buffer += this.renderTokens(token[4], context.push(value[j]), partials, originalTemplate);\n }\n } else if (typeof value === 'object' || typeof value === 'string' || typeof value === 'number') {\n buffer += this.renderTokens(token[4], context.push(value), partials, originalTemplate);\n } else if (isFunction(value)) {\n if (typeof originalTemplate !== 'string')\n throw new Error('Cannot use higher-order sections without the original template');\n\n // Extract the portion of the original template that the section contains.\n value = value.call(context.view, originalTemplate.slice(token[3], token[5]), subRender);\n\n if (value != null)\n buffer += value;\n } else {\n buffer += this.renderTokens(token[4], context, partials, originalTemplate);\n }\n return buffer;\n };\n\n Writer.prototype.renderInverted = function renderInverted (token, context, partials, originalTemplate) {\n var value = context.lookup(token[1]);\n\n // Use JavaScript's definition of falsy. Include empty arrays.\n // See https://github.com/janl/mustache.js/issues/186\n if (!value || (isArray(value) && value.length === 0))\n return this.renderTokens(token[4], context, partials, originalTemplate);\n };\n\n Writer.prototype.renderPartial = function renderPartial (token, context, partials) {\n if (!partials) return;\n\n var value = isFunction(partials) ? partials(token[1]) : partials[token[1]];\n if (value != null)\n return this.renderTokens(this.parse(value), context, partials, value);\n };\n\n Writer.prototype.unescapedValue = function unescapedValue (token, context) {\n var value = context.lookup(token[1]);\n if (value != null)\n return value;\n };\n\n Writer.prototype.escapedValue = function escapedValue (token, context) {\n var value = context.lookup(token[1]);\n if (value != null)\n return mustache.escape(value);\n };\n\n Writer.prototype.rawValue = function rawValue (token) {\n return token[1];\n };\n\n mustache.name = 'mustache.js';\n mustache.version = '2.3.0';\n mustache.tags = [ '{{', '}}' ];\n\n // All high-level mustache.* functions use this writer.\n var defaultWriter = new Writer();\n\n /**\n * Clears all cached templates in the default writer.\n */\n mustache.clearCache = function clearCache () {\n return defaultWriter.clearCache();\n };\n\n /**\n * Parses and caches the given template in the default writer and returns the\n * array of tokens it contains. Doing this ahead of time avoids the need to\n * parse templates on the fly as they are rendered.\n */\n mustache.parse = function parse (template, tags) {\n return defaultWriter.parse(template, tags);\n };\n\n /**\n * Renders the `template` with the given `view` and `partials` using the\n * default writer.\n */\n mustache.render = function render (template, view, partials) {\n if (typeof template !== 'string') {\n throw new TypeError('Invalid template! Template should be a \"string\" ' +\n 'but \"' + typeStr(template) + '\" was given as the first ' +\n 'argument for mustache#render(template, view, partials)');\n }\n\n return defaultWriter.render(template, view, partials);\n };\n\n // This is here for backwards compatibility with 0.4.x.,\n /*eslint-disable */ // eslint wants camel cased function name\n mustache.to_html = function to_html (template, view, partials, send) {\n /*eslint-enable*/\n\n var result = mustache.render(template, view, partials);\n\n if (isFunction(send)) {\n send(result);\n } else {\n return result;\n }\n };\n\n // Export the escaping function so that the user may override it.\n // See https://github.com/janl/mustache.js/issues/244\n mustache.escape = escapeHtml;\n\n // Export these mainly for testing, but also for advanced usage.\n mustache.Scanner = Scanner;\n mustache.Context = Context;\n mustache.Writer = Writer;\n\n return mustache;\n}));\n","import mustache from \"mustache\";\n\nconst html = `\n\n\n`;\n\nconst template = `\n
\n`\n\nexport default function(dom, data) {\n let el = dom.querySelector('dt-byline');\n if (el) {\n el.innerHTML = html + mustache.render(template, data);\n }\n}\n","const html = `\n\n\n
Diagrams and text are licensed under Creative Commons Attribution CC-BY 2.0, unless noted otherwise, with the source available on GitHub. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: “Figure from …”.
\n
For attribution in academic contexts, please cite this work as
\n \n
BibTeX citation
\n \n
\n`;\n\nexport default function(dom, data) {\n let el = dom.querySelector('dt-appendix')\n if (el) {\n let oldHtml = el.innerHTML;\n el.innerHTML = html;\n let div = el.querySelector(\"div.l-body\")\n\n if (dom.querySelector(\"dt-fn\")) {\n div.innerHTML = `
\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' style=\"text-align:' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '' + type + '>\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.em = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? ' ' : ' ';\n};\n\nRenderer.prototype.del = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n if (this.options.sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return '';\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0) {\n return '';\n }\n }\n var out = '' + text + '';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n var out = '' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer;\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options, renderer) {\n var parser = new Parser(options, renderer);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options, this.renderer);\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n return this.token = this.tokens.pop();\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n this.token.text);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = ''\n , body = ''\n , i\n , row\n , cell\n , flags\n , j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n flags = { header: true, align: this.token.align[i] };\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n var body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n var body = ''\n , ordered = this.token.ordered;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered);\n }\n case 'list_item_start': {\n var body = '';\n\n while (this.next().type !== 'list_item_end') {\n body += this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n\n return this.renderer.listitem(body);\n }\n case 'loose_item_start': {\n var body = '';\n\n while (this.next().type !== 'list_item_end') {\n body += this.tok();\n }\n\n return this.renderer.listitem(body);\n }\n case 'html': {\n var html = !this.token.pre && !this.options.pedantic\n ? this.inline.output(this.token.text)\n : this.token.text;\n return this.renderer.html(html);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n }\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n return html\n .replace(!encode ? /&(?!#?\\w+;)/g : /&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\nfunction unescape(html) {\n\t// explicitly match decimal, hex, and named HTML entities \n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/g, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction replace(regex, opt) {\n regex = regex.source;\n opt = opt || '';\n return function self(name, val) {\n if (!name) return new RegExp(regex, opt);\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return self;\n };\n}\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1\n , target\n , key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n\n var highlight = opt.highlight\n , tokens\n , pending\n , i = 0;\n\n try {\n tokens = Lexer.lex(src, opt)\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/chjj/marked.';\n if ((opt || marked.defaults).silent) {\n return '
An error occured:
'\n + escape(e.message + '', true)\n + '
';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.defaults = {\n gfm: true,\n tables: true,\n breaks: false,\n pedantic: false,\n sanitize: false,\n sanitizer: null,\n mangle: true,\n smartLists: false,\n silent: false,\n highlight: null,\n langPrefix: 'lang-',\n smartypants: false,\n headerPrefix: '',\n renderer: new Renderer,\n xhtml: false\n};\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n this.marked = marked;\n}\n\n}).call(function() {\n return this || (typeof window !== 'undefined' ? window : global);\n}());\n","import marked from 'marked';\n\nmarked.setOptions({\n gfm: true,\n smartypants: true\n});\n\nexport default function(dom, data) {\n let markdownElements = [].slice.call(dom.querySelectorAll('[markdown]'));\n markdownElements.forEach(el => {\n let content = el.innerHTML;\n // Set default indents\n content = content.replace(/\\n/, \"\");\n let tabs = content.match(/\\s*/);\n content = content.replace(new RegExp(\"\\n\" + tabs, \"g\"), \"\\n\");\n content = content.trim();\n\n el.innerHTML = marked(content);\n });\n}\n","\n/* **********************************************\n Begin prism-core.js\n********************************************** */\n\nvar _self = (typeof window !== 'undefined')\n\t? window // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t? self // if in worker\n\t\t: {} // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n * MIT license http://www.opensource.org/licenses/mit-license.php/\n * @author Lea Verou http://lea.verou.me\n */\n\nvar Prism = (function(){\n\n// Private helper vars\nvar lang = /\\blang(?:uage)?-(\\w+)\\b/i;\nvar uniqueId = 0;\n\nvar _ = _self.Prism = {\n\tutil: {\n\t\tencode: function (tokens) {\n\t\t\tif (tokens instanceof Token) {\n\t\t\t\treturn new Token(tokens.type, _.util.encode(tokens.content), tokens.alias);\n\t\t\t} else if (_.util.type(tokens) === 'Array') {\n\t\t\t\treturn tokens.map(_.util.encode);\n\t\t\t} else {\n\t\t\t\treturn tokens.replace(/&/g, '&').replace(/ text.length) {\n\t\t\t\t\t\t// Something went terribly wrong, ABORT, ABORT!\n\t\t\t\t\t\tbreak tokenloop;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tpattern.lastIndex = 0;\n\n\t\t\t\t\tvar match = pattern.exec(str),\n\t\t\t\t\t delNum = 1;\n\n\t\t\t\t\t// Greedy patterns can override/remove up to two previously matched tokens\n\t\t\t\t\tif (!match && greedy && i != strarr.length - 1) {\n\t\t\t\t\t\tpattern.lastIndex = pos;\n\t\t\t\t\t\tmatch = pattern.exec(text);\n\t\t\t\t\t\tif (!match) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar from = match.index + (lookbehind ? match[1].length : 0),\n\t\t\t\t\t\t to = match.index + match[0].length,\n\t\t\t\t\t\t k = i,\n\t\t\t\t\t\t p = pos;\n\n\t\t\t\t\t\tfor (var len = strarr.length; k < len && p < to; ++k) {\n\t\t\t\t\t\t\tp += strarr[k].length;\n\t\t\t\t\t\t\t// Move the index i to the element in strarr that is closest to from\n\t\t\t\t\t\t\tif (from >= p) {\n\t\t\t\t\t\t\t\t++i;\n\t\t\t\t\t\t\t\tpos = p;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t * If strarr[i] is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\t\t * If strarr[k - 1] is greedy we are in conflict with another greedy pattern\n\t\t\t\t\t\t */\n\t\t\t\t\t\tif (strarr[i] instanceof Token || strarr[k - 1].greedy) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Number of tokens to delete and replace with the new match\n\t\t\t\t\t\tdelNum = k - i;\n\t\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\t\tmatch.index -= pos;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!match) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif(lookbehind) {\n\t\t\t\t\t\tlookbehindLength = match[1].length;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar from = match.index + lookbehindLength,\n\t\t\t\t\t match = match[0].slice(lookbehindLength),\n\t\t\t\t\t to = from + match.length,\n\t\t\t\t\t before = str.slice(0, from),\n\t\t\t\t\t after = str.slice(to);\n\n\t\t\t\t\tvar args = [i, delNum];\n\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\targs.push(before);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar wrapped = new Token(token, inside? _.tokenize(match, inside) : match, alias, match, greedy);\n\n\t\t\t\t\targs.push(wrapped);\n\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\targs.push(after);\n\t\t\t\t\t}\n\n\t\t\t\t\tArray.prototype.splice.apply(strarr, args);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn strarr;\n\t},\n\n\thooks: {\n\t\tall: {},\n\n\t\tadd: function (name, callback) {\n\t\t\tvar hooks = _.hooks.all;\n\n\t\t\thooks[name] = hooks[name] || [];\n\n\t\t\thooks[name].push(callback);\n\t\t},\n\n\t\trun: function (name, env) {\n\t\t\tvar callbacks = _.hooks.all[name];\n\n\t\t\tif (!callbacks || !callbacks.length) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (var i=0, callback; callback = callbacks[i++];) {\n\t\t\t\tcallback(env);\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar Token = _.Token = function(type, content, alias, matchedStr, greedy) {\n\tthis.type = type;\n\tthis.content = content;\n\tthis.alias = alias;\n\t// Copy of the full string this token was created from\n\tthis.length = (matchedStr || \"\").length|0;\n\tthis.greedy = !!greedy;\n};\n\nToken.stringify = function(o, language, parent) {\n\tif (typeof o == 'string') {\n\t\treturn o;\n\t}\n\n\tif (_.util.type(o) === 'Array') {\n\t\treturn o.map(function(element) {\n\t\t\treturn Token.stringify(element, language, o);\n\t\t}).join('');\n\t}\n\n\tvar env = {\n\t\ttype: o.type,\n\t\tcontent: Token.stringify(o.content, language, parent),\n\t\ttag: 'span',\n\t\tclasses: ['token', o.type],\n\t\tattributes: {},\n\t\tlanguage: language,\n\t\tparent: parent\n\t};\n\n\tif (env.type == 'comment') {\n\t\tenv.attributes['spellcheck'] = 'true';\n\t}\n\n\tif (o.alias) {\n\t\tvar aliases = _.util.type(o.alias) === 'Array' ? o.alias : [o.alias];\n\t\tArray.prototype.push.apply(env.classes, aliases);\n\t}\n\n\t_.hooks.run('wrap', env);\n\n\tvar attributes = Object.keys(env.attributes).map(function(name) {\n\t\treturn name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n\t}).join(' ');\n\n\treturn '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + (attributes ? ' ' + attributes : '') + '>' + env.content + '' + env.tag + '>';\n\n};\n\nif (!_self.document) {\n\tif (!_self.addEventListener) {\n\t\t// in Node.js\n\t\treturn _self.Prism;\n\t}\n \t// In worker\n\t_self.addEventListener('message', function(evt) {\n\t\tvar message = JSON.parse(evt.data),\n\t\t lang = message.language,\n\t\t code = message.code,\n\t\t immediateClose = message.immediateClose;\n\n\t\t_self.postMessage(_.highlight(code, _.languages[lang], lang));\n\t\tif (immediateClose) {\n\t\t\t_self.close();\n\t\t}\n\t}, false);\n\n\treturn _self.Prism;\n}\n\n//Get current script and highlight\nvar script = document.currentScript || [].slice.call(document.getElementsByTagName(\"script\")).pop();\n\nif (script) {\n\t_.filename = script.src;\n\n\tif (document.addEventListener && !script.hasAttribute('data-manual')) {\n\t\tif(document.readyState !== \"loading\") {\n\t\t\tif (window.requestAnimationFrame) {\n\t\t\t\twindow.requestAnimationFrame(_.highlightAll);\n\t\t\t} else {\n\t\t\t\twindow.setTimeout(_.highlightAll, 16);\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tdocument.addEventListener('DOMContentLoaded', _.highlightAll);\n\t\t}\n\t}\n}\n\nreturn _self.Prism;\n\n})();\n\nif (typeof module !== 'undefined' && module.exports) {\n\tmodule.exports = Prism;\n}\n\n// hack for components to work correctly in node.js\nif (typeof global !== 'undefined') {\n\tglobal.Prism = Prism;\n}\n\n\n/* **********************************************\n Begin prism-markup.js\n********************************************** */\n\nPrism.languages.markup = {\n\t'comment': //,\n\t'prolog': /<\\?[\\w\\W]+?\\?>/,\n\t'doctype': //i,\n\t'cdata': //i,\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\\\1|\\\\?(?!\\1)[\\w\\W])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/i,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=(?:('|\")[\\w\\W]*?(\\1)|[^\\s>]+)/i,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /[=>\"']/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': /?[\\da-z]{1,8};/i\n};\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function(env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nPrism.languages.xml = Prism.languages.markup;\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\n\n/* **********************************************\n Begin prism-css.js\n********************************************** */\n\nPrism.languages.css = {\n\t'comment': /\\/\\*[\\w\\W]*?\\*\\//,\n\t'atrule': {\n\t\tpattern: /@[\\w-]+?.*?(;|(?=\\s*\\{))/i,\n\t\tinside: {\n\t\t\t'rule': /@[\\w-]+/\n\t\t\t// See rest below\n\t\t}\n\t},\n\t'url': /url\\((?:([\"'])(\\\\(?:\\r\\n|[\\w\\W])|(?!\\1)[^\\\\\\r\\n])*\\1|.*?)\\)/i,\n\t'selector': /[^\\{\\}\\s][^\\{\\};]*?(?=\\s*\\{)/,\n\t'string': {\n\t\tpattern: /(\"|')(\\\\(?:\\r\\n|[\\w\\W])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'property': /(\\b|\\B)[\\w-]+(?=\\s*:)/i,\n\t'important': /\\B!important\\b/i,\n\t'function': /[-a-z0-9]+(?=\\()/i,\n\t'punctuation': /[(){};:]/\n};\n\nPrism.languages.css['atrule'].inside.rest = Prism.util.clone(Prism.languages.css);\n\nif (Prism.languages.markup) {\n\tPrism.languages.insertBefore('markup', 'tag', {\n\t\t'style': {\n\t\t\tpattern: /(\n
This article is a draft, awaiting review for publication in Distill
\n`;\n\nexport default function(dom, data) {\n let banner = dom.createElement(\"dt-banner\");\n banner.innerHTML = html;\n let b = dom.querySelector(\"body\");\n b.insertBefore(banner, b.firstChild);\n banner.addEventListener(\"click\", function() {\n banner.style.display = \"none\";\n });\n}\n","/*!\n * mustache.js - Logic-less {{mustache}} templates with JavaScript\n * http://github.com/janl/mustache.js\n */\n\n/*global define: false Mustache: true*/\n\n(function defineMustache (global, factory) {\n if (typeof exports === 'object' && exports && typeof exports.nodeName !== 'string') {\n factory(exports); // CommonJS\n } else if (typeof define === 'function' && define.amd) {\n define(['exports'], factory); // AMD\n } else {\n global.Mustache = {};\n factory(global.Mustache); // script, wsh, asp\n }\n}(this, function mustacheFactory (mustache) {\n\n var objectToString = Object.prototype.toString;\n var isArray = Array.isArray || function isArrayPolyfill (object) {\n return objectToString.call(object) === '[object Array]';\n };\n\n function isFunction (object) {\n return typeof object === 'function';\n }\n\n /**\n * More correct typeof string handling array\n * which normally returns typeof 'object'\n */\n function typeStr (obj) {\n return isArray(obj) ? 'array' : typeof obj;\n }\n\n function escapeRegExp (string) {\n return string.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, '\\\\$&');\n }\n\n /**\n * Null safe way of checking whether or not an object,\n * including its prototype, has a given property\n */\n function hasProperty (obj, propName) {\n return obj != null && typeof obj === 'object' && (propName in obj);\n }\n\n // Workaround for https://issues.apache.org/jira/browse/COUCHDB-577\n // See https://github.com/janl/mustache.js/issues/189\n var regExpTest = RegExp.prototype.test;\n function testRegExp (re, string) {\n return regExpTest.call(re, string);\n }\n\n var nonSpaceRe = /\\S/;\n function isWhitespace (string) {\n return !testRegExp(nonSpaceRe, string);\n }\n\n var entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/',\n '`': '`',\n '=': '='\n };\n\n function escapeHtml (string) {\n return String(string).replace(/[&<>\"'`=\\/]/g, function fromEntityMap (s) {\n return entityMap[s];\n });\n }\n\n var whiteRe = /\\s*/;\n var spaceRe = /\\s+/;\n var equalsRe = /\\s*=/;\n var curlyRe = /\\s*\\}/;\n var tagRe = /#|\\^|\\/|>|\\{|&|=|!/;\n\n /**\n * Breaks up the given `template` string into a tree of tokens. If the `tags`\n * argument is given here it must be an array with two string values: the\n * opening and closing tags used in the template (e.g. [ \"<%\", \"%>\" ]). Of\n * course, the default is to use mustaches (i.e. mustache.tags).\n *\n * A token is an array with at least 4 elements. The first element is the\n * mustache symbol that was used inside the tag, e.g. \"#\" or \"&\". If the tag\n * did not contain a symbol (i.e. {{myValue}}) this element is \"name\". For\n * all text that appears outside a symbol this element is \"text\".\n *\n * The second element of a token is its \"value\". For mustache tags this is\n * whatever else was inside the tag besides the opening symbol. For text tokens\n * this is the text itself.\n *\n * The third and fourth elements of the token are the start and end indices,\n * respectively, of the token in the original template.\n *\n * Tokens that are the root node of a subtree contain two more elements: 1) an\n * array of tokens in the subtree and 2) the index in the original template at\n * which the closing tag for that section begins.\n */\n function parseTemplate (template, tags) {\n if (!template)\n return [];\n\n var sections = []; // Stack to hold section tokens\n var tokens = []; // Buffer to hold the tokens\n var spaces = []; // Indices of whitespace tokens on the current line\n var hasTag = false; // Is there a {{tag}} on the current line?\n var nonSpace = false; // Is there a non-space char on the current line?\n\n // Strips all whitespace tokens array for the current line\n // if there was a {{#tag}} on it and otherwise only space.\n function stripSpace () {\n if (hasTag && !nonSpace) {\n while (spaces.length)\n delete tokens[spaces.pop()];\n } else {\n spaces = [];\n }\n\n hasTag = false;\n nonSpace = false;\n }\n\n var openingTagRe, closingTagRe, closingCurlyRe;\n function compileTags (tagsToCompile) {\n if (typeof tagsToCompile === 'string')\n tagsToCompile = tagsToCompile.split(spaceRe, 2);\n\n if (!isArray(tagsToCompile) || tagsToCompile.length !== 2)\n throw new Error('Invalid tags: ' + tagsToCompile);\n\n openingTagRe = new RegExp(escapeRegExp(tagsToCompile[0]) + '\\\\s*');\n closingTagRe = new RegExp('\\\\s*' + escapeRegExp(tagsToCompile[1]));\n closingCurlyRe = new RegExp('\\\\s*' + escapeRegExp('}' + tagsToCompile[1]));\n }\n\n compileTags(tags || mustache.tags);\n\n var scanner = new Scanner(template);\n\n var start, type, value, chr, token, openSection;\n while (!scanner.eos()) {\n start = scanner.pos;\n\n // Match any text between tags.\n value = scanner.scanUntil(openingTagRe);\n\n if (value) {\n for (var i = 0, valueLength = value.length; i < valueLength; ++i) {\n chr = value.charAt(i);\n\n if (isWhitespace(chr)) {\n spaces.push(tokens.length);\n } else {\n nonSpace = true;\n }\n\n tokens.push([ 'text', chr, start, start + 1 ]);\n start += 1;\n\n // Check for whitespace on the current line.\n if (chr === '\\n')\n stripSpace();\n }\n }\n\n // Match the opening tag.\n if (!scanner.scan(openingTagRe))\n break;\n\n hasTag = true;\n\n // Get the tag type.\n type = scanner.scan(tagRe) || 'name';\n scanner.scan(whiteRe);\n\n // Get the tag value.\n if (type === '=') {\n value = scanner.scanUntil(equalsRe);\n scanner.scan(equalsRe);\n scanner.scanUntil(closingTagRe);\n } else if (type === '{') {\n value = scanner.scanUntil(closingCurlyRe);\n scanner.scan(curlyRe);\n scanner.scanUntil(closingTagRe);\n type = '&';\n } else {\n value = scanner.scanUntil(closingTagRe);\n }\n\n // Match the closing tag.\n if (!scanner.scan(closingTagRe))\n throw new Error('Unclosed tag at ' + scanner.pos);\n\n token = [ type, value, start, scanner.pos ];\n tokens.push(token);\n\n if (type === '#' || type === '^') {\n sections.push(token);\n } else if (type === '/') {\n // Check section nesting.\n openSection = sections.pop();\n\n if (!openSection)\n throw new Error('Unopened section \"' + value + '\" at ' + start);\n\n if (openSection[1] !== value)\n throw new Error('Unclosed section \"' + openSection[1] + '\" at ' + start);\n } else if (type === 'name' || type === '{' || type === '&') {\n nonSpace = true;\n } else if (type === '=') {\n // Set the tags for the next time around.\n compileTags(value);\n }\n }\n\n // Make sure there are no open sections when we're done.\n openSection = sections.pop();\n\n if (openSection)\n throw new Error('Unclosed section \"' + openSection[1] + '\" at ' + scanner.pos);\n\n return nestTokens(squashTokens(tokens));\n }\n\n /**\n * Combines the values of consecutive text tokens in the given `tokens` array\n * to a single token.\n */\n function squashTokens (tokens) {\n var squashedTokens = [];\n\n var token, lastToken;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n token = tokens[i];\n\n if (token) {\n if (token[0] === 'text' && lastToken && lastToken[0] === 'text') {\n lastToken[1] += token[1];\n lastToken[3] = token[3];\n } else {\n squashedTokens.push(token);\n lastToken = token;\n }\n }\n }\n\n return squashedTokens;\n }\n\n /**\n * Forms the given array of `tokens` into a nested tree structure where\n * tokens that represent a section have two additional items: 1) an array of\n * all tokens that appear in that section and 2) the index in the original\n * template that represents the end of that section.\n */\n function nestTokens (tokens) {\n var nestedTokens = [];\n var collector = nestedTokens;\n var sections = [];\n\n var token, section;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n token = tokens[i];\n\n switch (token[0]) {\n case '#':\n case '^':\n collector.push(token);\n sections.push(token);\n collector = token[4] = [];\n break;\n case '/':\n section = sections.pop();\n section[5] = token[2];\n collector = sections.length > 0 ? sections[sections.length - 1][4] : nestedTokens;\n break;\n default:\n collector.push(token);\n }\n }\n\n return nestedTokens;\n }\n\n /**\n * A simple string scanner that is used by the template parser to find\n * tokens in template strings.\n */\n function Scanner (string) {\n this.string = string;\n this.tail = string;\n this.pos = 0;\n }\n\n /**\n * Returns `true` if the tail is empty (end of string).\n */\n Scanner.prototype.eos = function eos () {\n return this.tail === '';\n };\n\n /**\n * Tries to match the given regular expression at the current position.\n * Returns the matched text if it can match, the empty string otherwise.\n */\n Scanner.prototype.scan = function scan (re) {\n var match = this.tail.match(re);\n\n if (!match || match.index !== 0)\n return '';\n\n var string = match[0];\n\n this.tail = this.tail.substring(string.length);\n this.pos += string.length;\n\n return string;\n };\n\n /**\n * Skips all text until the given regular expression can be matched. Returns\n * the skipped string, which is the entire tail if no match can be made.\n */\n Scanner.prototype.scanUntil = function scanUntil (re) {\n var index = this.tail.search(re), match;\n\n switch (index) {\n case -1:\n match = this.tail;\n this.tail = '';\n break;\n case 0:\n match = '';\n break;\n default:\n match = this.tail.substring(0, index);\n this.tail = this.tail.substring(index);\n }\n\n this.pos += match.length;\n\n return match;\n };\n\n /**\n * Represents a rendering context by wrapping a view object and\n * maintaining a reference to the parent context.\n */\n function Context (view, parentContext) {\n this.view = view;\n this.cache = { '.': this.view };\n this.parent = parentContext;\n }\n\n /**\n * Creates a new context using the given view with this context\n * as the parent.\n */\n Context.prototype.push = function push (view) {\n return new Context(view, this);\n };\n\n /**\n * Returns the value of the given name in this context, traversing\n * up the context hierarchy if the value is absent in this context's view.\n */\n Context.prototype.lookup = function lookup (name) {\n var cache = this.cache;\n\n var value;\n if (cache.hasOwnProperty(name)) {\n value = cache[name];\n } else {\n var context = this, names, index, lookupHit = false;\n\n while (context) {\n if (name.indexOf('.') > 0) {\n value = context.view;\n names = name.split('.');\n index = 0;\n\n /**\n * Using the dot notion path in `name`, we descend through the\n * nested objects.\n *\n * To be certain that the lookup has been successful, we have to\n * check if the last object in the path actually has the property\n * we are looking for. We store the result in `lookupHit`.\n *\n * This is specially necessary for when the value has been set to\n * `undefined` and we want to avoid looking up parent contexts.\n **/\n while (value != null && index < names.length) {\n if (index === names.length - 1)\n lookupHit = hasProperty(value, names[index]);\n\n value = value[names[index++]];\n }\n } else {\n value = context.view[name];\n lookupHit = hasProperty(context.view, name);\n }\n\n if (lookupHit)\n break;\n\n context = context.parent;\n }\n\n cache[name] = value;\n }\n\n if (isFunction(value))\n value = value.call(this.view);\n\n return value;\n };\n\n /**\n * A Writer knows how to take a stream of tokens and render them to a\n * string, given a context. It also maintains a cache of templates to\n * avoid the need to parse the same template twice.\n */\n function Writer () {\n this.cache = {};\n }\n\n /**\n * Clears all cached templates in this writer.\n */\n Writer.prototype.clearCache = function clearCache () {\n this.cache = {};\n };\n\n /**\n * Parses and caches the given `template` and returns the array of tokens\n * that is generated from the parse.\n */\n Writer.prototype.parse = function parse (template, tags) {\n var cache = this.cache;\n var tokens = cache[template];\n\n if (tokens == null)\n tokens = cache[template] = parseTemplate(template, tags);\n\n return tokens;\n };\n\n /**\n * High-level method that is used to render the given `template` with\n * the given `view`.\n *\n * The optional `partials` argument may be an object that contains the\n * names and templates of partials that are used in the template. It may\n * also be a function that is used to load partial templates on the fly\n * that takes a single argument: the name of the partial.\n */\n Writer.prototype.render = function render (template, view, partials) {\n var tokens = this.parse(template);\n var context = (view instanceof Context) ? view : new Context(view);\n return this.renderTokens(tokens, context, partials, template);\n };\n\n /**\n * Low-level method that renders the given array of `tokens` using\n * the given `context` and `partials`.\n *\n * Note: The `originalTemplate` is only ever used to extract the portion\n * of the original template that was contained in a higher-order section.\n * If the template doesn't use higher-order sections, this argument may\n * be omitted.\n */\n Writer.prototype.renderTokens = function renderTokens (tokens, context, partials, originalTemplate) {\n var buffer = '';\n\n var token, symbol, value;\n for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {\n value = undefined;\n token = tokens[i];\n symbol = token[0];\n\n if (symbol === '#') value = this.renderSection(token, context, partials, originalTemplate);\n else if (symbol === '^') value = this.renderInverted(token, context, partials, originalTemplate);\n else if (symbol === '>') value = this.renderPartial(token, context, partials, originalTemplate);\n else if (symbol === '&') value = this.unescapedValue(token, context);\n else if (symbol === 'name') value = this.escapedValue(token, context);\n else if (symbol === 'text') value = this.rawValue(token);\n\n if (value !== undefined)\n buffer += value;\n }\n\n return buffer;\n };\n\n Writer.prototype.renderSection = function renderSection (token, context, partials, originalTemplate) {\n var self = this;\n var buffer = '';\n var value = context.lookup(token[1]);\n\n // This function is used to render an arbitrary template\n // in the current context by higher-order sections.\n function subRender (template) {\n return self.render(template, context, partials);\n }\n\n if (!value) return;\n\n if (isArray(value)) {\n for (var j = 0, valueLength = value.length; j < valueLength; ++j) {\n buffer += this.renderTokens(token[4], context.push(value[j]), partials, originalTemplate);\n }\n } else if (typeof value === 'object' || typeof value === 'string' || typeof value === 'number') {\n buffer += this.renderTokens(token[4], context.push(value), partials, originalTemplate);\n } else if (isFunction(value)) {\n if (typeof originalTemplate !== 'string')\n throw new Error('Cannot use higher-order sections without the original template');\n\n // Extract the portion of the original template that the section contains.\n value = value.call(context.view, originalTemplate.slice(token[3], token[5]), subRender);\n\n if (value != null)\n buffer += value;\n } else {\n buffer += this.renderTokens(token[4], context, partials, originalTemplate);\n }\n return buffer;\n };\n\n Writer.prototype.renderInverted = function renderInverted (token, context, partials, originalTemplate) {\n var value = context.lookup(token[1]);\n\n // Use JavaScript's definition of falsy. Include empty arrays.\n // See https://github.com/janl/mustache.js/issues/186\n if (!value || (isArray(value) && value.length === 0))\n return this.renderTokens(token[4], context, partials, originalTemplate);\n };\n\n Writer.prototype.renderPartial = function renderPartial (token, context, partials) {\n if (!partials) return;\n\n var value = isFunction(partials) ? partials(token[1]) : partials[token[1]];\n if (value != null)\n return this.renderTokens(this.parse(value), context, partials, value);\n };\n\n Writer.prototype.unescapedValue = function unescapedValue (token, context) {\n var value = context.lookup(token[1]);\n if (value != null)\n return value;\n };\n\n Writer.prototype.escapedValue = function escapedValue (token, context) {\n var value = context.lookup(token[1]);\n if (value != null)\n return mustache.escape(value);\n };\n\n Writer.prototype.rawValue = function rawValue (token) {\n return token[1];\n };\n\n mustache.name = 'mustache.js';\n mustache.version = '2.3.0';\n mustache.tags = [ '{{', '}}' ];\n\n // All high-level mustache.* functions use this writer.\n var defaultWriter = new Writer();\n\n /**\n * Clears all cached templates in the default writer.\n */\n mustache.clearCache = function clearCache () {\n return defaultWriter.clearCache();\n };\n\n /**\n * Parses and caches the given template in the default writer and returns the\n * array of tokens it contains. Doing this ahead of time avoids the need to\n * parse templates on the fly as they are rendered.\n */\n mustache.parse = function parse (template, tags) {\n return defaultWriter.parse(template, tags);\n };\n\n /**\n * Renders the `template` with the given `view` and `partials` using the\n * default writer.\n */\n mustache.render = function render (template, view, partials) {\n if (typeof template !== 'string') {\n throw new TypeError('Invalid template! Template should be a \"string\" ' +\n 'but \"' + typeStr(template) + '\" was given as the first ' +\n 'argument for mustache#render(template, view, partials)');\n }\n\n return defaultWriter.render(template, view, partials);\n };\n\n // This is here for backwards compatibility with 0.4.x.,\n /*eslint-disable */ // eslint wants camel cased function name\n mustache.to_html = function to_html (template, view, partials, send) {\n /*eslint-enable*/\n\n var result = mustache.render(template, view, partials);\n\n if (isFunction(send)) {\n send(result);\n } else {\n return result;\n }\n };\n\n // Export the escaping function so that the user may override it.\n // See https://github.com/janl/mustache.js/issues/244\n mustache.escape = escapeHtml;\n\n // Export these mainly for testing, but also for advanced usage.\n mustache.Scanner = Scanner;\n mustache.Context = Context;\n mustache.Writer = Writer;\n\n return mustache;\n}));\n","import mustache from \"mustache\";\n\nconst html = `\n\n\n`;\n\nconst template = `\n
\n`\n\nexport default function(dom, data) {\n let el = dom.querySelector('dt-byline');\n if (el) {\n el.innerHTML = html + mustache.render(template, data);\n }\n}\n","const html = `\n\n\n
Diagrams and text are licensed under Creative Commons Attribution CC-BY 2.0, unless noted otherwise, with the source available on GitHub. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: “Figure from …”.
\n
For attribution in academic contexts, please cite this work as
\n \n
BibTeX citation
\n \n
\n`;\n\nexport default function(dom, data) {\n let el = dom.querySelector('dt-appendix')\n if (el) {\n let oldHtml = el.innerHTML;\n el.innerHTML = html;\n let div = el.querySelector(\"div.l-body\")\n\n if (dom.querySelector(\"dt-fn\")) {\n div.innerHTML = `
\n`\n\nexport default function(dom, data) {\n let el = dom.querySelector(\"dt-header\");\n if(el) {\n el.innerHTML = html;\n } else {\n let header = dom.createElement(\"dt-header\");\n header.innerHTML = html;\n let b = dom.querySelector(\"body\");\n b.insertBefore(header, b.firstChild);\n }\n}\n","import logo from \"./distill-logo.svg\";\n\nlet html = `\n\n\n
\n`;\n\nexport default function(dom, data) {\n let el = dom.querySelector(\"dt-footer\");\n if(el) {\n el.innerHTML = html;\n } else {\n let footer = dom.createElement(\"dt-footer\");\n footer.innerHTML = html;\n let b = dom.querySelector(\"body\");\n b.appendChild(footer);\n }\n}\n","import html from \"./components/html\";\nimport styles from \"./components/styles\";\nimport frontMatter from \"./components/front-matter\";\nimport bibliography from \"./components/bibliography\";\nimport expandData from \"./components/expand-data\";\nimport meta from \"./components/meta\";\nimport banner from \"./components/banner\";\nimport byline from \"./components/byline\";\nimport appendix from \"./components/appendix\";\nimport citation from \"./components/citation\";\nimport footnote from \"./components/footnote\";\nimport markdown from \"./components/markdown\";\nimport code from \"./components/code\";\nimport typeset from \"./components/typeset\";\nimport hoverBox from \"./components/hover-box-include\";\nimport generateCrossref from \"./components/generate-crossref\";\nimport header from \"./components/header\";\nimport footer from \"./components/footer\";\n\nfunction renderImmediately(dom) {\n html(dom);\n styles(dom);\n}\n\nfunction renderOnLoad(dom, data) {\n frontMatter(dom, data);\n bibliography(dom, data);\n expandData(dom, data);\n meta(dom, data);\n byline(dom, data);\n appendix(dom, data);\n markdown(dom, data);\n code(dom, data);\n citation(dom, data);\n footnote(dom, data);\n typeset(dom, data);\n hoverBox(dom, data);\n}\n\n// If we are in a browser, render automatically...\nif(window && window.document) {\n let data = {};\n renderImmediately(window.document);\n window.document.addEventListener(\"DOMContentLoaded\", (event) => {\n renderOnLoad(window.document, data);\n // Add a banner if we're not on localhost.\n if (window.location.hostname !== \"localhost\" && window.location.origin !== \"file://\") {\n banner(window.document, data);\n }\n generateCrossref(data);\n });\n}\n\n// If we are in node...\nfunction render(dom, data) {\n renderImmediately(dom);\n renderOnLoad(dom, data);\n // Remove script tag so it doesn't run again in the client\n let s = dom.querySelector('script[src=\"http://distill.pub/template.js\"]');\n if (s) { s.parentElement.removeChild(s); };\n}\n\n// Distill specific rendering\nfunction distillify(dom, data) {\n header(dom, data);\n footer(dom, data);\n}\n\nexport {render as render};\nexport {distillify as distillify};\nexport {generateCrossref as generateCrossref};\n"],"names":["let","meta","YAMLException","common","require$$0","Mark","this","Type","require$$1","require$$2","type","arguments","Schema","require$$3","require$$4","require$$5","require","_hasOwnProperty","_toString","require$$6","require$$7","_require","DEFAULT_SAFE_SCHEMA","DEFAULT_FULL_SCHEMA","loadAll","load","safeLoadAll","safeLoad","State","dump","safeDump","require$$8","require$$9","ymlParse","interval","day","timeDay","timeYear","timeSunday","timeMonday","locale","escape","const","html","define","global","Prism","code","render"],"mappings":"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"}
\ No newline at end of file
diff --git a/index.js b/index.js
index c2a18eb..6dac36c 100644
--- a/index.js
+++ b/index.js
@@ -5,10 +5,8 @@ import bibliography from "./components/bibliography";
import expandData from "./components/expand-data";
import meta from "./components/meta";
import banner from "./components/banner";
-import header from "./components/header";
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";
@@ -16,6 +14,8 @@ import code from "./components/code";
import typeset from "./components/typeset";
import hoverBox from "./components/hover-box-include";
import generateCrossref from "./components/generate-crossref";
+import header from "./components/header";
+import footer from "./components/footer";
function renderImmediately(dom) {
html(dom);
@@ -27,10 +27,8 @@ function renderOnLoad(dom, data) {
bibliography(dom, data);
expandData(dom, data);
meta(dom, data);
- header(dom, data);
byline(dom, data);
appendix(dom, data);
- footer(dom, data);
markdown(dom, data);
code(dom, data);
citation(dom, data);
@@ -62,5 +60,12 @@ function render(dom, data) {
if (s) { s.parentElement.removeChild(s); };
}
+// Distill specific rendering
+function distillify(dom, data) {
+ header(dom, data);
+ footer(dom, data);
+}
+
export {render as render};
+export {distillify as distillify};
export {generateCrossref as generateCrossref};