highmark-markdown 0.0.326 → 0.0.328

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.
@@ -36,8 +36,8 @@ _export(exports, {
36
36
  linkMarkdownNodesFromNode: function() {
37
37
  return linkMarkdownNodesFromNode;
38
38
  },
39
- linkOrFootnoteMarkdownNodesFromNode: function() {
40
- return linkOrFootnoteMarkdownNodesFromNode;
39
+ linkOrReferenceMarkdownNodesFromNode: function() {
40
+ return linkOrReferenceMarkdownNodesFromNode;
41
41
  },
42
42
  nodeQuery: function() {
43
43
  return nodeQuery;
@@ -49,7 +49,7 @@ _export(exports, {
49
49
  var _occamquery = require("occam-query");
50
50
  var _necessary = require("necessary");
51
51
  var first = _necessary.arrayUtilities.first, push = _necessary.arrayUtilities.push;
52
- var linkMarkdownNodesQuery = _occamquery.Query.fromExpression("//link"), headingMarkdownNodesQuery = _occamquery.Query.fromExpression("//primaryHeading|secondaryHeading|tertiaryHeading|quaternaryHeading"), footnoteMarkdownNodesQuery = _occamquery.Query.fromExpression("//footnote"), linkOrFootnoteMarkdownNodesQuery = _occamquery.Query.fromExpression("//link|footnote"), embedDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpression("//directives/embedDirective"), includeDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpression("//directives/includeDirective"), ignoreDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpression("//directives/ignoreDirective"), contentsDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpression("//directives/contentsDirective"), footnotesDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpression("//directives/footnotesDirective");
52
+ var linkMarkdownNodesQuery = _occamquery.Query.fromExpression("//link"), headingMarkdownNodesQuery = _occamquery.Query.fromExpression("//primaryHeading|secondaryHeading|tertiaryHeading|quaternaryHeading"), footnoteMarkdownNodesQuery = _occamquery.Query.fromExpression("//footnote"), embedDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpression("//directives/embedDirective"), linkOrReferenceMarkdownNodesQuery = _occamquery.Query.fromExpression("//link|reference"), includeDirectiveMarkdownNodesQuery = _occamquery.Query.fromExpression("//directives/includeDirective"), ignoreDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpression("//directives/ignoreDirective"), contentsDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpression("//directives/contentsDirective"), footnotesDirectiveMarkdownNodeQuery = _occamquery.Query.fromExpression("//directives/footnotesDirective");
53
53
  function nodeQuery(expression) {
54
54
  var query = _occamquery.Query.fromExpression(expression);
55
55
  return function(node) {
@@ -85,16 +85,16 @@ function footnoteMarkdownNodesFromNode(node) {
85
85
  nodesFromNodeAndQuery(node, footnoteMarkdownNodesQuery, footnoteMarkdownNodes);
86
86
  return footnoteMarkdownNodes;
87
87
  }
88
- function linkOrFootnoteMarkdownNodesFromNode(node) {
89
- var linkOrFootnoteMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
90
- nodesFromNodeAndQuery(node, linkOrFootnoteMarkdownNodesQuery, linkOrFootnoteMarkdownNodes);
91
- return linkOrFootnoteMarkdownNodes;
92
- }
93
88
  function embedDirectiveMarkdownNodesFromNode(node) {
94
89
  var embedDirectiveMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
95
90
  nodesFromNodeAndQuery(node, embedDirectiveMarkdownNodesQuery, embedDirectiveMarkdownNodes);
96
91
  return embedDirectiveMarkdownNodes;
97
92
  }
93
+ function linkOrReferenceMarkdownNodesFromNode(node) {
94
+ var linkOrReferenceMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
95
+ nodesFromNodeAndQuery(node, linkOrReferenceMarkdownNodesQuery, linkOrReferenceMarkdownNodes);
96
+ return linkOrReferenceMarkdownNodes;
97
+ }
98
98
  function includeDirectiveMarkdownNodesFromNode(node) {
99
99
  var includeDirectiveMarkdownNodes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
100
100
  nodesFromNodeAndQuery(node, includeDirectiveMarkdownNodesQuery, includeDirectiveMarkdownNodes);
@@ -116,8 +116,8 @@ var _default = {
116
116
  linkMarkdownNodesFromNode: linkMarkdownNodesFromNode,
117
117
  headingMarkdownNodesFromNode: headingMarkdownNodesFromNode,
118
118
  footnoteMarkdownNodesFromNode: footnoteMarkdownNodesFromNode,
119
- linkOrFootnoteMarkdownNodesFromNode: linkOrFootnoteMarkdownNodesFromNode,
120
119
  embedDirectiveMarkdownNodesFromNode: embedDirectiveMarkdownNodesFromNode,
120
+ linkOrReferenceMarkdownNodesFromNode: linkOrReferenceMarkdownNodesFromNode,
121
121
  includeDirectiveMarkdownNodesFromNode: includeDirectiveMarkdownNodesFromNode,
122
122
  ignoreDirectiveMarkdownNodeFromNode: ignoreDirectiveMarkdownNodeFromNode,
123
123
  contentsDirectiveMarkdownNodeFromNode: contentsDirectiveMarkdownNodeFromNode,
@@ -139,4 +139,4 @@ function nodesFromNodeAndQuery(node, query, nodes) {
139
139
  return nodes;
140
140
  }
141
141
 
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcXVlcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBmaXJzdCwgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmNvbnN0IGxpbmtNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8vbGlua1wiKSxcbiAgICAgIGhlYWRpbmdNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8vcHJpbWFyeUhlYWRpbmd8c2Vjb25kYXJ5SGVhZGluZ3x0ZXJ0aWFyeUhlYWRpbmd8cXVhdGVybmFyeUhlYWRpbmdcIiksXG4gICAgICBmb290bm90ZU1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiLy9mb290bm90ZVwiKSxcbiAgICAgIGxpbmtPckZvb3Rub3RlTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvL2xpbmt8Zm9vdG5vdGVcIiksXG4gICAgICBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiLy9kaXJlY3RpdmVzL2VtYmVkRGlyZWN0aXZlXCIpLFxuICAgICAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiLy9kaXJlY3RpdmVzL2luY2x1ZGVEaXJlY3RpdmVcIiksXG4gICAgICBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiLy9kaXJlY3RpdmVzL2lnbm9yZURpcmVjdGl2ZVwiKSxcbiAgICAgIGNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8vZGlyZWN0aXZlcy9jb250ZW50c0RpcmVjdGl2ZVwiKSxcbiAgICAgIGZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvL2RpcmVjdGl2ZXMvZm9vdG5vdGVzRGlyZWN0aXZlXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9kZVF1ZXJ5KGV4cHJlc3Npb24pIHtcbiAgY29uc3QgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihleHByZXNzaW9uKTtcblxuICByZXR1cm4gZnVuY3Rpb24obm9kZSkge1xuICAgIGNvbnN0IG5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKSxcbiAgICAgICAgICBub2Rlc0xlbmd0aCA9IG5vZGVzLmxlbmd0aDtcblxuICAgIGlmIChub2Rlc0xlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZpcnN0Tm9kZSA9IGZpcnN0KG5vZGVzKTtcblxuICAgICAgbm9kZSA9IGZpcnN0Tm9kZTsgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIG5vZGUgPSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBub2RlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub2Rlc1F1ZXJ5KGV4cHJlc3Npb24pIHtcbiAgY29uc3QgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihleHByZXNzaW9uKTtcblxuICByZXR1cm4gZnVuY3Rpb24obm9kZSkge1xuICAgIGNvbnN0IG5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKTtcblxuICAgIHJldHVybiBub2RlcztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbGlua01hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBsaW5rTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBsaW5rTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBsaW5rTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGxpbmtNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGVhZGluZ01hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBoZWFkaW5nTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBoZWFkaW5nTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBoZWFkaW5nTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGhlYWRpbmdNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9vdG5vdGVNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgZm9vdG5vdGVNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGZvb3Rub3RlTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBmb290bm90ZU1hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBmb290bm90ZU1hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaW5rT3JGb290bm90ZU1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBsaW5rT3JGb290bm90ZU1hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgbGlua09yRm9vdG5vdGVNYXJrZG93bk5vZGVzUXVlcnksIGxpbmtPckZvb3Rub3RlTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGxpbmtPckZvb3Rub3RlTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSwgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSk7XG5cbiAgcmV0dXJuIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUobm9kZSkge1xuICBjb25zdCBjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbGlua01hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgaGVhZGluZ01hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgZm9vdG5vdGVNYXJrZG93bk5vZGVzRnJvbU5vZGUsXG4gIGxpbmtPckZvb3Rub3RlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUsXG4gIGZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlXG59O1xuXG5mdW5jdGlvbiBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBxdWVyeSkge1xuICBjb25zdCBxdWVyeU5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKSxcbiAgICAgICAgcXVlcnlOb2Rlc0xlbmd0aCA9IHF1ZXJ5Tm9kZXMubGVuZ3RoO1xuXG4gIGlmIChxdWVyeU5vZGVzTGVuZ3RoID09PSAwKSB7XG4gICAgbm9kZSA9IG51bGw7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZmlyc3RRdWVyeU5vZGUgPSBmaXJzdChxdWVyeU5vZGVzKTtcblxuICAgIG5vZGUgPSBmaXJzdFF1ZXJ5Tm9kZTsgIC8vL1xuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59XG5cbmZ1bmN0aW9uIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBxdWVyeSwgbm9kZXMpIHtcbiAgY29uc3QgcXVlcnlOb2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSk7XG5cbiAgcHVzaChub2RlcywgcXVlcnlOb2Rlcyk7XG5cbiAgcmV0dXJuIG5vZGVzO1xufVxuIl0sIm5hbWVzIjpbImNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImZvb3Rub3RlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwiZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJoZWFkaW5nTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwibGlua01hcmtkb3duTm9kZXNGcm9tTm9kZSIsImxpbmtPckZvb3Rub3RlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwibm9kZVF1ZXJ5Iiwibm9kZXNRdWVyeSIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJwdXNoIiwibGlua01hcmtkb3duTm9kZXNRdWVyeSIsIlF1ZXJ5IiwiZnJvbUV4cHJlc3Npb24iLCJoZWFkaW5nTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiZm9vdG5vdGVNYXJrZG93bk5vZGVzUXVlcnkiLCJsaW5rT3JGb290bm90ZU1hcmtkb3duTm9kZXNRdWVyeSIsImVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5IiwiY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSIsImZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5IiwiZXhwcmVzc2lvbiIsInF1ZXJ5Iiwibm9kZSIsIm5vZGVzIiwiZXhlY3V0ZSIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3ROb2RlIiwibGlua01hcmtkb3duTm9kZXMiLCJub2Rlc0Zyb21Ob2RlQW5kUXVlcnkiLCJoZWFkaW5nTWFya2Rvd25Ob2RlcyIsImZvb3Rub3RlTWFya2Rvd25Ob2RlcyIsImxpbmtPckZvb3Rub3RlTWFya2Rvd25Ob2RlcyIsImVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyIsImluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzIiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwibm9kZUZyb21Ob2RlQW5kUXVlcnkiLCJjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZSIsImZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZSIsInF1ZXJ5Tm9kZXMiLCJxdWVyeU5vZGVzTGVuZ3RoIiwiZmlyc3RRdWVyeU5vZGUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBd0ZnQkEscUNBQXFDO2VBQXJDQTs7SUFZaEIsT0FVRTtlQVZGOztJQTlCZ0JDLG1DQUFtQztlQUFuQ0E7O0lBWkFDLDZCQUE2QjtlQUE3QkE7O0lBb0NBQyxzQ0FBc0M7ZUFBdENBOztJQTFDQUMsNEJBQTRCO2VBQTVCQTs7SUE4QkFDLG1DQUFtQztlQUFuQ0E7O0lBTkFDLHFDQUFxQztlQUFyQ0E7O0lBOUJBQyx5QkFBeUI7ZUFBekJBOztJQWtCQUMsbUNBQW1DO2VBQW5DQTs7SUEvQ0FDLFNBQVM7ZUFBVEE7O0lBbUJBQyxVQUFVO2VBQVZBOzs7MEJBbENNO3lCQUNTO0FBRS9CLElBQVFDLFFBQWdCQyx5QkFBYyxDQUE5QkQsT0FBT0UsT0FBU0QseUJBQWMsQ0FBdkJDO0FBRWYsSUFBTUMseUJBQXlCQyxpQkFBSyxDQUFDQyxjQUFjLENBQUMsV0FDOUNDLDRCQUE0QkYsaUJBQUssQ0FBQ0MsY0FBYyxDQUFDLHdFQUNqREUsNkJBQTZCSCxpQkFBSyxDQUFDQyxjQUFjLENBQUMsZUFDbERHLG1DQUFtQ0osaUJBQUssQ0FBQ0MsY0FBYyxDQUFDLG9CQUN4REksbUNBQW1DTCxpQkFBSyxDQUFDQyxjQUFjLENBQUMsZ0NBQ3hESyxxQ0FBcUNOLGlC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
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcXVlcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBmaXJzdCwgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmNvbnN0IGxpbmtNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8vbGlua1wiKSxcbiAgICAgIGhlYWRpbmdNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8vcHJpbWFyeUhlYWRpbmd8c2Vjb25kYXJ5SGVhZGluZ3x0ZXJ0aWFyeUhlYWRpbmd8cXVhdGVybmFyeUhlYWRpbmdcIiksXG4gICAgICBmb290bm90ZU1hcmtkb3duTm9kZXNRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiLy9mb290bm90ZVwiKSxcbiAgICAgIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvL2RpcmVjdGl2ZXMvZW1iZWREaXJlY3RpdmVcIiksXG4gICAgICBsaW5rT3JSZWZlcmVuY2VNYXJrZG93bk5vZGVzUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8vbGlua3xyZWZlcmVuY2VcIiksXG4gICAgICBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc1F1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvL2RpcmVjdGl2ZXMvaW5jbHVkZURpcmVjdGl2ZVwiKSxcbiAgICAgIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oXCIvL2RpcmVjdGl2ZXMvaWdub3JlRGlyZWN0aXZlXCIpLFxuICAgICAgY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKFwiLy9kaXJlY3RpdmVzL2NvbnRlbnRzRGlyZWN0aXZlXCIpLFxuICAgICAgZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihcIi8vZGlyZWN0aXZlcy9mb290bm90ZXNEaXJlY3RpdmVcIik7XG5cbmV4cG9ydCBmdW5jdGlvbiBub2RlUXVlcnkoZXhwcmVzc2lvbikge1xuICBjb25zdCBxdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuXG4gIHJldHVybiBmdW5jdGlvbihub2RlKSB7XG4gICAgY29uc3Qgbm9kZXMgPSBxdWVyeS5leGVjdXRlKG5vZGUpLFxuICAgICAgICAgIG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKG5vZGVzTGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZmlyc3ROb2RlID0gZmlyc3Qobm9kZXMpO1xuXG4gICAgICBub2RlID0gZmlyc3ROb2RlOyAvLy9cbiAgICB9IGVsc2Uge1xuICAgICAgbm9kZSA9IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVzUXVlcnkoZXhwcmVzc2lvbikge1xuICBjb25zdCBxdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuXG4gIHJldHVybiBmdW5jdGlvbihub2RlKSB7XG4gICAgY29uc3Qgbm9kZXMgPSBxdWVyeS5leGVjdXRlKG5vZGUpO1xuXG4gICAgcmV0dXJuIG5vZGVzO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaW5rTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGxpbmtNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGxpbmtNYXJrZG93bk5vZGVzUXVlcnksIGxpbmtNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gbGlua01hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoZWFkaW5nTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGhlYWRpbmdNYXJrZG93bk5vZGVzID0gW10pIHtcbiAgbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGhlYWRpbmdNYXJrZG93bk5vZGVzUXVlcnksIGhlYWRpbmdNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gaGVhZGluZ01hcmtkb3duTm9kZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb290bm90ZU1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlLCBmb290bm90ZU1hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgZm9vdG5vdGVNYXJrZG93bk5vZGVzUXVlcnksIGZvb3Rub3RlTWFya2Rvd25Ob2Rlcyk7XG5cbiAgcmV0dXJuIGZvb3Rub3RlTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyA9IFtdKSB7XG4gIG5vZGVzRnJvbU5vZGVBbmRRdWVyeShub2RlLCBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSwgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGlua09yUmVmZXJlbmNlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUsIGxpbmtPclJlZmVyZW5jZU1hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgbGlua09yUmVmZXJlbmNlTWFya2Rvd25Ob2Rlc1F1ZXJ5LCBsaW5rT3JSZWZlcmVuY2VNYXJrZG93bk5vZGVzKTtcblxuICByZXR1cm4gbGlua09yUmVmZXJlbmNlTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSwgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXMgPSBbXSkge1xuICBub2Rlc0Zyb21Ob2RlQW5kUXVlcnkobm9kZSwgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSwgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXMpO1xuXG4gIHJldHVybiBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbm9kZUZyb21Ob2RlQW5kUXVlcnkobm9kZSwgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkpO1xuXG4gIHJldHVybiBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpIHtcbiAgY29uc3QgY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSBub2RlRnJvbU5vZGVBbmRRdWVyeShub2RlLCBjb250ZW50c0RpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5KTtcblxuICByZXR1cm4gY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSB7XG4gIGNvbnN0IGZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIGZvb3Rub3Rlc0RpcmVjdGl2ZU1hcmtkb3duTm9kZVF1ZXJ5KTtcblxuICByZXR1cm4gZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGxpbmtNYXJrZG93bk5vZGVzRnJvbU5vZGUsXG4gIGhlYWRpbmdNYXJrZG93bk5vZGVzRnJvbU5vZGUsXG4gIGZvb3Rub3RlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgbGlua09yUmVmZXJlbmNlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlLFxuICBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSxcbiAgY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSxcbiAgZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGVcbn07XG5cbmZ1bmN0aW9uIG5vZGVGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIHF1ZXJ5KSB7XG4gIGNvbnN0IHF1ZXJ5Tm9kZXMgPSBxdWVyeS5leGVjdXRlKG5vZGUpLFxuICAgICAgICBxdWVyeU5vZGVzTGVuZ3RoID0gcXVlcnlOb2Rlcy5sZW5ndGg7XG5cbiAgaWYgKHF1ZXJ5Tm9kZXNMZW5ndGggPT09IDApIHtcbiAgICBub2RlID0gbnVsbDtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBmaXJzdFF1ZXJ5Tm9kZSA9IGZpcnN0KHF1ZXJ5Tm9kZXMpO1xuXG4gICAgbm9kZSA9IGZpcnN0UXVlcnlOb2RlOyAgLy8vXG4gIH1cblxuICByZXR1cm4gbm9kZTtcbn1cblxuZnVuY3Rpb24gbm9kZXNGcm9tTm9kZUFuZFF1ZXJ5KG5vZGUsIHF1ZXJ5LCBub2Rlcykge1xuICBjb25zdCBxdWVyeU5vZGVzID0gcXVlcnkuZXhlY3V0ZShub2RlKTtcblxuICBwdXNoKG5vZGVzLCBxdWVyeU5vZGVzKTtcblxuICByZXR1cm4gbm9kZXM7XG59XG4iXSwibmFtZXMiOlsiY29udGVudHNEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSIsImVtYmVkRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwiZm9vdG5vdGVNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSIsImhlYWRpbmdNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSIsImluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJsaW5rTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwibGlua09yUmVmZXJlbmNlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwibm9kZVF1ZXJ5Iiwibm9kZXNRdWVyeSIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJwdXNoIiwibGlua01hcmtkb3duTm9kZXNRdWVyeSIsIlF1ZXJ5IiwiZnJvbUV4cHJlc3Npb24iLCJoZWFkaW5nTWFya2Rvd25Ob2Rlc1F1ZXJ5IiwiZm9vdG5vdGVNYXJrZG93bk5vZGVzUXVlcnkiLCJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNRdWVyeSIsImxpbmtPclJlZmVyZW5jZU1hcmtkb3duTm9kZXNRdWVyeSIsImluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzUXVlcnkiLCJpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSIsImNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlUXVlcnkiLCJmb290bm90ZXNEaXJlY3RpdmVNYXJrZG93bk5vZGVRdWVyeSIsImV4cHJlc3Npb24iLCJxdWVyeSIsIm5vZGUiLCJub2RlcyIsImV4ZWN1dGUiLCJub2Rlc0xlbmd0aCIsImxlbmd0aCIsImZpcnN0Tm9kZSIsImxpbmtNYXJrZG93bk5vZGVzIiwibm9kZXNGcm9tTm9kZUFuZFF1ZXJ5IiwiaGVhZGluZ01hcmtkb3duTm9kZXMiLCJmb290bm90ZU1hcmtkb3duTm9kZXMiLCJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXMiLCJsaW5rT3JSZWZlcmVuY2VNYXJrZG93bk5vZGVzIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXMiLCJpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJub2RlRnJvbU5vZGVBbmRRdWVyeSIsImNvbnRlbnRzRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwiZm9vdG5vdGVzRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwicXVlcnlOb2RlcyIsInF1ZXJ5Tm9kZXNMZW5ndGgiLCJmaXJzdFF1ZXJ5Tm9kZSJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUF3RmdCQSxxQ0FBcUM7ZUFBckNBOztJQVloQixPQVVFO2VBVkY7O0lBcENnQkMsbUNBQW1DO2VBQW5DQTs7SUFOQUMsNkJBQTZCO2VBQTdCQTs7SUFvQ0FDLHNDQUFzQztlQUF0Q0E7O0lBMUNBQyw0QkFBNEI7ZUFBNUJBOztJQThCQUMsbUNBQW1DO2VBQW5DQTs7SUFOQUMscUNBQXFDO2VBQXJDQTs7SUE5QkFDLHlCQUF5QjtlQUF6QkE7O0lBd0JBQyxvQ0FBb0M7ZUFBcENBOztJQXJEQUMsU0FBUztlQUFUQTs7SUFtQkFDLFVBQVU7ZUFBVkE7OzswQkFsQ007eUJBQ1M7QUFFL0IsSUFBUUMsUUFBZ0JDLHlCQUFjLENBQTlCRCxPQUFPRSxPQUFTRCx5QkFBYyxDQUF2QkM7QUFFZixJQUFNQyx5QkFBeUJDLGlCQUFLLENBQUNDLGNBQWMsQ0FBQyxXQUM5Q0MsNEJBQTRCRixpQkFBSyxDQUFDQyxjQUFjLENBQUMsd0VBQ2pERSw2QkFBNkJILGlCQUFLLENBQUNDLGNBQWMsQ0FBQyxlQUNsREcsbUNBQW1DSixpQkFBSyxDQUFDQyxjQUFjLENBQUMsZ0NBQ3hESSxvQ0FBb0NMLGlCQUFLLENBQUNDLGNBQWMsQ0FBQyxxQkFDekRL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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": "0.0.326",
4
+ "version": "0.0.328",
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.",
package/src/elementMap.js CHANGED
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
 
3
- import { LINK_RULE_NAME,
3
+ import { LINE_RULE_NAME,
4
+ LINK_RULE_NAME,
4
5
  IMAGE_RULE_NAME,
5
6
  TABLE_RULE_NAME,
6
7
  ERROR_RULE_NAME,
7
8
  ANCHOR_RULE_NAME,
8
9
  DIVISION_RULE_NAME,
9
10
  FOOTNOTE_RULE_NAME,
11
+ REFERENCE_RULE_NAME,
10
12
  PARAGRAPH_RULE_NAME,
11
13
  HYPERLINK_RULE_NAME,
12
14
  TABLE_CELL_RULE_NAME,
@@ -52,6 +54,10 @@ import { LINK_RULE_NAME,
52
54
  STRONGLY_EMPHASISED_TEXT_RULE_NAME } from "./ruleNames";
53
55
 
54
56
  const elementMap = {
57
+ [LINE_RULE_NAME]: {
58
+ tagName: "span",
59
+ className: "line"
60
+ },
55
61
  [LINK_RULE_NAME]: {
56
62
  tagName: "a",
57
63
  className: "link"
@@ -80,6 +86,10 @@ const elementMap = {
80
86
  tagName: null,
81
87
  className: null
82
88
  },
89
+ [REFERENCE_RULE_NAME]: {
90
+ tagName: null,
91
+ className: null
92
+ },
83
93
  [PARAGRAPH_RULE_NAME]: {
84
94
  tagName: "p",
85
95
  className: null
@@ -45,7 +45,9 @@ class View extends Element {
45
45
  parser = markdownStyleParser, ///
46
46
  content = markdownStyle, ///
47
47
  tokens = lexer.tokenise(content),
48
- node = parser.parse(tokens);
48
+ startRule = parser.getStartRule(),
49
+ startOfContent = true,
50
+ node = parser.parse(tokens, startRule, startOfContent);
49
51
 
50
52
  if (node !== null) {
51
53
  const parseTree = node.asParseTree(tokens);
@@ -62,7 +64,9 @@ class View extends Element {
62
64
  parser = markdownParser, ///
63
65
  content = markdown, ///
64
66
  tokens = lexer.tokenise(content),
65
- node = parser.parse(tokens);
67
+ startRule = parser.getStartRule(),
68
+ startOfContent = true,
69
+ node = parser.parse(tokens, startRule, startOfContent);
66
70
 
67
71
  if (node !== null) {
68
72
  const divisionMarkdownNode = node, ///
@@ -189,8 +193,7 @@ class View extends Element {
189
193
  static initialMarkdownStyle = `min-height: initial;
190
194
  `;
191
195
 
192
- static initialMarkdown = `
193
- [https://en.wikipedia.org/wiki/Backus-Naur_form](https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form)
196
+ static initialMarkdown = `Paragraph.
194
197
  `;
195
198
 
196
199
  static tagName = "div";
@@ -5,7 +5,10 @@ const bnf = `
5
5
  division ::= ( subDivision | endOfLine | error )+ ;
6
6
 
7
7
 
8
- subDivision ::= verticalSpace ( directives
8
+ subDivision ::= verticalSpace paragraph ;
9
+
10
+
11
+ subDivision_ ::= verticalSpace ( directives
9
12
 
10
13
  | primaryHeading
11
14
 
@@ -60,22 +63,22 @@ const bnf = `
60
63
  | footnotesDirective ) )* ;
61
64
 
62
65
 
63
- primaryHeading ::= "#" markedText ;
66
+ primaryHeading ::= "#" line ;
64
67
 
65
68
 
66
- secondaryHeading ::= "##" markedText ;
69
+ secondaryHeading ::= "##" line ;
67
70
 
68
71
 
69
- tertiaryHeading ::= "###" markedText ;
72
+ tertiaryHeading ::= "###" line ;
70
73
 
71
74
 
72
- quaternaryHeading ::= "####" markedText ;
75
+ quaternaryHeading ::= "####" line ;
73
76
 
74
77
 
75
78
  table ::= tableHead endOfLine [dashes] endOfLine tableBody ;
76
79
 
77
80
 
78
- footnote. ::= [reference] paragraph ;
81
+ footnote ::= reference paragraph ;
79
82
 
80
83
 
81
84
  orderedList ::= orderedListItem ( endOfLine orderedListItem )* ;
@@ -87,7 +90,7 @@ const bnf = `
87
90
  blockListing ::= blockListingStart endOfLine blockText endOfLine blockListingEnd ;
88
91
 
89
92
 
90
- paragraph ::= markedText ( endOfLine markedText )* ;
93
+ paragraph ::= line ( endOfLine line )* ;
91
94
 
92
95
 
93
96
  embedDirective ::= "@embed" [path] ;
@@ -117,10 +120,10 @@ const bnf = `
117
120
  tableBody ::= tableBodyRow ( endOfLine tableBodyRow )* ;
118
121
 
119
122
 
120
- orderedListItem ::= [marker] markedText ( endOfLine markedText )* ;
123
+ orderedListItem ::= [marker] line ( endOfLine line )* ;
121
124
 
122
125
 
123
- unorderedListItem ::= [bullet] markedText ( endOfLine markedText )* ;
126
+ unorderedListItem ::= [bullet] line ( endOfLine line )* ;
124
127
 
125
128
 
126
129
  blockListingStart ::= [backticks] className? ;
@@ -144,7 +147,10 @@ const bnf = `
144
147
  emptyTableCell ::= "." [vertical-bar];
145
148
 
146
149
 
147
- tableCell ::= markedText... [vertical-bar] ;
150
+ tableCell ::= line [vertical-bar] ;
151
+
152
+
153
+ line ::= markedText+ ;
148
154
 
149
155
 
150
156
  markedText ::= ( link
@@ -236,6 +242,9 @@ const bnf = `
236
242
  anchor. ::= [identifier] ;
237
243
 
238
244
 
245
+ reference. ::= [reference] ;
246
+
247
+
239
248
  className ::= <NO_WHITESPACE>[identifier] ;
240
249
 
241
250
  `;
@@ -8,7 +8,7 @@ import ReplacementNodeAndTokens from "../../replacementNodeAndTokens";
8
8
  import { HREF_ATTRIBUTE_NAME } from "../../attributeNames";
9
9
  import { CONTENTS_LINK_RULE_NAME } from "../../ruleNames";
10
10
 
11
- const { last, push } = arrayUtilities;
11
+ const { push } = arrayUtilities;
12
12
 
13
13
  export default class ContentsLinkMarkdownNode extends MarkdownNode {
14
14
  constructor(ruleName, childNodes, opacity, precedence, domElement, tokens, identifier) {
@@ -41,25 +41,6 @@ export default class ContentsLinkMarkdownNode extends MarkdownNode {
41
41
  return attributeValue;
42
42
  }
43
43
 
44
- childNodesAsHTML(indent, context) {
45
- const childNodes = this.getChildNodes(),
46
- lastChildNode = last(childNodes),
47
- markedTextChildNode = lastChildNode, ///
48
- markedTextChildNodeChildNodesHTML = markedTextChildNode.childNodesAsHTML(indent, context),
49
- childNodesHTML = markedTextChildNodeChildNodesHTML;
50
-
51
- return childNodesHTML;
52
- }
53
-
54
- createChildNodeDOMElements(context) {
55
- const domElement = this.getDOMElement(),
56
- childNodes = this.getChildNodes(),
57
- lastChildNode = last(childNodes),
58
- markedTextChildNode = lastChildNode; ///
59
-
60
- markedTextChildNode.createChildNodeDOMElements(domElement, context);
61
- }
62
-
63
44
  clone() {
64
45
  const tokens = this.tokens.map((token) => {
65
46
  token = token.clone(); ///
@@ -4,26 +4,17 @@ import { arrayUtilities } from "necessary";
4
4
 
5
5
  import MarkdownNode from "../../node/markdown";
6
6
 
7
- const { first, second } = arrayUtilities;
7
+ const { first } = arrayUtilities;
8
8
 
9
9
  export default class FootnoteMarkdownNode extends MarkdownNode {
10
10
  identifier(context) {
11
11
  const childNodes = this.getChildNodes(),
12
12
  firstChildNode = first(childNodes),
13
- referenceTerminalNode = firstChildNode, ///
14
- identifier = identifierFromReferenceTerminalNode(referenceTerminalNode);
13
+ referenceMarkdownNode = firstChildNode, ///
14
+ identifier = referenceMarkdownNode.identifier(context);
15
15
 
16
16
  return identifier;
17
17
  }
18
18
 
19
19
  static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(FootnoteMarkdownNode, ruleName, childNodes, opacity); }
20
20
  }
21
-
22
- function identifierFromReferenceTerminalNode(referenceTerminalNode) {
23
- const content = referenceTerminalNode.getContent(),
24
- matches = content.match(/\[\^([^\]]+)]:/),
25
- secondMatch = second(matches),
26
- identifier = secondMatch; ///
27
-
28
- return identifier;
29
- }
@@ -1,15 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import { arrayUtilities } from "necessary";
4
-
5
3
  import MarkdownNode from "../../node/markdown";
6
4
  import AnchorMarkdownNode from "../../node/markdown/anchor";
7
5
 
8
6
  import { plainTextFromChildNodes } from "../../utilities/childNodes";
9
7
  import { replaceSpacesWithHyphens, removedLeadingWhitespace, removeNonAlphabeticAndSpaceCharacters } from "../../utilities/string";
10
8
 
11
- const { last } = arrayUtilities;
12
-
13
9
  export default class HeadingMarkdownNode extends MarkdownNode {
14
10
  getLevel() {
15
11
  const { level } = this.constructor;
@@ -43,25 +39,6 @@ export default class HeadingMarkdownNode extends MarkdownNode {
43
39
  return position;
44
40
  }
45
41
 
46
- childNodesAsHTML(indent, context) {
47
- const childNodes = this.getChildNodes(),
48
- lastChildNode = last(childNodes),
49
- markedTextChildNode = lastChildNode, ///
50
- markedTextChildNodeChildNodesHTML = markedTextChildNode.childNodesAsHTML(indent, context),
51
- childNodesHTML = markedTextChildNodeChildNodesHTML;
52
-
53
- return childNodesHTML;
54
- }
55
-
56
- createChildNodeDOMElements(context) {
57
- const domElement = this.getDOMElement(),
58
- childNodes = this.getChildNodes(),
59
- lastChildNode = last(childNodes),
60
- markedTextChildNode = lastChildNode; ///
61
-
62
- markedTextChildNode.createChildNodeDOMElements(domElement, context);
63
- }
64
-
65
42
  static fromRuleNameChildNodesAndOpacity(Class, ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(Class, ruleName, childNodes, opacity); }
66
43
  }
67
44
 
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ import MarkdownNode from "../../node/markdown";
4
+
5
+ import { htmlFromChildNodes, domElementsFromChildNodes } from "../../utilities/childNodes";
6
+
7
+ export default class LineMarkdownNode extends MarkdownNode {
8
+ childNodesAsHTML(indent, context, leftTrimmed = false) {
9
+ const childNodes = this.getChildNodes(),
10
+ html = htmlFromChildNodes(childNodes, context, leftTrimmed);
11
+
12
+ return html;
13
+ }
14
+
15
+ createChildNodeDOMElements(domElement, context, leftTrimmed = false) {
16
+ const childNodes = this.getChildNodes(),
17
+ domElements = domElementsFromChildNodes(childNodes, context, leftTrimmed),
18
+ parentDOMElement = domElement, ///
19
+ childNodeDOMElements = domElements; ///
20
+
21
+ childNodeDOMElements.forEach((childNodeDOMElement) => {
22
+ const domElement = childNodeDOMElement; ///
23
+
24
+ parentDOMElement.appendChild(domElement);
25
+ });
26
+ }
27
+
28
+ static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(LineMarkdownNode, ruleName, childNodes, opacity); }
29
+ }
@@ -2,43 +2,6 @@
2
2
 
3
3
  import MarkdownNode from "../../node/markdown";
4
4
 
5
- import { isIndexOdd } from "../../utilities/index";
6
- import { EMPTY_STRING } from "../../constants";
7
-
8
5
  export default class ListItemMarkdownNode extends MarkdownNode {
9
- childNodesAsHTML(indent, context) {
10
- let childNodesHTML = EMPTY_STRING;
11
-
12
- const childNodes = this.getChildNodes();
13
-
14
- childNodes.forEach((childNode, index) => {
15
- const indexOdd = isIndexOdd(index);
16
-
17
- if (indexOdd) {
18
- const markedTextChildNode = childNode, ///
19
- markedTextChildNodeChildNodesHTML = markedTextChildNode.childNodesAsHTML(indent, context);
20
-
21
- childNodesHTML = `${childNodesHTML}${markedTextChildNodeChildNodesHTML}`;
22
- }
23
- });
24
-
25
- return childNodesHTML;
26
- }
27
-
28
- createChildNodeDOMElements(context) {
29
- const domElement = this.getDOMElement(),
30
- childNodes = this.getChildNodes();
31
-
32
- childNodes.forEach((childNode, index) => {
33
- const indexOdd = isIndexOdd(index);
34
-
35
- if (indexOdd) {
36
- const markedTextChildNode = childNode; ///
37
-
38
- markedTextChildNode.createChildNodeDOMElements(domElement, context);
39
- }
40
- });
41
- }
42
-
43
6
  static fromRuleNameChildNodesAndOpacity(Class, ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(Class, ruleName, childNodes, opacity); }
44
7
  }
@@ -2,43 +2,6 @@
2
2
 
3
3
  import MarkdownNode from "../../node/markdown";
4
4
 
5
- import { isIndexEven } from "../../utilities/index";
6
- import { EMPTY_STRING } from "../../constants";
7
-
8
5
  export default class ParagraphMarkdownNode extends MarkdownNode {
9
- childNodesAsHTML(indent, context) {
10
- let childNodesHTML = EMPTY_STRING;
11
-
12
- const childNodes = this.getChildNodes();
13
-
14
- childNodes.forEach((childNode, index) => {
15
- const indexEven = isIndexEven(index);
16
-
17
- if (indexEven) {
18
- const markedTextChildNode = childNode, ///
19
- markedTextChildNodeChildNodesHTML = markedTextChildNode.childNodesAsHTML(indent, context);
20
-
21
- childNodesHTML = `${childNodesHTML}${markedTextChildNodeChildNodesHTML}`;
22
- }
23
- });
24
-
25
- return childNodesHTML;
26
- }
27
-
28
- createChildNodeDOMElements(context) {
29
- const domElement = this.getDOMElement(),
30
- childNodes = this.getChildNodes();
31
-
32
- childNodes.forEach((childNode, index) => {
33
- const indexEven = isIndexEven(index);
34
-
35
- if (indexEven) {
36
- const markedTextChildNode = childNode; ///
37
-
38
- markedTextChildNode.createChildNodeDOMElements(domElement, context);
39
- }
40
- });
41
- }
42
-
43
6
  static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(ParagraphMarkdownNode, ruleName, childNodes, opacity); }
44
7
  }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ import { arrayUtilities } from "necessary";
4
+
5
+ import MarkdownNode from "../../node/markdown";
6
+
7
+ const { first, second } = arrayUtilities;
8
+
9
+ export default class ReferenceMarkdownNode extends MarkdownNode {
10
+ identifier(context) {
11
+ const childNodes = this.getChildNodes(),
12
+ firstChildNode = first(childNodes),
13
+ referenceTerminalNode = firstChildNode, ///
14
+ identifier = identifierFromReferenceTerminalNode(referenceTerminalNode);
15
+
16
+ return identifier;
17
+ }
18
+
19
+ static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(ReferenceMarkdownNode, ruleName, childNodes, opacity); }
20
+ }
21
+
22
+ function identifierFromReferenceTerminalNode(referenceTerminalNode) {
23
+ const content = referenceTerminalNode.getContent(),
24
+ matches = content.match(/\[\^([^\]]+)]:/),
25
+ secondMatch = second(matches),
26
+ identifier = secondMatch; ///
27
+
28
+ return identifier;
29
+ }
@@ -1,29 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import { arrayUtilities } from "necessary";
4
-
5
3
  import MarkdownNode from "../../node/markdown";
6
4
 
7
- const { first } = arrayUtilities;
8
-
9
5
  export default class TableCellMarkdownNode extends MarkdownNode {
10
- childNodesAsHTML(indent, context) {
11
- const childNodes = this.getChildNodes(),
12
- firstChildNode = first(childNodes),
13
- markedTextChildNode = firstChildNode, ///
14
- markedTextChildNodeChildNodesHTML = markedTextChildNode.childNodesAsHTML(indent, context),
15
- childNodesHTML = markedTextChildNodeChildNodesHTML; ///
16
-
17
- return childNodesHTML;
18
- }
19
-
20
- createChildNodeDOMElements(domElement, context) {
21
- const childNodes = this.getChildNodes(),
22
- firstChildNode = first(childNodes),
23
- markedTextChildNode = firstChildNode; ///
24
-
25
- markedTextChildNode.createChildNodeDOMElements(domElement, context);
26
- }
27
-
28
6
  static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(TableCellMarkdownNode, ruleName, childNodes, opacity); }
29
7
  }
package/src/nodeMap.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import LineMarkdownNode from "./node/markdown/line";
3
4
  import LinkMarkdownNode from "./node/markdown/link";
4
5
  import ImageMarkdownNode from "./node/markdown/image";
5
6
  import TableMarkdownNode from "./node/markdown/table";
@@ -7,6 +8,7 @@ import ErrorMarkdownNode from "./node/markdown/error";
7
8
  import AnchorMarkdownNode from "./node/markdown/anchor";
8
9
  import DivisionMarkdownNode from "./node/markdown/division";
9
10
  import FootnoteMarkdownNode from "./node/markdown/footnote";
11
+ import ReferenceMarkdownNode from "./node/markdown/reference";
10
12
  import ParagraphMarkdownNode from "./node/markdown/paragraph";
11
13
  import HyperlinkMarkdownNode from "./node/markdown/hyperlink";
12
14
  import TableCellMarkdownNode from "./node/markdown/tableCell";
@@ -50,13 +52,15 @@ import ContentsDirectiveMarkdownNode from "./node/markdown/directive/contents";
50
52
  import FootnotesDirectiveMarkdownNode from "./node/markdown/directive/footnotes";
51
53
  import StronglyEmphasisedTextMarkdownNode from "./node/markdown/stronglyEmphasisedText";
52
54
 
53
- import { LINK_RULE_NAME,
55
+ import { LINE_RULE_NAME,
56
+ LINK_RULE_NAME,
54
57
  IMAGE_RULE_NAME,
55
58
  TABLE_RULE_NAME,
56
59
  ERROR_RULE_NAME,
57
60
  ANCHOR_RULE_NAME,
58
61
  DIVISION_RULE_NAME,
59
62
  FOOTNOTE_RULE_NAME,
63
+ REFERENCE_RULE_NAME,
60
64
  PARAGRAPH_RULE_NAME,
61
65
  HYPERLINK_RULE_NAME,
62
66
  TABLE_CELL_RULE_NAME,
@@ -101,6 +105,7 @@ import { LINK_RULE_NAME,
101
105
  STRONGLY_EMPHASISED_TEXT_RULE_NAME } from "./ruleNames";
102
106
 
103
107
  const nodeMap = {
108
+ [LINE_RULE_NAME]: LineMarkdownNode,
104
109
  [LINK_RULE_NAME]: LinkMarkdownNode,
105
110
  [IMAGE_RULE_NAME]: ImageMarkdownNode,
106
111
  [TABLE_RULE_NAME]: TableMarkdownNode,
@@ -108,6 +113,7 @@ const nodeMap = {
108
113
  [ANCHOR_RULE_NAME]: AnchorMarkdownNode,
109
114
  [DIVISION_RULE_NAME]: DivisionMarkdownNode,
110
115
  [FOOTNOTE_RULE_NAME]: FootnoteMarkdownNode,
116
+ [REFERENCE_RULE_NAME]: ReferenceMarkdownNode,
111
117
  [PARAGRAPH_RULE_NAME]: ParagraphMarkdownNode,
112
118
  [HYPERLINK_RULE_NAME]: HyperlinkMarkdownNode,
113
119
  [TABLE_CELL_RULE_NAME]: TableCellMarkdownNode,
package/src/ruleNames.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ export const LINE_RULE_NAME = "line";
3
4
  export const LINK_RULE_NAME = "link";
4
5
  export const IMAGE_RULE_NAME = "image";
5
6
  export const TABLE_RULE_NAME = "table";
@@ -7,6 +8,7 @@ export const ERROR_RULE_NAME = "error";
7
8
  export const ANCHOR_RULE_NAME = "anchor";
8
9
  export const DIVISION_RULE_NAME = "division";
9
10
  export const FOOTNOTE_RULE_NAME = "footnote";
11
+ export const REFERENCE_RULE_NAME = "reference";
10
12
  export const PARAGRAPH_RULE_NAME = "paragraph";
11
13
  export const HYPERLINK_RULE_NAME = "hyperlink";
12
14
  export const TABLE_CELL_RULE_NAME = "tableCell";
@@ -54,6 +56,7 @@ export const FOOTNOTES_DIRECTIVE_RULE_NAME = "footnotesDirective";
54
56
  export const STRONGLY_EMPHASISED_TEXT_RULE_NAME = "stronglyEmphasisedText";
55
57
 
56
58
  const ruleNames = {
59
+ LINE_RULE_NAME,
57
60
  LINK_RULE_NAME,
58
61
  IMAGE_RULE_NAME,
59
62
  TABLE_RULE_NAME,
@@ -61,6 +64,7 @@ const ruleNames = {
61
64
  ANCHOR_RULE_NAME,
62
65
  DIVISION_RULE_NAME,
63
66
  FOOTNOTE_RULE_NAME,
67
+ REFERENCE_RULE_NAME,
64
68
  PARAGRAPH_RULE_NAME,
65
69
  HYPERLINK_RULE_NAME,
66
70
  TABLE_CELL_RULE_NAME,