highmark-markdown 1.2.14 → 1.2.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -143,11 +143,11 @@ function htmlFromMarkdownOptionsAndImporter(markdown, options, importer) {
143
143
  var html = _constants.EMPTY_STRING;
144
144
  var tokens = tokensFromMarkdown(markdown), markdownNode = markdownNodeFromTokens(tokens);
145
145
  if (markdownNode !== null) {
146
- var topmostMarkdownNode = markdownNode, context = _object_spread({
146
+ var documentMarkdownNode = markdownNode, context = _object_spread({
147
147
  tokens: tokens,
148
148
  importer: importer
149
149
  }, options);
150
- topmostMarkdownNode.resolve(context);
150
+ documentMarkdownNode.resolve(context);
151
151
  var topmostHTMLNode = topmostHTMLNodeFromMarkdownNode(markdownNode);
152
152
  if (topmostHTMLNode !== null) {
153
153
  topmostHTMLNode.resolve(context);
@@ -192,4 +192,4 @@ var _default = {
192
192
  cssFromMarkdownStyleAndCSSSelectorsString: cssFromMarkdownStyleAndCSSSelectorsString
193
193
  };
194
194
 
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ3JhbW1hci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZVV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1kb21cIjtcblxuaW1wb3J0IENTU05vZGUgZnJvbSBcIi4uL25vZGUvY3NzXCI7XG5pbXBvcnQgSFRNTE5vZGUgZnJvbSBcIi4uL25vZGUvaHRtbFwiO1xuaW1wb3J0IGNzc05vZGVNYXAgZnJvbSBcIi4uL21hcC9ub2RlL2Nzc1wiO1xuaW1wb3J0IGh0bWxOb2RlTWFwIGZyb20gXCIuLi9tYXAvbm9kZS9odG1sXCI7XG5pbXBvcnQgTWFya2Rvd25MZXhlciBmcm9tIFwiLi4vbWFya2Rvd24vbGV4ZXJcIjtcbmltcG9ydCBNYXJrZG93blBhcnNlciBmcm9tIFwiLi4vbWFya2Rvd24vcGFyc2VyXCI7XG5pbXBvcnQgVG9wbW9zdENTU05vZGUgZnJvbSBcIi4uL25vZGUvY3NzL3RvcG1vc3RcIjtcbmltcG9ydCBtYXJrZG93blF1ZXJpZXMgZnJvbSBcIi4uL3F1ZXJpZXMvbWFya2Rvd25cIjtcbmltcG9ydCBUb3Btb3N0SFRNTE5vZGUgZnJvbSBcIi4uL25vZGUvaHRtbC90b3Btb3N0XCI7XG5pbXBvcnQgTWFya2Rvd25TdHlsZUxleGVyIGZyb20gXCIuLi9tYXJrZG93blN0eWxlL2xleGVyXCI7XG5pbXBvcnQgTWFya2Rvd25TdHlsZVBhcnNlciBmcm9tIFwiLi4vbWFya2Rvd25TdHlsZS9wYXJzZXJcIjtcbmltcG9ydCBtYXJrZG93blN0eWxlUXVlcmllcyBmcm9tIFwiLi4vcXVlcmllcy9tYXJrZG93blN0eWxlXCI7XG5cbmltcG9ydCB7IFdFQl9UQVJHRVQgfSBmcm9tIFwiLi4vdGFyZ2V0c1wiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgbm9kZXNGcm9tTm9kZUFuZFF1ZXJpZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHsgdG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2RlcyB9ID0gbm9kZVV0aWxpdGllcztcblxuY29uc3QgbWFya2Rvd25MZXhlciA9IE1hcmtkb3duTGV4ZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIG1hcmtkb3duUGFyc2VyID0gTWFya2Rvd25QYXJzZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIG1hcmtkb3duU3R5bGVMZXhlciA9IE1hcmtkb3duU3R5bGVMZXhlci5mcm9tTm90aGluZygpLFxuICAgICAgbWFya2Rvd25TdHlsZVBhcnNlciA9IE1hcmtkb3duU3R5bGVQYXJzZXIuZnJvbU5vdGhpbmcoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRva2Vuc0Zyb21NYXJrZG93bihtYXJrZG93bikge1xuICBjb25zdCBsZXhlciA9IG1hcmtkb3duTGV4ZXIsIC8vL1xuICAgICAgICBjb250ZW50ID0gbWFya2Rvd24sICAvLy9cbiAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcmtkb3duTm9kZUZyb21Ub2tlbnModG9rZW5zKSB7XG4gIGNvbnN0IHBhcnNlciA9IG1hcmtkb3duUGFyc2VyLCAvLy9cbiAgICAgICAgc3RhcnRSdWxlID0gcGFyc2VyLmdldFN0YXJ0UnVsZSgpLFxuICAgICAgICBub2RlID0gcGFyc2VyLnBhcnNlKHRva2Vucywgc3RhcnRSdWxlKSxcbiAgICAgICAgbWFya2Rvd25Ob2RlID0gbm9kZTsgIC8vL1xuXG4gIHJldHVybiBtYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbnNGcm9tTWFya2Rvd25TdHlsZShtYXJrZG93blN0eWxlKSB7XG4gIGNvbnN0IGxleGVyID0gbWFya2Rvd25TdHlsZUxleGVyLCAvLy9cbiAgICAgICAgY29udGVudCA9IG1hcmtkb3duU3R5bGUsICAvLy9cbiAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEhUTUxDbGFzc0Zyb21NYXJrZG93bk5vZGUobWFya2Rvd25Ob2RlKSB7XG4gIGxldCBDbGFzcztcblxuICBpZiAobWFya2Rvd25Ob2RlID09PSBudWxsKSB7XG4gICAgQ2xhc3MgPSBUb3Btb3N0SFRNTE5vZGU7ICAvLy9cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBtYXJrZG93bk5vZGUsICAvLy9cbiAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgQ2xhc3MgPSBodG1sTm9kZU1hcFtydWxlTmFtZV0gfHwgSFRNTE5vZGU7XG4gIH1cblxuICByZXR1cm4gQ2xhc3M7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXJrZG93blN0eWxlTm9kZUZyb21Ub2tlbnModG9rZW5zKSB7XG4gIGNvbnN0IHBhcnNlciA9IG1hcmtkb3duU3R5bGVQYXJzZXIsIC8vL1xuICAgICAgICBzdGFydFJ1bGUgPSBwYXJzZXIuZ2V0U3RhcnRSdWxlKCksXG4gICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zLCBzdGFydFJ1bGUpLFxuICAgICAgICBtYXJrZG93blN0eWxlTm9kZSA9IG5vZGU7IC8vL1xuXG4gIHJldHVybiBtYXJrZG93blN0eWxlTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENTU0NsYXNzRnJvbU1hcmtkb3duU3R5bGVOb2RlKG1hcmtkb3duU3R5bGVOb2RlKSB7XG4gIGxldCBDbGFzcztcblxuICBpZiAobWFya2Rvd25TdHlsZU5vZGUgPT09IG51bGwpIHtcbiAgICBDbGFzcyA9IFRvcG1vc3RDU1NOb2RlOyAgLy8vXG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbWFya2Rvd25TdHlsZU5vZGUsICAvLy9cbiAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgQ2xhc3MgPSBjc3NOb2RlTWFwW3J1bGVOYW1lXSB8fCBDU1NOb2RlO1xuICB9XG5cbiAgcmV0dXJuIENsYXNzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9wbW9zdEhUTUxOb2RlRnJvbU1hcmtkb3duTm9kZShtYXJrZG93bk5vZGUsIENsYXNzRnJvbU91dGVyTm9kZSA9IEhUTUxDbGFzc0Zyb21NYXJrZG93bk5vZGUpIHtcbiAgbGV0IHRvcG1vc3RIVE1MTm9kZSA9IG51bGw7XG5cbiAgaWYgKG1hcmtkb3duTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG5vZGUgPSBtYXJrZG93bk5vZGUsICAvLy9cbiAgICAgICAgICBxdWVyaWVzID0gbWFya2Rvd25RdWVyaWVzLCAvLy9cbiAgICAgICAgICBub2RlcyA9IG5vZGVzRnJvbU5vZGVBbmRRdWVyaWVzKG5vZGUsIHF1ZXJpZXMpLFxuICAgICAgICAgIG91dGVyTm9kZXMgPSBub2RlcywgLy8vXG4gICAgICAgICAgdG9wbW9zdE5vZGUgPSB0b3Btb3N0Tm9kZUZyb21PdXRlck5vZGVzKENsYXNzRnJvbU91dGVyTm9kZSwgb3V0ZXJOb2Rlcyk7XG5cbiAgICB0b3Btb3N0SFRNTE5vZGUgPSB0b3Btb3N0Tm9kZTsgIC8vL1xuICB9XG5cbiAgcmV0dXJuIHRvcG1vc3RIVE1MTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh0bWxGcm9tTWFya2Rvd25PcHRpb25zQW5kSW1wb3J0ZXIobWFya2Rvd24sIG9wdGlvbnMsIGltcG9ydGVyKSB7XG4gIGxldCBodG1sID0gRU1QVFlfU1RSSU5HO1xuXG4gIGNvbnN0IHRva2VucyA9IHRva2Vuc0Zyb21NYXJrZG93bihtYXJrZG93biksXG4gICAgICAgIG1hcmtkb3duTm9kZSA9IG1hcmtkb3duTm9kZUZyb21Ub2tlbnModG9rZW5zKTtcblxuICBpZiAobWFya2Rvd25Ob2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgdG9wbW9zdE1hcmtkb3duTm9kZSA9IG1hcmtkb3duTm9kZSwgLy8vXG4gICAgICAgICAgY29udGV4dCA9IHtcbiAgICAgICAgICAgIHRva2VucyxcbiAgICAgICAgICAgIGltcG9ydGVyLFxuICAgICAgICAgICAgLi4ub3B0aW9uc1xuICAgICAgICAgIH07XG5cbiAgICB0b3Btb3N0TWFya2Rvd25Ob2RlLnJlc29sdmUoY29udGV4dCk7XG5cbiAgICBjb25zdCB0b3Btb3N0SFRNTE5vZGUgPSB0b3Btb3N0SFRNTE5vZGVGcm9tTWFya2Rvd25Ob2RlKG1hcmtkb3duTm9kZSk7XG5cbiAgICBpZiAodG9wbW9zdEhUTUxOb2RlICE9PSBudWxsKSB7XG4gICAgICB0b3Btb3N0SFRNTE5vZGUucmVzb2x2ZShjb250ZXh0KTtcblxuICAgICAgY29uc3QgZGl2aXNpb25IVE1MTk9kZXMgPSB0b3Btb3N0SFRNTE5vZGUuZ2V0RGl2aXNpb25IVE1MTm9kZXMoKTtcblxuICAgICAgZGl2aXNpb25IVE1MTk9kZXMuZm9yRWFjaCgoZGl2aXNpb25IVE1MTk9kZSkgPT4ge1xuICAgICAgICBjb25zdCBkaXZpc2lvbkhUTUxOT2RlSFRNTCA9IGRpdmlzaW9uSFRNTE5PZGUuYXNIVE1MKGNvbnRleHQpO1xuXG4gICAgICAgIGh0bWwgPSBgJHtodG1sfSR7ZGl2aXNpb25IVE1MTk9kZUhUTUx9YDtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBodG1sO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9wbW9zdENTU05vZGVGcm9tTWFya2Rvd25TdHlsZU5vZGUobWFya2Rvd25TdHlsZU5vZGUsIENsYXNzRnJvbU91dGVyTm9kZSA9IENTU0NsYXNzRnJvbU1hcmtkb3duU3R5bGVOb2RlKSB7XG4gIGNvbnN0IG5vZGUgPSBtYXJrZG93blN0eWxlTm9kZSwgIC8vL1xuICAgICAgICBxdWVyaWVzID0gbWFya2Rvd25TdHlsZVF1ZXJpZXMsIC8vL1xuICAgICAgICBub2RlcyA9IG5vZGVzRnJvbU5vZGVBbmRRdWVyaWVzKG5vZGUsIHF1ZXJpZXMpLFxuICAgICAgICBvdXRlck5vZGVzID0gbm9kZXMsIC8vL1xuICAgICAgICB0b3Btb3N0Tm9kZSA9IHRvcG1vc3ROb2RlRnJvbU91dGVyTm9kZXMoQ2xhc3NGcm9tT3V0ZXJOb2RlLCBvdXRlck5vZGVzKSxcbiAgICAgICAgdG9wbW9zdENTU05vZGUgPSB0b3Btb3N0Tm9kZTsgIC8vL1xuXG4gIHJldHVybiB0b3Btb3N0Q1NTTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNzc0Zyb21NYXJrZG93blN0eWxlQW5kQ1NTU2VsZWN0b3JzU3RyaW5nKG1hcmtkb3duU3R5bGUsIGNzc1NlbGVjdG9yc1N0cmluZykge1xuICBsZXQgY3NzID0gRU1QVFlfU1RSSU5HO1xuXG4gIGNvbnN0IHRhcmdldCA9IFdFQl9UQVJHRVQsXG4gICAgICAgIHRva2VucyA9IHRva2Vuc0Zyb21NYXJrZG93blN0eWxlKG1hcmtkb3duU3R5bGUpLFxuICAgICAgICBtYXJrZG93blN0eWxlTm9kZSA9IG1hcmtkb3duU3R5bGVOb2RlRnJvbVRva2Vucyh0b2tlbnMpO1xuXG4gIGlmIChtYXJrZG93blN0eWxlTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHRvcG1vc3RDU1NOb2RlID0gdG9wbW9zdENTU05vZGVGcm9tTWFya2Rvd25TdHlsZU5vZGUobWFya2Rvd25TdHlsZU5vZGUpLFxuICAgICAgICAgIGNvbnRleHQgPSB7XG4gICAgICAgICAgICB0YXJnZXQsXG4gICAgICAgICAgICB0b2tlbnMsXG4gICAgICAgICAgICBjc3NTZWxlY3RvcnNTdHJpbmdcbiAgICAgICAgICB9O1xuXG4gICAgdG9wbW9zdENTU05vZGUucmVzb2x2ZShjb250ZXh0KTtcblxuICAgIGNzcyA9IHRvcG1vc3RDU1NOb2RlLmFzQ1NTKGNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIGNzcztcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICB0b2tlbnNGcm9tTWFya2Rvd24sXG4gIG1hcmtkb3duTm9kZUZyb21Ub2tlbnMsXG4gIHRva2Vuc0Zyb21NYXJrZG93blN0eWxlLFxuICBIVE1MQ2xhc3NGcm9tTWFya2Rvd25Ob2RlLFxuICBtYXJrZG93blN0eWxlTm9kZUZyb21Ub2tlbnMsXG4gIENTU0NsYXNzRnJvbU1hcmtkb3duU3R5bGVOb2RlLFxuICB0b3Btb3N0SFRNTE5vZGVGcm9tTWFya2Rvd25Ob2RlLFxuICBodG1sRnJvbU1hcmtkb3duT3B0aW9uc0FuZEltcG9ydGVyLFxuICB0b3Btb3N0Q1NTTm9kZUZyb21NYXJrZG93blN0eWxlTm9kZSxcbiAgY3NzRnJvbU1hcmtkb3duU3R5bGVBbmRDU1NTZWxlY3RvcnNTdHJpbmdcbn07XG4iXSwibmFtZXMiOlsiQ1NTQ2xhc3NGcm9tTWFya2Rvd25TdHlsZU5vZGUiLCJIVE1MQ2xhc3NGcm9tTWFya2Rvd25Ob2RlIiwiY3NzRnJvbU1hcmtkb3duU3R5bGVBbmRDU1NTZWxlY3RvcnNTdHJpbmciLCJodG1sRnJvbU1hcmtkb3duT3B0aW9uc0FuZEltcG9ydGVyIiwibWFya2Rvd25Ob2RlRnJvbVRva2VucyIsIm1hcmtkb3duU3R5bGVOb2RlRnJvbVRva2VucyIsInRva2Vuc0Zyb21NYXJrZG93biIsInRva2Vuc0Zyb21NYXJrZG93blN0eWxlIiwidG9wbW9zdENTU05vZGVGcm9tTWFya2Rvd25TdHlsZU5vZGUiLCJ0b3Btb3N0SFRNTE5vZGVGcm9tTWFya2Rvd25Ob2RlIiwidG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2RlcyIsIm5vZGVVdGlsaXRpZXMiLCJtYXJrZG93bkxleGVyIiwiTWFya2Rvd25MZXhlciIsImZyb21Ob3RoaW5nIiwibWFya2Rvd25QYXJzZXIiLCJNYXJrZG93blBhcnNlciIsIm1hcmtkb3duU3R5bGVMZXhlciIsIk1hcmtkb3duU3R5bGVMZXhlciIsIm1hcmtkb3duU3R5bGVQYXJzZXIiLCJNYXJrZG93blN0eWxlUGFyc2VyIiwibWFya2Rvd24iLCJsZXhlciIsImNvbnRlbnQiLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsInBhcnNlciIsInN0YXJ0UnVsZSIsImdldFN0YXJ0UnVsZSIsIm5vZGUiLCJwYXJzZSIsIm1hcmtkb3duTm9kZSIsIm1hcmtkb3duU3R5bGUiLCJDbGFzcyIsIlRvcG1vc3RIVE1MTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsInJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJodG1sTm9kZU1hcCIsIkhUTUxOb2RlIiwibWFya2Rvd25TdHlsZU5vZGUiLCJUb3Btb3N0Q1NTTm9kZSIsImNzc05vZGVNYXAiLCJDU1NOb2RlIiwiQ2xhc3NGcm9tT3V0ZXJOb2RlIiwidG9wbW9zdEhUTUxOb2RlIiwicXVlcmllcyIsIm1hcmtkb3duUXVlcmllcyIsIm5vZGVzIiwibm9kZXNGcm9tTm9kZUFuZFF1ZXJpZXMiLCJvdXRlck5vZGVzIiwidG9wbW9zdE5vZGUiLCJvcHRpb25zIiwiaW1wb3J0ZXIiLCJodG1sIiwiRU1QVFlfU1RSSU5HIiwidG9wbW9zdE1hcmtkb3duTm9kZSIsImNvbnRleHQiLCJyZXNvbHZlIiwiZGl2aXNpb25IVE1MTk9kZXMiLCJnZXREaXZpc2lvbkhUTUxOb2RlcyIsImZvckVhY2giLCJkaXZpc2lvbkhUTUxOT2RlIiwiZGl2aXNpb25IVE1MTk9kZUhUTUwiLCJhc0hUTUwiLCJtYXJrZG93blN0eWxlUXVlcmllcyIsInRvcG1vc3RDU1NOb2RlIiwiY3NzU2VsZWN0b3JzU3RyaW5nIiwiY3NzIiwidGFyZ2V0IiwiV0VCX1RBUkdFVCIsImFzQ1NTIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUE2RWdCQTtlQUFBQTs7UUF4QkFDO2VBQUFBOztRQW9HQUM7ZUFBQUE7O1FBdUJoQjtlQUFBOztRQXBFZ0JDO2VBQUFBOztRQXhFQUM7ZUFBQUE7O1FBZ0NBQztlQUFBQTs7UUF4Q0FDO2VBQUFBOztRQWlCQUM7ZUFBQUE7O1FBaUdBQztlQUFBQTs7UUFsREFDO2VBQUFBOzs7d0JBMUZjOzBEQUVWOzJEQUNDOzJEQUNFOzREQUNDOzREQUNFOzZEQUNDOzhEQUNBOytEQUNDOytEQUNBOzZEQUNHOzhEQUNDO29FQUNDO3VCQUVOO3lCQUNFO3FCQUNXOzs7Ozs7Ozs7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
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ3JhbW1hci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZVV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1kb21cIjtcblxuaW1wb3J0IENTU05vZGUgZnJvbSBcIi4uL25vZGUvY3NzXCI7XG5pbXBvcnQgSFRNTE5vZGUgZnJvbSBcIi4uL25vZGUvaHRtbFwiO1xuaW1wb3J0IGNzc05vZGVNYXAgZnJvbSBcIi4uL21hcC9ub2RlL2Nzc1wiO1xuaW1wb3J0IGh0bWxOb2RlTWFwIGZyb20gXCIuLi9tYXAvbm9kZS9odG1sXCI7XG5pbXBvcnQgTWFya2Rvd25MZXhlciBmcm9tIFwiLi4vbWFya2Rvd24vbGV4ZXJcIjtcbmltcG9ydCBNYXJrZG93blBhcnNlciBmcm9tIFwiLi4vbWFya2Rvd24vcGFyc2VyXCI7XG5pbXBvcnQgVG9wbW9zdENTU05vZGUgZnJvbSBcIi4uL25vZGUvY3NzL3RvcG1vc3RcIjtcbmltcG9ydCBtYXJrZG93blF1ZXJpZXMgZnJvbSBcIi4uL3F1ZXJpZXMvbWFya2Rvd25cIjtcbmltcG9ydCBUb3Btb3N0SFRNTE5vZGUgZnJvbSBcIi4uL25vZGUvaHRtbC90b3Btb3N0XCI7XG5pbXBvcnQgTWFya2Rvd25TdHlsZUxleGVyIGZyb20gXCIuLi9tYXJrZG93blN0eWxlL2xleGVyXCI7XG5pbXBvcnQgTWFya2Rvd25TdHlsZVBhcnNlciBmcm9tIFwiLi4vbWFya2Rvd25TdHlsZS9wYXJzZXJcIjtcbmltcG9ydCBtYXJrZG93blN0eWxlUXVlcmllcyBmcm9tIFwiLi4vcXVlcmllcy9tYXJrZG93blN0eWxlXCI7XG5cbmltcG9ydCB7IFdFQl9UQVJHRVQgfSBmcm9tIFwiLi4vdGFyZ2V0c1wiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgbm9kZXNGcm9tTm9kZUFuZFF1ZXJpZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHsgdG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2RlcyB9ID0gbm9kZVV0aWxpdGllcztcblxuY29uc3QgbWFya2Rvd25MZXhlciA9IE1hcmtkb3duTGV4ZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIG1hcmtkb3duUGFyc2VyID0gTWFya2Rvd25QYXJzZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIG1hcmtkb3duU3R5bGVMZXhlciA9IE1hcmtkb3duU3R5bGVMZXhlci5mcm9tTm90aGluZygpLFxuICAgICAgbWFya2Rvd25TdHlsZVBhcnNlciA9IE1hcmtkb3duU3R5bGVQYXJzZXIuZnJvbU5vdGhpbmcoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRva2Vuc0Zyb21NYXJrZG93bihtYXJrZG93bikge1xuICBjb25zdCBsZXhlciA9IG1hcmtkb3duTGV4ZXIsIC8vL1xuICAgICAgICBjb250ZW50ID0gbWFya2Rvd24sICAvLy9cbiAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcmtkb3duTm9kZUZyb21Ub2tlbnModG9rZW5zKSB7XG4gIGNvbnN0IHBhcnNlciA9IG1hcmtkb3duUGFyc2VyLCAvLy9cbiAgICAgICAgc3RhcnRSdWxlID0gcGFyc2VyLmdldFN0YXJ0UnVsZSgpLFxuICAgICAgICBub2RlID0gcGFyc2VyLnBhcnNlKHRva2Vucywgc3RhcnRSdWxlKSxcbiAgICAgICAgbWFya2Rvd25Ob2RlID0gbm9kZTsgIC8vL1xuXG4gIHJldHVybiBtYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbnNGcm9tTWFya2Rvd25TdHlsZShtYXJrZG93blN0eWxlKSB7XG4gIGNvbnN0IGxleGVyID0gbWFya2Rvd25TdHlsZUxleGVyLCAvLy9cbiAgICAgICAgY29udGVudCA9IG1hcmtkb3duU3R5bGUsICAvLy9cbiAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEhUTUxDbGFzc0Zyb21NYXJrZG93bk5vZGUobWFya2Rvd25Ob2RlKSB7XG4gIGxldCBDbGFzcztcblxuICBpZiAobWFya2Rvd25Ob2RlID09PSBudWxsKSB7XG4gICAgQ2xhc3MgPSBUb3Btb3N0SFRNTE5vZGU7ICAvLy9cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBtYXJrZG93bk5vZGUsICAvLy9cbiAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgQ2xhc3MgPSBodG1sTm9kZU1hcFtydWxlTmFtZV0gfHwgSFRNTE5vZGU7XG4gIH1cblxuICByZXR1cm4gQ2xhc3M7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXJrZG93blN0eWxlTm9kZUZyb21Ub2tlbnModG9rZW5zKSB7XG4gIGNvbnN0IHBhcnNlciA9IG1hcmtkb3duU3R5bGVQYXJzZXIsIC8vL1xuICAgICAgICBzdGFydFJ1bGUgPSBwYXJzZXIuZ2V0U3RhcnRSdWxlKCksXG4gICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zLCBzdGFydFJ1bGUpLFxuICAgICAgICBtYXJrZG93blN0eWxlTm9kZSA9IG5vZGU7IC8vL1xuXG4gIHJldHVybiBtYXJrZG93blN0eWxlTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENTU0NsYXNzRnJvbU1hcmtkb3duU3R5bGVOb2RlKG1hcmtkb3duU3R5bGVOb2RlKSB7XG4gIGxldCBDbGFzcztcblxuICBpZiAobWFya2Rvd25TdHlsZU5vZGUgPT09IG51bGwpIHtcbiAgICBDbGFzcyA9IFRvcG1vc3RDU1NOb2RlOyAgLy8vXG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbWFya2Rvd25TdHlsZU5vZGUsICAvLy9cbiAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpO1xuXG4gICAgQ2xhc3MgPSBjc3NOb2RlTWFwW3J1bGVOYW1lXSB8fCBDU1NOb2RlO1xuICB9XG5cbiAgcmV0dXJuIENsYXNzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9wbW9zdEhUTUxOb2RlRnJvbU1hcmtkb3duTm9kZShtYXJrZG93bk5vZGUsIENsYXNzRnJvbU91dGVyTm9kZSA9IEhUTUxDbGFzc0Zyb21NYXJrZG93bk5vZGUpIHtcbiAgbGV0IHRvcG1vc3RIVE1MTm9kZSA9IG51bGw7XG5cbiAgaWYgKG1hcmtkb3duTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG5vZGUgPSBtYXJrZG93bk5vZGUsICAvLy9cbiAgICAgICAgICBxdWVyaWVzID0gbWFya2Rvd25RdWVyaWVzLCAvLy9cbiAgICAgICAgICBub2RlcyA9IG5vZGVzRnJvbU5vZGVBbmRRdWVyaWVzKG5vZGUsIHF1ZXJpZXMpLFxuICAgICAgICAgIG91dGVyTm9kZXMgPSBub2RlcywgLy8vXG4gICAgICAgICAgdG9wbW9zdE5vZGUgPSB0b3Btb3N0Tm9kZUZyb21PdXRlck5vZGVzKENsYXNzRnJvbU91dGVyTm9kZSwgb3V0ZXJOb2Rlcyk7XG5cbiAgICB0b3Btb3N0SFRNTE5vZGUgPSB0b3Btb3N0Tm9kZTsgIC8vL1xuICB9XG5cbiAgcmV0dXJuIHRvcG1vc3RIVE1MTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh0bWxGcm9tTWFya2Rvd25PcHRpb25zQW5kSW1wb3J0ZXIobWFya2Rvd24sIG9wdGlvbnMsIGltcG9ydGVyKSB7XG4gIGxldCBodG1sID0gRU1QVFlfU1RSSU5HO1xuXG4gIGNvbnN0IHRva2VucyA9IHRva2Vuc0Zyb21NYXJrZG93bihtYXJrZG93biksXG4gICAgICAgIG1hcmtkb3duTm9kZSA9IG1hcmtkb3duTm9kZUZyb21Ub2tlbnModG9rZW5zKTtcblxuICBpZiAobWFya2Rvd25Ob2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgZG9jdW1lbnRNYXJrZG93bk5vZGUgPSBtYXJrZG93bk5vZGUsIC8vL1xuICAgICAgICAgIGNvbnRleHQgPSB7XG4gICAgICAgICAgICB0b2tlbnMsXG4gICAgICAgICAgICBpbXBvcnRlcixcbiAgICAgICAgICAgIC4uLm9wdGlvbnNcbiAgICAgICAgICB9O1xuXG4gICAgZG9jdW1lbnRNYXJrZG93bk5vZGUucmVzb2x2ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IHRvcG1vc3RIVE1MTm9kZSA9IHRvcG1vc3RIVE1MTm9kZUZyb21NYXJrZG93bk5vZGUobWFya2Rvd25Ob2RlKTtcblxuICAgIGlmICh0b3Btb3N0SFRNTE5vZGUgIT09IG51bGwpIHtcbiAgICAgIHRvcG1vc3RIVE1MTm9kZS5yZXNvbHZlKGNvbnRleHQpO1xuXG4gICAgICBjb25zdCBkaXZpc2lvbkhUTUxOT2RlcyA9IHRvcG1vc3RIVE1MTm9kZS5nZXREaXZpc2lvbkhUTUxOb2RlcygpO1xuXG4gICAgICBkaXZpc2lvbkhUTUxOT2Rlcy5mb3JFYWNoKChkaXZpc2lvbkhUTUxOT2RlKSA9PiB7XG4gICAgICAgIGNvbnN0IGRpdmlzaW9uSFRNTE5PZGVIVE1MID0gZGl2aXNpb25IVE1MTk9kZS5hc0hUTUwoY29udGV4dCk7XG5cbiAgICAgICAgaHRtbCA9IGAke2h0bWx9JHtkaXZpc2lvbkhUTUxOT2RlSFRNTH1gO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGh0bWw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b3Btb3N0Q1NTTm9kZUZyb21NYXJrZG93blN0eWxlTm9kZShtYXJrZG93blN0eWxlTm9kZSwgQ2xhc3NGcm9tT3V0ZXJOb2RlID0gQ1NTQ2xhc3NGcm9tTWFya2Rvd25TdHlsZU5vZGUpIHtcbiAgY29uc3Qgbm9kZSA9IG1hcmtkb3duU3R5bGVOb2RlLCAgLy8vXG4gICAgICAgIHF1ZXJpZXMgPSBtYXJrZG93blN0eWxlUXVlcmllcywgLy8vXG4gICAgICAgIG5vZGVzID0gbm9kZXNGcm9tTm9kZUFuZFF1ZXJpZXMobm9kZSwgcXVlcmllcyksXG4gICAgICAgIG91dGVyTm9kZXMgPSBub2RlcywgLy8vXG4gICAgICAgIHRvcG1vc3ROb2RlID0gdG9wbW9zdE5vZGVGcm9tT3V0ZXJOb2RlcyhDbGFzc0Zyb21PdXRlck5vZGUsIG91dGVyTm9kZXMpLFxuICAgICAgICB0b3Btb3N0Q1NTTm9kZSA9IHRvcG1vc3ROb2RlOyAgLy8vXG5cbiAgcmV0dXJuIHRvcG1vc3RDU1NOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3NzRnJvbU1hcmtkb3duU3R5bGVBbmRDU1NTZWxlY3RvcnNTdHJpbmcobWFya2Rvd25TdHlsZSwgY3NzU2VsZWN0b3JzU3RyaW5nKSB7XG4gIGxldCBjc3MgPSBFTVBUWV9TVFJJTkc7XG5cbiAgY29uc3QgdGFyZ2V0ID0gV0VCX1RBUkdFVCxcbiAgICAgICAgdG9rZW5zID0gdG9rZW5zRnJvbU1hcmtkb3duU3R5bGUobWFya2Rvd25TdHlsZSksXG4gICAgICAgIG1hcmtkb3duU3R5bGVOb2RlID0gbWFya2Rvd25TdHlsZU5vZGVGcm9tVG9rZW5zKHRva2Vucyk7XG5cbiAgaWYgKG1hcmtkb3duU3R5bGVOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgdG9wbW9zdENTU05vZGUgPSB0b3Btb3N0Q1NTTm9kZUZyb21NYXJrZG93blN0eWxlTm9kZShtYXJrZG93blN0eWxlTm9kZSksXG4gICAgICAgICAgY29udGV4dCA9IHtcbiAgICAgICAgICAgIHRhcmdldCxcbiAgICAgICAgICAgIHRva2VucyxcbiAgICAgICAgICAgIGNzc1NlbGVjdG9yc1N0cmluZ1xuICAgICAgICAgIH07XG5cbiAgICB0b3Btb3N0Q1NTTm9kZS5yZXNvbHZlKGNvbnRleHQpO1xuXG4gICAgY3NzID0gdG9wbW9zdENTU05vZGUuYXNDU1MoY29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gY3NzO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHRva2Vuc0Zyb21NYXJrZG93bixcbiAgbWFya2Rvd25Ob2RlRnJvbVRva2VucyxcbiAgdG9rZW5zRnJvbU1hcmtkb3duU3R5bGUsXG4gIEhUTUxDbGFzc0Zyb21NYXJrZG93bk5vZGUsXG4gIG1hcmtkb3duU3R5bGVOb2RlRnJvbVRva2VucyxcbiAgQ1NTQ2xhc3NGcm9tTWFya2Rvd25TdHlsZU5vZGUsXG4gIHRvcG1vc3RIVE1MTm9kZUZyb21NYXJrZG93bk5vZGUsXG4gIGh0bWxGcm9tTWFya2Rvd25PcHRpb25zQW5kSW1wb3J0ZXIsXG4gIHRvcG1vc3RDU1NOb2RlRnJvbU1hcmtkb3duU3R5bGVOb2RlLFxuICBjc3NGcm9tTWFya2Rvd25TdHlsZUFuZENTU1NlbGVjdG9yc1N0cmluZ1xufTtcbiJdLCJuYW1lcyI6WyJDU1NDbGFzc0Zyb21NYXJrZG93blN0eWxlTm9kZSIsIkhUTUxDbGFzc0Zyb21NYXJrZG93bk5vZGUiLCJjc3NGcm9tTWFya2Rvd25TdHlsZUFuZENTU1NlbGVjdG9yc1N0cmluZyIsImh0bWxGcm9tTWFya2Rvd25PcHRpb25zQW5kSW1wb3J0ZXIiLCJtYXJrZG93bk5vZGVGcm9tVG9rZW5zIiwibWFya2Rvd25TdHlsZU5vZGVGcm9tVG9rZW5zIiwidG9rZW5zRnJvbU1hcmtkb3duIiwidG9rZW5zRnJvbU1hcmtkb3duU3R5bGUiLCJ0b3Btb3N0Q1NTTm9kZUZyb21NYXJrZG93blN0eWxlTm9kZSIsInRvcG1vc3RIVE1MTm9kZUZyb21NYXJrZG93bk5vZGUiLCJ0b3Btb3N0Tm9kZUZyb21PdXRlck5vZGVzIiwibm9kZVV0aWxpdGllcyIsIm1hcmtkb3duTGV4ZXIiLCJNYXJrZG93bkxleGVyIiwiZnJvbU5vdGhpbmciLCJtYXJrZG93blBhcnNlciIsIk1hcmtkb3duUGFyc2VyIiwibWFya2Rvd25TdHlsZUxleGVyIiwiTWFya2Rvd25TdHlsZUxleGVyIiwibWFya2Rvd25TdHlsZVBhcnNlciIsIk1hcmtkb3duU3R5bGVQYXJzZXIiLCJtYXJrZG93biIsImxleGVyIiwiY29udGVudCIsInRva2VucyIsInRva2VuaXNlIiwicGFyc2VyIiwic3RhcnRSdWxlIiwiZ2V0U3RhcnRSdWxlIiwibm9kZSIsInBhcnNlIiwibWFya2Rvd25Ob2RlIiwibWFya2Rvd25TdHlsZSIsIkNsYXNzIiwiVG9wbW9zdEhUTUxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsImh0bWxOb2RlTWFwIiwiSFRNTE5vZGUiLCJtYXJrZG93blN0eWxlTm9kZSIsIlRvcG1vc3RDU1NOb2RlIiwiY3NzTm9kZU1hcCIsIkNTU05vZGUiLCJDbGFzc0Zyb21PdXRlck5vZGUiLCJ0b3Btb3N0SFRNTE5vZGUiLCJxdWVyaWVzIiwibWFya2Rvd25RdWVyaWVzIiwibm9kZXMiLCJub2Rlc0Zyb21Ob2RlQW5kUXVlcmllcyIsIm91dGVyTm9kZXMiLCJ0b3Btb3N0Tm9kZSIsIm9wdGlvbnMiLCJpbXBvcnRlciIsImh0bWwiLCJFTVBUWV9TVFJJTkciLCJkb2N1bWVudE1hcmtkb3duTm9kZSIsImNvbnRleHQiLCJyZXNvbHZlIiwiZGl2aXNpb25IVE1MTk9kZXMiLCJnZXREaXZpc2lvbkhUTUxOb2RlcyIsImZvckVhY2giLCJkaXZpc2lvbkhUTUxOT2RlIiwiZGl2aXNpb25IVE1MTk9kZUhUTUwiLCJhc0hUTUwiLCJtYXJrZG93blN0eWxlUXVlcmllcyIsInRvcG1vc3RDU1NOb2RlIiwiY3NzU2VsZWN0b3JzU3RyaW5nIiwiY3NzIiwidGFyZ2V0IiwiV0VCX1RBUkdFVCIsImFzQ1NTIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUE2RWdCQTtlQUFBQTs7UUF4QkFDO2VBQUFBOztRQW9HQUM7ZUFBQUE7O1FBdUJoQjtlQUFBOztRQXBFZ0JDO2VBQUFBOztRQXhFQUM7ZUFBQUE7O1FBZ0NBQztlQUFBQTs7UUF4Q0FDO2VBQUFBOztRQWlCQUM7ZUFBQUE7O1FBaUdBQztlQUFBQTs7UUFsREFDO2VBQUFBOzs7d0JBMUZjOzBEQUVWOzJEQUNDOzJEQUNFOzREQUNDOzREQUNFOzZEQUNDOzhEQUNBOytEQUNDOytEQUNBOzZEQUNHOzhEQUNDO29FQUNDO3VCQUVOO3lCQUNFO3FCQUNXOzs7Ozs7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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "highmark-markdown",
3
3
  "author": "James Smith",
4
- "version": "1.2.14",
4
+ "version": "1.2.16",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/highmark-markdown",
7
7
  "description": "Highmark's Markdown and Markdown Style languages.",
@@ -84,7 +84,7 @@ class View extends Element {
84
84
  if (markdownStyleNode === null) {
85
85
  this.resetMarkdownStyleTokens();
86
86
 
87
- this.resetTopmostMarkdownStyleNode();
87
+ this.resetDocumentMarkdownStyleNode();
88
88
 
89
89
  this.clearMarkdownStyleParseTreeTextarea();
90
90
 
@@ -94,11 +94,11 @@ class View extends Element {
94
94
  const node = markdownStyleNode, ///
95
95
  parseTree = node.asParseTree(tokens),
96
96
  markdownStyleTokens = tokens, ///
97
- topmostMarkdownStyleNode = node; ///
97
+ documentMarkdownStyleNode = node; ///
98
98
 
99
99
  this.setMarkdownStyleTokens(markdownStyleTokens);
100
100
 
101
- this.setTopmostMarkdownStyleNode(topmostMarkdownStyleNode);
101
+ this.setDocumentMarkdownStyleNode(documentMarkdownStyleNode);
102
102
 
103
103
  this.updateMarkdownStyleParseTreeTextarea(parseTree);
104
104
  }
@@ -111,7 +111,7 @@ class View extends Element {
111
111
  if (markdownNode === null) {
112
112
  this.resetMarkdownTokens();
113
113
 
114
- this.resetTopmostMarkdownNode();
114
+ this.resetDocumentMarkdownNode();
115
115
 
116
116
  this.clearMarkdownParseTreeTextarea();
117
117
 
@@ -120,22 +120,22 @@ class View extends Element {
120
120
 
121
121
  let context;
122
122
 
123
- const topmostMarkdownNode = markdownNode; ///
123
+ const documentMarkdownNode = markdownNode; ///
124
124
 
125
125
  context = {
126
126
  tokens,
127
127
  importer
128
128
  };
129
129
 
130
- topmostMarkdownNode.resolve(context);
130
+ documentMarkdownNode.resolve(context);
131
131
 
132
- const topmostMarkdownNodeParseTree = topmostMarkdownNode.asParseTree(tokens),
133
- markdownParseTree = topmostMarkdownNodeParseTree, ///
132
+ const documentMarkdownNodeParseTree = documentMarkdownNode.asParseTree(tokens),
133
+ markdownParseTree = documentMarkdownNodeParseTree, ///
134
134
  markdownTokens = tokens; ///
135
135
 
136
136
  this.setMarkdownTokens(markdownTokens);
137
137
 
138
- this.setTopmostMarkdownNode(topmostMarkdownNode);
138
+ this.setDocumentMarkdownNode(documentMarkdownNode);
139
139
 
140
140
  this.updateMarkdownParseTreeTextarea(markdownParseTree);
141
141
  }
@@ -151,8 +151,8 @@ class View extends Element {
151
151
 
152
152
  this.clearPageButtonsDiv();
153
153
 
154
- const topmostMarkdownNode = this.getTopmostMarkdownNode(),
155
- markdownNode = topmostMarkdownNode, ///
154
+ const documentMarkdownNode = this.getDocumentMarkdownNode(),
155
+ markdownNode = documentMarkdownNode, ///
156
156
  topmostHTMLNode = topmostHTMLNodeFromMarkdownNode(markdownNode);
157
157
 
158
158
  if (topmostHTMLNode === null) {
@@ -202,10 +202,10 @@ class View extends Element {
202
202
  }
203
203
 
204
204
  updateCSS() {
205
- const topmostMarkdownStyleNode = this.getTopmostMarkdownStyleNode(),
205
+ const documentMarkdownStyleNode = this.getDocumentMarkdownStyleNode(),
206
206
  markdownStyleElement = this.getMarkdownStyleElement(),
207
207
  markdownStyleTokens = this.getMarkdownStyleTokens(),
208
- markdownStyleNode = topmostMarkdownStyleNode; ///
208
+ markdownStyleNode = documentMarkdownStyleNode; ///
209
209
 
210
210
  if (markdownStyleNode === null) {
211
211
  const css = EMPTY_STRING;
@@ -305,16 +305,16 @@ class View extends Element {
305
305
  this.setMarkdownStyleTokens(markdownStyleTokens);
306
306
  }
307
307
 
308
- resetTopmostMarkdownNode() {
309
- const topmostMarkdownNode = null;
308
+ resetDocumentMarkdownNode() {
309
+ const documentMarkdownNode = null;
310
310
 
311
- this.setTopmostMarkdownNode(topmostMarkdownNode);
311
+ this.setDocumentMarkdownNode(documentMarkdownNode);
312
312
  }
313
313
 
314
- resetTopmostMarkdownStyleNode() {
315
- const topmostMarkdownStyleNode = null;
314
+ resetDocumentMarkdownStyleNode() {
315
+ const documentMarkdownStyleNode = null;
316
316
 
317
- this.setTopmostMarkdownStyleNode(topmostMarkdownStyleNode);
317
+ this.setDocumentMarkdownStyleNode(documentMarkdownStyleNode);
318
318
  }
319
319
 
320
320
  getMarkdownStyleElement() {
@@ -335,13 +335,13 @@ class View extends Element {
335
335
  return markdownStyleTokens;
336
336
  }
337
337
 
338
- getTopmostMarkdownNode() {
338
+ getDocumentMarkdownNode() {
339
339
  const { topmostMMarkdownNode } = this.getState();
340
340
 
341
341
  return topmostMMarkdownNode;
342
342
  }
343
343
 
344
- getTopmostMarkdownStyleNode() {
344
+ getDocumentMarkdownStyleNode() {
345
345
  const { topmostMMarkdownStyleNode } = this.getState();
346
346
 
347
347
  return topmostMMarkdownStyleNode;
@@ -359,13 +359,13 @@ class View extends Element {
359
359
  });
360
360
  }
361
361
 
362
- setTopmostMarkdownNode(topmostMMarkdownNode) {
362
+ setDocumentMarkdownNode(topmostMMarkdownNode) {
363
363
  this.updateState({
364
364
  topmostMMarkdownNode
365
365
  });
366
366
  }
367
367
 
368
- setTopmostMarkdownStyleNode(topmostMMarkdownStyleNode) {
368
+ setDocumentMarkdownStyleNode(topmostMMarkdownStyleNode) {
369
369
  this.updateState({
370
370
  topmostMMarkdownStyleNode
371
371
  });
@@ -374,14 +374,14 @@ class View extends Element {
374
374
  setInitialState() {
375
375
  const markdownTokens = null,
376
376
  markdownStyleTokens = null,
377
- topmostMarkdownNode = null,
378
- topmostMarkdownStyleNode = null;
377
+ documentMarkdownNode = null,
378
+ documentMarkdownStyleNode = null;
379
379
 
380
380
  this.setState({
381
381
  markdownTokens,
382
382
  markdownStyleTokens,
383
- topmostMarkdownNode,
384
- topmostMarkdownStyleNode
383
+ documentMarkdownNode,
384
+ documentMarkdownStyleNode
385
385
  });
386
386
  }
387
387
 
@@ -442,7 +442,11 @@ class View extends Element {
442
442
  this.setMarkdown(markdown);
443
443
  }
444
444
 
445
- static initialMarkdown = initialMarkdown;
445
+ static initialMarkdown = `\`\`\`listing
446
+ 18.8.1
447
+ \`\`\`
448
+
449
+ `;
446
450
 
447
451
  static initialMarkdownStyle = "";
448
452
 
package/src/index.js CHANGED
@@ -29,7 +29,7 @@ export { default as MarkdownNode } from "./node/markdown";
29
29
  export { default as TopmostHTMLNode } from "./node/html/topmost";
30
30
  export { default as MarkdownStyleNode } from "./node/markdownStyle";
31
31
  export { default as PageNumberHTMLNode } from "./node/html/pageNumber";
32
- export { default as TopmostMarkdownNode } from "./node/markdown/topmost";
32
+ export { default as DocumentMarkdownNode } from "./node/markdown/document";
33
33
  export { default as BlockListingHTMLNode } from "./node/html/listing/block";
34
34
  export { default as FootnotesListHTMLNode } from "./node/html/list/footnotes";
35
35
 
@@ -3,7 +3,7 @@
3
3
  import PathMarkdownNode from "../../node/markdown/path";
4
4
  import ImageMarkdownNode from "../../node/markdown/image";
5
5
  import ErrorMarkdownNode from "../../node/markdown/error";
6
- import TopmostMarkdownNode from "../../node/markdown/topmost";
6
+ import DocumentMarkdownNode from "../../node/markdown/document";
7
7
  import DivisionMarkdownNode from "../../node/markdown/division";
8
8
  import FootnoteMarkdownNode from "../../node/markdown/footnote";
9
9
  import BlockEndMarkdownNode from "../../node/markdown/blockEnd";
@@ -26,7 +26,7 @@ import IncludeDirectiveMarkdownNode from "../../node/markdown/directive/include"
26
26
  import { PATH_MARKDOWN_RULE_NAME,
27
27
  IMAGE_MARKDOWN_RULE_NAME,
28
28
  ERROR_MARKDOWN_RULE_NAME,
29
- MARKDOWN_MARKDOWN_RULE_NAME,
29
+ DOCUMENT_MARKDOWN_RULE_NAME,
30
30
  DIVISION_MARKDOWN_RULE_NAME,
31
31
  FOOTNOTE_MARKDOWN_RULE_NAME,
32
32
  BLOCK_END_MARKDOWN_RULE_NAME,
@@ -50,7 +50,7 @@ const markdownNonTerminalNodeMap = {
50
50
  [PATH_MARKDOWN_RULE_NAME]: PathMarkdownNode,
51
51
  [IMAGE_MARKDOWN_RULE_NAME]: ImageMarkdownNode,
52
52
  [ERROR_MARKDOWN_RULE_NAME]: ErrorMarkdownNode,
53
- [MARKDOWN_MARKDOWN_RULE_NAME]: TopmostMarkdownNode, ///
53
+ [DOCUMENT_MARKDOWN_RULE_NAME]: DocumentMarkdownNode, ///
54
54
  [DIVISION_MARKDOWN_RULE_NAME]: DivisionMarkdownNode,
55
55
  [FOOTNOTE_MARKDOWN_RULE_NAME]: FootnoteMarkdownNode,
56
56
  [BLOCK_END_MARKDOWN_RULE_NAME]: BlockEndMarkdownNode,
@@ -9,7 +9,7 @@ import ColourMarkdownStyleNode from "../../node/markdownStyle/colour";
9
9
  import ValuesMarkdownStyleNode from "../../node/markdownStyle/values";
10
10
  import TargetMarkdownStyleNode from "../../node/markdownStyle/target";
11
11
  import ContentMarkdownStyleNode from "../../node/markdownStyle/content";
12
- import TopmostMarkdownStyleNode from "../../node/markdownStyle/topmost";
12
+ import DocumentMarkdownStyleNode from "../../node/markdownStyle/document";
13
13
  import RuleSetMarkdownStyleNode from "../../node/markdownStyle/ruleSet";
14
14
  import RuleNameMarkdownStyleNode from "../../node/markdownStyle/ruleName";
15
15
  import NonsenseMarkdownStyleNode from "../../node/markdownStyle/nonsense";
@@ -32,6 +32,7 @@ import { NAME_MARKDOWN_STYLE_RULE_NAME,
32
32
  VALUES_MARKDOWN_STYLE_RULE_NAME,
33
33
  TARGET_MARKDOWN_STYLE_RULE_NAME,
34
34
  CONTENT_MARKDOWN_STYLE_RULE_NAME,
35
+ DOCUMENT_MARKDOWN_STYLE_RULE_NAME,
35
36
  RULE_SET_MARKDOWN_STYLE_RULE_NAME,
36
37
  NONSENSE_MARKDOWN_STYLE_RULE_NAME,
37
38
  ARGUMENT_MARKDOWN_STYLE_RULE_NAME,
@@ -43,8 +44,7 @@ import { NAME_MARKDOWN_STYLE_RULE_NAME,
43
44
  IDENTIFIER_MARKDOWN_STYLE_RULE_NAME,
44
45
  DECLARATION_MARKDOWN_STYLE_RULE_NAME,
45
46
  PSEUDO_CLASS_MARKDOWN_STYLE_RULE_NAME,
46
- SELECTORS_LIST_MARKDOWN_STYLE_RULE_NAME,
47
- MARKDOWN_STYLE_MARKDOWN_STYLE_RULE_NAME } from "../../ruleNames/markdownStyle";
47
+ SELECTORS_LIST_MARKDOWN_STYLE_RULE_NAME } from "../../ruleNames/markdownStyle";
48
48
 
49
49
  const markdownStyleNonTerminalNodeMap = {
50
50
  [NAME_MARKDOWN_STYLE_RULE_NAME]: NameMarkdownStyleNode,
@@ -61,14 +61,14 @@ const markdownStyleNonTerminalNodeMap = {
61
61
  [ARGUMENT_MARKDOWN_STYLE_RULE_NAME]: ArgumentMarkdownStyleNode,
62
62
  [SELECTOR_MARKDOWN_STYLE_RULE_NAME]: SelectorMarkdownStyleNode,
63
63
  [VERBATIM_MARKDOWN_STYLE_RULE_NAME]: VerbatimMarkdownStyleNode,
64
+ [DOCUMENT_MARKDOWN_STYLE_RULE_NAME]: DocumentMarkdownStyleNode,
64
65
  [RULE_NAME_MARKDOWN_STYLE_RULE_NAME]: RuleNameMarkdownStyleNode,
65
66
  [SELECTORS_MARKDOWN_STYLE_RULE_NAME]: SelectorsMarkdownStyleNode,
66
67
  [ARGUMENTS_MARKDOWN_STYLE_RULE_NAME]: ArgumentsMarkdownStyleNode,
67
68
  [IDENTIFIER_MARKDOWN_STYLE_RULE_NAME]: IdentifierMarkdownStyleNode,
68
69
  [DECLARATION_MARKDOWN_STYLE_RULE_NAME]: DeclarationMarkdownStyleNode,
69
70
  [PSEUDO_CLASS_MARKDOWN_STYLE_RULE_NAME]: PseudoClassMarkdownStyleNode,
70
- [SELECTORS_LIST_MARKDOWN_STYLE_RULE_NAME]: SelectorsListMarkdownStyleNode,
71
- [MARKDOWN_STYLE_MARKDOWN_STYLE_RULE_NAME]: TopmostMarkdownStyleNode ///
71
+ [SELECTORS_LIST_MARKDOWN_STYLE_RULE_NAME]: SelectorsListMarkdownStyleNode
72
72
  };
73
73
 
74
74
  export default markdownStyleNonTerminalNodeMap;
@@ -2,10 +2,10 @@
2
2
 
3
3
  const bnf = `
4
4
 
5
- markdown ::= ( division | error )+ ;
5
+ document ::= division ;
6
6
 
7
7
 
8
- division ::= ( subDivision | verticalSpace )+ ;
8
+ division ::= ( subDivision | verticalSpace | error )+ ;
9
9
 
10
10
 
11
11
  subDivision.. ::= directives
@@ -2,24 +2,26 @@
2
2
 
3
3
  const bnf = `
4
4
 
5
- markdownStyle ::= ( ruleSet | declaration | verbatim | error )+ ;
5
+ document ::= ( ruleSet | declaration | verbatim | error )+ ;
6
+
6
7
 
7
8
 
8
9
  ruleSet.. ::= selectorsList "{" ( ruleSet | declaration | verbatim | nonsense )* "}" ;
9
10
 
11
+
10
12
 
11
13
  declaration ::= name ":" values ";" ;
12
14
 
15
+
13
16
 
14
17
  verbatim. ::= [backticks] target content... [backticks] ;
15
18
 
16
19
 
17
- selectorsList ::= selectors ( "," selectors )* ;
18
20
 
21
+ selectorsList ::= selectors ( "," selectors )* ;
19
22
 
20
23
  selectors ::= selector+ ;
21
24
 
22
-
23
25
  selector ::= ruleName class* pseudoClass*
24
26
 
25
27
  | class+ pseudoClass*
@@ -28,21 +30,17 @@ const bnf = `
28
30
 
29
31
  ;
30
32
 
33
+
31
34
 
32
35
  ruleName. ::= [rule-name] ;
33
-
34
36
 
35
37
  class. ::= <NO_WHITESPACE>"."<NO_WHITESPACE>identifier ;
36
-
37
38
 
38
39
  pseudoClass. ::= <NO_WHITESPACE>":"<NO_WHITESPACE>identifier ;
39
40
 
40
-
41
41
  values ::= value+ ;
42
-
43
42
 
44
43
  name. ::= identifier ;
45
-
46
44
 
47
45
  value. ::= identifier ( <NO_WHITESPACE>"(" arguments ")" )?
48
46
 
@@ -56,32 +54,24 @@ const bnf = `
56
54
 
57
55
 
58
56
  arguments ::= argument ( "," argument )* ;
59
-
60
57
 
61
58
  argument ::= identifier | amount | string | colour ;
62
59
 
63
-
64
60
  identifier ::= ( [rule-name] | [name] ) ( <NO_WHITESPACE>"-"<NO_WHITESPACE>( [rule-name] | [name] ) )* ;
65
-
66
61
 
67
62
  amount ::= [number] ( <NO_WHITESPACE>[unit] )? ;
68
63
 
69
-
70
64
  string ::= [string-literal] ;
71
65
 
72
-
73
66
  colour ::= [colour] ;
74
67
 
75
-
76
68
  target ::= <NO_WHITESPACE>[target] ;
77
69
 
78
-
79
70
  content ::= stuff+ ;
80
71
 
81
72
 
82
73
  stuff. ::= [string-literal] | [escaped] | [rule-name] | [number] | [colour] | [unit] | [name] | [special] | [unassigned] | [bracket] ;
83
74
 
84
-
85
75
  nonsense. ::= [string-literal] | [escaped] | [rule-name] | [number] | [colour] | [unit] | [name] | [special] | [unassigned] | [target] ;
86
76
 
87
77
 
@@ -49,11 +49,11 @@ export default class IncludeDirectiveMarkdownNode extends MarkdownNode {
49
49
  divisionMarkdownNode = divisionMarkdownNodeFromNode(node);
50
50
 
51
51
  if (divisionMarkdownNode !== null) {
52
- const topmostMarkdownNode = node, ///
52
+ const documentMarkdownNode = node, ///
53
53
  divisionClassName = importedClassName, ///
54
54
  tokens = importedTokens; ///
55
55
 
56
- topmostMarkdownNode.removeDivisionMarkdownNode(divisionMarkdownNode);
56
+ documentMarkdownNode.removeDivisionMarkdownNode(divisionMarkdownNode);
57
57
 
58
58
  divisionMarkdownNode.setDivisionClassName(divisionClassName);
59
59
 
@@ -35,7 +35,7 @@ export default class DivisionMarkdownNode extends MarkdownNode {
35
35
  return className;
36
36
  }
37
37
 
38
- resolveIgnored(topmostMarkdownNode, context) {
38
+ resolveIgnored(documentMarkdownNode, context) {
39
39
  const ignored = this.isIgnored();
40
40
 
41
41
  if (!ignored) {
@@ -48,7 +48,7 @@ export default class DivisionMarkdownNode extends MarkdownNode {
48
48
  ignoreDirectiveMarkdownTransform.remove(context);
49
49
  }
50
50
 
51
- resolveIncludes(topmostMarkdownNode, context) {
51
+ resolveIncludes(documentMarkdownNode, context) {
52
52
  const node = this, ///
53
53
  includeDirectiveMarkdownNodes = includeDirectiveMarkdownNodesFromNode(node),
54
54
  includeDirectiveMarkdownTransforms = includeDirectiveMarkdownNodes.reduce((includeDirectiveMarkdownTransforms, includeDirectiveMarkdownNode) => {
@@ -62,9 +62,9 @@ export default class DivisionMarkdownNode extends MarkdownNode {
62
62
  }, []);
63
63
 
64
64
  includeDirectiveMarkdownTransforms.forEach((includeDirectiveMarkdownTransform) => {
65
- const divisionMarkdownNode = includeDirectiveMarkdownTransform.appendToTopmostMarkdownNode(topmostMarkdownNode, context);
65
+ const divisionMarkdownNode = includeDirectiveMarkdownTransform.appendToDocumentMarkdownNode(documentMarkdownNode, context);
66
66
 
67
- divisionMarkdownNode.resolveIncludes(topmostMarkdownNode, context);
67
+ divisionMarkdownNode.resolveIncludes(documentMarkdownNode, context);
68
68
  });
69
69
  }
70
70
 
@@ -8,7 +8,7 @@ import { divisionMarkdownNodesFromNode } from "../../utilities/markdown";
8
8
 
9
9
  const { first } = arrayUtilities;
10
10
 
11
- export default class TopmostMarkdownNode extends MarkdownNode {
11
+ export default class DocumentMarkdownNode extends MarkdownNode {
12
12
  resolve(context) {
13
13
  const firstDivisionMarkdownNode = this.getFirstDivisionMarkdownNode();
14
14
 
@@ -16,12 +16,12 @@ export default class TopmostMarkdownNode extends MarkdownNode {
16
16
  return;
17
17
  }
18
18
 
19
- const topmostMarkdownNode = this; ///
19
+ const documentMarkdownNode = this; ///
20
20
 
21
- firstDivisionMarkdownNode.resolveIncludes(topmostMarkdownNode, context);
21
+ firstDivisionMarkdownNode.resolveIncludes(documentMarkdownNode, context);
22
22
 
23
23
  this.forEachDivisionMarkdownNode((divisionMarkdownNode) => {
24
- divisionMarkdownNode.resolveIgnored(topmostMarkdownNode, context);
24
+ divisionMarkdownNode.resolveIgnored(documentMarkdownNode, context);
25
25
  });
26
26
 
27
27
  this.forEachDivisionMarkdownNode((divisionMarkdownNode) => {
@@ -68,10 +68,10 @@ export default class TopmostMarkdownNode extends MarkdownNode {
68
68
  childNodes = childMarkdownNodes, ///
69
69
  opacity = null,
70
70
  precedence = null,
71
- topmostMarkdownNode = MarkdownNode.fromRuleNameChildNodesOpacityAndPrecedence(TopmostMarkdownNode, ruleName, childNodes, opacity, precedence);
71
+ documentMarkdownNode = MarkdownNode.fromRuleNameChildNodesOpacityAndPrecedence(DocumentMarkdownNode, ruleName, childNodes, opacity, precedence);
72
72
 
73
- return topmostMarkdownNode;
73
+ return documentMarkdownNode;
74
74
  }
75
75
 
76
- static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return MarkdownNode.fromRuleNameChildNodesOpacityAndPrecedence(TopmostMarkdownNode, ruleName, childNodes, opacity, precedence); }
76
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return MarkdownNode.fromRuleNameChildNodesOpacityAndPrecedence(DocumentMarkdownNode, ruleName, childNodes, opacity, precedence); }
77
77
  }
@@ -2,6 +2,6 @@
2
2
 
3
3
  import MarkdownStyleNode from "../../node/markdownStyle";
4
4
 
5
- export default class TopmostMarkdownStyleNode extends MarkdownStyleNode {
6
- static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return MarkdownStyleNode.fromRuleNameChildNodesOpacityAndPrecedence(TopmostMarkdownStyleNode, ruleName, childNodes, opacity, precedence); }
5
+ export default class DocumentMarkdownStyleNode extends MarkdownStyleNode {
6
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return MarkdownStyleNode.fromRuleNameChildNodesOpacityAndPrecedence(DocumentMarkdownStyleNode, ruleName, childNodes, opacity, precedence); }
7
7
  }
@@ -8,7 +8,7 @@ export const TABLE_MARKDOWN_RULE_NAME = "table";
8
8
  export const ERROR_MARKDOWN_RULE_NAME = "error";
9
9
  export const ANCHOR_MARKDOWN_RULE_NAME = "anchor";
10
10
  export const FOOTER_MARKDOWN_RULE_NAME = "footer";
11
- export const MARKDOWN_MARKDOWN_RULE_NAME = "markdown";
11
+ export const DOCUMENT_MARKDOWN_RULE_NAME = "document";
12
12
  export const DIVISION_MARKDOWN_RULE_NAME = "division";
13
13
  export const FOOTNOTE_MARKDOWN_RULE_NAME = "footnote";
14
14
  export const NONSENSE_MARKDOWN_RULE_NAME = "nonsense";
@@ -81,7 +81,7 @@ const markdownRuleNames = {
81
81
  ERROR_MARKDOWN_RULE_NAME,
82
82
  ANCHOR_MARKDOWN_RULE_NAME,
83
83
  FOOTER_MARKDOWN_RULE_NAME,
84
- MARKDOWN_MARKDOWN_RULE_NAME,
84
+ DOCUMENT_MARKDOWN_RULE_NAME,
85
85
  DIVISION_MARKDOWN_RULE_NAME,
86
86
  FOOTNOTE_MARKDOWN_RULE_NAME,
87
87
  NONSENSE_MARKDOWN_RULE_NAME,
@@ -11,6 +11,7 @@ export const STRING_MARKDOWN_STYLE_RULE_NAME = "string";
11
11
  export const COLOUR_MARKDOWN_STYLE_RULE_NAME = "colour";
12
12
  export const VALUES_MARKDOWN_STYLE_RULE_NAME = "values";
13
13
  export const CONTENT_MARKDOWN_STYLE_RULE_NAME = "content";
14
+ export const DOCUMENT_MARKDOWN_STYLE_RULE_NAME = "document";
14
15
  export const NONSENSE_MARKDOWN_STYLE_RULE_NAME = "nonsense";
15
16
  export const ARGUMENT_MARKDOWN_STYLE_RULE_NAME = "argument";
16
17
  export const SELECTOR_MARKDOWN_STYLE_RULE_NAME = "selector";
@@ -23,7 +24,6 @@ export const IDENTIFIER_MARKDOWN_STYLE_RULE_NAME = "identifier";
23
24
  export const DECLARATION_MARKDOWN_STYLE_RULE_NAME = "declaration";
24
25
  export const PSEUDO_CLASS_MARKDOWN_STYLE_RULE_NAME = "pseudoClass";
25
26
  export const SELECTORS_LIST_MARKDOWN_STYLE_RULE_NAME = "selectorsList";
26
- export const MARKDOWN_STYLE_MARKDOWN_STYLE_RULE_NAME = "markdownStyle"; ///
27
27
 
28
28
  const markdownStyleRuleNames = {
29
29
  CSS_MARKDOWN_STYLE_RULE_NAME,
@@ -37,6 +37,7 @@ const markdownStyleRuleNames = {
37
37
  COLOUR_MARKDOWN_STYLE_RULE_NAME,
38
38
  VALUES_MARKDOWN_STYLE_RULE_NAME,
39
39
  CONTENT_MARKDOWN_STYLE_RULE_NAME,
40
+ DOCUMENT_MARKDOWN_STYLE_RULE_NAME,
40
41
  NONSENSE_MARKDOWN_STYLE_RULE_NAME,
41
42
  ARGUMENT_MARKDOWN_STYLE_RULE_NAME,
42
43
  SELECTOR_MARKDOWN_STYLE_RULE_NAME,
@@ -48,8 +49,7 @@ const markdownStyleRuleNames = {
48
49
  IDENTIFIER_MARKDOWN_STYLE_RULE_NAME,
49
50
  DECLARATION_MARKDOWN_STYLE_RULE_NAME,
50
51
  PSEUDO_CLASS_MARKDOWN_STYLE_RULE_NAME,
51
- SELECTORS_LIST_MARKDOWN_STYLE_RULE_NAME,
52
- MARKDOWN_STYLE_MARKDOWN_STYLE_RULE_NAME
52
+ SELECTORS_LIST_MARKDOWN_STYLE_RULE_NAME
53
53
  };
54
54
 
55
55
  export default markdownStyleRuleNames;
@@ -10,8 +10,8 @@ export default class IncludeDirectiveMarkdownTransform extends MarkdownTransform
10
10
  return divisionMarkdownNode;
11
11
  }
12
12
 
13
- appendToTopmostMarkdownNode(topmostMarkdownNode, context) {
14
- const parentNode = topmostMarkdownNode; ///
13
+ appendToDocumentMarkdownNode(documentMarkdownNode, context) {
14
+ const parentNode = documentMarkdownNode; ///
15
15
 
16
16
  super.appendTo(parentNode, context);
17
17
 
@@ -113,14 +113,14 @@ export function htmlFromMarkdownOptionsAndImporter(markdown, options, importer)
113
113
  markdownNode = markdownNodeFromTokens(tokens);
114
114
 
115
115
  if (markdownNode !== null) {
116
- const topmostMarkdownNode = markdownNode, ///
116
+ const documentMarkdownNode = markdownNode, ///
117
117
  context = {
118
118
  tokens,
119
119
  importer,
120
120
  ...options
121
121
  };
122
122
 
123
- topmostMarkdownNode.resolve(context);
123
+ documentMarkdownNode.resolve(context);
124
124
 
125
125
  const topmostHTMLNode = topmostHTMLNodeFromMarkdownNode(markdownNode);
126
126