highmark-markdown 1.0.173 → 1.0.174
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.
- package/README.md +1 -1
- package/example.js +14061 -13787
- package/lib/example/importer.js +5 -5
- package/lib/example/view/div/container/markdown.js +3 -3
- package/lib/example/view/div/preview.js +5 -1
- package/lib/example/view/textarea/parseTree/{markdown/outer.js → html.js} +17 -17
- package/lib/example/view/textarea/parseTree/markdown.js +49 -2
- package/lib/example/view/textarea/plainText.js +7 -2
- package/lib/example/view/xmp.js +7 -2
- package/lib/example/view.js +67 -104
- package/lib/index/match.js +6 -6
- package/lib/index.js +27 -15
- package/lib/map/className.js +60 -0
- package/lib/map/node/html.js +85 -0
- package/lib/map/node/markdown.js +73 -0
- package/lib/map/tagName.js +60 -0
- package/lib/markdown/bnf.js +2 -2
- package/lib/markdown/parser.js +10 -9
- package/lib/markdownStyle/entries.js +3 -3
- package/lib/mixins/node.js +24 -23
- package/lib/node/html/anchor.js +55 -11
- package/lib/node/html/blockLine.js +75 -9
- package/lib/node/html/division.js +135 -0
- package/lib/node/html/error.js +195 -0
- package/lib/node/html/{blockListingEnd.js → footnote.js} +20 -14
- package/lib/node/html/heading/index.js +128 -0
- package/lib/node/html/heading/primary.js +129 -0
- package/lib/node/{markdown/directive.js → html/heading/quaternary.js} +21 -21
- package/lib/node/html/heading/secondary.js +129 -0
- package/lib/node/html/heading/tertiary.js +129 -0
- package/lib/node/html/image.js +214 -0
- package/lib/node/html/indexList.js +128 -0
- package/lib/node/html/item/contents.js +128 -0
- package/lib/node/html/item/footnotes.js +128 -0
- package/lib/node/{markdown/indexItem.js → html/item/index.js} +36 -15
- package/lib/node/html/item/ordered.js +17 -2
- package/lib/node/html/item/unordered.js +128 -0
- package/lib/node/html/line.js +174 -0
- package/lib/node/html/{contentsLink.js → link/contents.js} +19 -4
- package/lib/node/html/link/email.js +229 -0
- package/lib/node/html/link/footnote.js +137 -0
- package/lib/node/html/link/hyper.js +229 -0
- package/lib/node/html/link/index.js +202 -0
- package/lib/node/html/list/contents.js +128 -0
- package/lib/node/html/list/footnotes.js +144 -0
- package/lib/node/html/list/ordered.js +128 -0
- package/lib/node/html/list/unordered.js +128 -0
- package/lib/node/html/{blockListing.js → listing/block.js} +18 -9
- package/lib/node/html/listing/inline.js +189 -0
- package/lib/node/html/pageNumber.js +170 -0
- package/lib/node/html/{className.js → paragraph.js} +26 -18
- package/lib/node/{markdown/nonsense.js → html/table.js} +22 -15
- package/lib/node/{markdown/blockListingEnd.js → html/tableBody.js} +22 -15
- package/lib/node/html/tableBodyCell.js +128 -0
- package/lib/node/html/tableBodyRow.js +128 -0
- package/lib/node/html/{blockListingStart.js → tableHead.js} +26 -18
- package/lib/node/html/tableHeadCell.js +128 -0
- package/lib/node/html/tableHeadRow.js +128 -0
- package/lib/node/html/text/block.js +128 -0
- package/lib/node/html/text/emphasised.js +128 -0
- package/lib/node/html/text/inline.js +196 -0
- package/lib/node/html/text/plain.js +128 -0
- package/lib/node/html/text/strong.js +128 -0
- package/lib/node/html/text/stronglyEmphasised.js +212 -0
- package/lib/node/html/text.js +141 -0
- package/lib/node/html/topmost.js +57 -10
- package/lib/node/html.js +130 -40
- package/lib/node/markdown/anchor.js +6 -22
- package/lib/node/markdown/{table.js → blockEnd.js} +10 -10
- package/lib/node/markdown/blockListing.js +4 -31
- package/lib/node/markdown/{blockListingStart.js → blockStart.js} +10 -24
- package/lib/node/markdown/className.js +2 -2
- package/lib/node/markdown/contentsItem.js +4 -4
- package/lib/node/markdown/contentsList.js +2 -10
- package/lib/node/markdown/directive/embee.js +13 -13
- package/lib/node/markdown/directive/include.js +13 -13
- package/lib/node/markdown/directive/pageNumber.js +13 -29
- package/lib/node/markdown/division.js +205 -254
- package/lib/node/markdown/emailLink.js +36 -98
- package/lib/node/markdown/emphasisedText.js +3 -54
- package/lib/node/markdown/error.js +9 -53
- package/lib/node/markdown/footnote.js +1 -15
- package/lib/node/markdown/footnoteLink.js +9 -32
- package/lib/node/markdown/footnotesList.js +1 -16
- package/lib/node/markdown/heading/primary.js +1 -2
- package/lib/node/markdown/heading/quaternary.js +1 -2
- package/lib/node/markdown/heading/secondary.js +1 -2
- package/lib/node/markdown/heading/tertiary.js +1 -2
- package/lib/node/markdown/heading.js +1 -13
- package/lib/node/markdown/hyperlink.js +44 -108
- package/lib/node/markdown/image.js +2 -63
- package/lib/node/markdown/indexLink.js +13 -87
- package/lib/node/markdown/indexList.js +2 -10
- package/lib/node/markdown/inlineListing.js +22 -56
- package/lib/node/markdown/inlineText.js +3 -21
- package/lib/node/markdown/item/ordered.js +6 -6
- package/lib/node/markdown/line.js +1 -74
- package/lib/node/markdown/path.js +7 -7
- package/lib/node/markdown/strongText.js +3 -54
- package/lib/node/markdown/stronglyEmphasisedText.js +3 -78
- package/lib/node/markdown/{tableCellDivider.js → text/block.js} +12 -12
- package/lib/node/markdown/{tableBody.js → text/plain.js} +12 -12
- package/lib/node/markdown/text.js +154 -0
- package/lib/node/markdown/topmost.js +191 -0
- package/lib/node/markdown.js +6 -229
- package/lib/queries.js +4 -45
- package/lib/ruleNames.js +34 -21
- package/lib/style/selector.js +11 -7
- package/lib/transform/contentsItem.js +134 -0
- package/lib/transform/contentsLink.js +115 -0
- package/lib/transform/contentsList.js +194 -0
- package/lib/{replacement/subDivision.js → transform/division.js} +33 -38
- package/lib/{replacement → transform}/embedDirective.js +14 -19
- package/lib/{replacement → transform}/footnote.js +18 -23
- package/lib/transform/footnotesItem.js +123 -0
- package/lib/transform/footnotesList.js +173 -0
- package/lib/{replacement → transform}/includeDirective.js +13 -18
- package/lib/transform/index.js +166 -0
- package/lib/{replacement → transform}/indexAnchor.js +13 -13
- package/lib/{replacement → transform}/indexHeading.js +13 -18
- package/lib/{replacement → transform}/indexItem.js +13 -18
- package/lib/transform/indexList.js +121 -0
- package/lib/{replacement → transform}/line.js +13 -18
- package/lib/{replacement → transform}/subDivision/contentsDirective.js +14 -14
- package/lib/transform/subDivision/embedDirectives.js +147 -0
- package/lib/{replacement → transform}/subDivision/footnote.js +14 -14
- package/lib/{replacement → transform}/subDivision/footnotesDirective.js +14 -14
- package/lib/transform/subDivision/includeDirectives.js +142 -0
- package/lib/{replacement → transform}/subDivision/indexDirective.js +14 -14
- package/lib/{replacement → transform}/subDivision/pageNumberDirective.js +14 -14
- package/lib/utilities/content.js +1 -61
- package/lib/utilities/entities.js +17 -0
- package/lib/utilities/entries.js +6 -6
- package/lib/utilities/html.js +67 -9
- package/lib/utilities/markdown.js +45 -0
- package/lib/utilities/parser.js +8 -2
- package/lib/utilities/query.js +2 -22
- package/package.json +2 -2
- package/src/example/importer.js +2 -4
- package/src/example/view/div/container/markdown.js +2 -2
- package/src/example/view/div/preview.js +6 -0
- package/src/example/view/textarea/parseTree/html.js +28 -0
- package/src/example/view/textarea/parseTree/markdown.js +19 -1
- package/src/example/view/textarea/plainText.js +9 -1
- package/src/example/view/xmp.js +9 -1
- package/src/example/view.js +84 -91
- package/src/index/match.js +6 -6
- package/src/index.js +6 -3
- package/src/map/className.js +16 -0
- package/src/map/node/html.js +136 -0
- package/src/map/node/markdown.js +125 -0
- package/src/map/tagName.js +16 -0
- package/src/markdown/bnf.js +85 -64
- package/src/markdown/parser.js +3 -1
- package/src/markdownStyle/entries.js +3 -3
- package/src/mixins/node.js +29 -34
- package/src/node/html/anchor.js +26 -5
- package/src/node/html/blockLine.js +58 -7
- package/src/node/html/division.js +15 -0
- package/src/node/html/error.js +64 -0
- package/src/node/html/footnote.js +17 -0
- package/src/node/html/heading/index.js +13 -0
- package/src/node/html/heading/primary.js +15 -0
- package/src/node/html/heading/quaternary.js +15 -0
- package/src/node/html/heading/secondary.js +15 -0
- package/src/node/html/heading/tertiary.js +15 -0
- package/src/node/html/image.js +107 -0
- package/src/node/html/indexList.js +13 -0
- package/src/node/html/item/contents.js +13 -0
- package/src/node/html/item/footnotes.js +13 -0
- package/src/node/{markdown/indexItem.js → html/item/index.js} +9 -3
- package/src/node/html/item/ordered.js +5 -1
- package/src/node/html/item/unordered.js +13 -0
- package/src/node/html/line.js +64 -0
- package/src/node/html/{contentsLink.js → link/contents.js} +7 -3
- package/src/node/html/link/email.js +96 -0
- package/src/node/html/link/footnote.js +33 -0
- package/src/node/html/link/hyper.js +96 -0
- package/src/node/html/link/index.js +72 -0
- package/src/node/html/list/contents.js +13 -0
- package/src/node/html/list/footnotes.js +27 -0
- package/src/node/html/list/ordered.js +13 -0
- package/src/node/html/list/unordered.js +13 -0
- package/src/node/html/{blockListing.js → listing/block.js} +5 -8
- package/src/node/html/listing/inline.js +61 -0
- package/src/node/html/pageNumber.js +46 -0
- package/src/node/html/paragraph.js +13 -0
- package/src/node/html/table.js +13 -0
- package/src/node/html/tableBody.js +13 -0
- package/src/node/html/tableBodyCell.js +13 -0
- package/src/node/html/tableBodyRow.js +13 -0
- package/src/node/html/tableHead.js +13 -0
- package/src/node/html/tableHeadCell.js +13 -0
- package/src/node/html/tableHeadRow.js +13 -0
- package/src/node/html/text/block.js +13 -0
- package/src/node/html/text/emphasised.js +13 -0
- package/src/node/html/text/inline.js +57 -0
- package/src/node/html/text/plain.js +13 -0
- package/src/node/html/text/strong.js +13 -0
- package/src/node/html/text/stronglyEmphasised.js +98 -0
- package/src/node/html/text.js +34 -0
- package/src/node/html/topmost.js +57 -8
- package/src/node/html.js +136 -53
- package/src/node/markdown/anchor.js +5 -25
- package/src/node/markdown/{table.js → blockEnd.js} +2 -2
- package/src/node/markdown/blockListing.js +4 -10
- package/src/node/markdown/{blockListingStart.js → blockStart.js} +4 -6
- package/src/node/markdown/className.js +2 -2
- package/src/node/markdown/contentsItem.js +4 -4
- package/src/node/markdown/contentsList.js +0 -6
- package/src/node/markdown/directive/embee.js +10 -10
- package/src/node/markdown/directive/include.js +10 -10
- package/src/node/markdown/directive/pageNumber.js +10 -29
- package/src/node/markdown/division.js +203 -260
- package/src/node/markdown/emailLink.js +41 -87
- package/src/node/markdown/emphasisedText.js +1 -40
- package/src/node/markdown/error.js +9 -40
- package/src/node/markdown/footnote.js +0 -12
- package/src/node/markdown/footnoteLink.js +8 -31
- package/src/node/markdown/footnotesList.js +0 -13
- package/src/node/markdown/heading/primary.js +0 -2
- package/src/node/markdown/heading/quaternary.js +0 -2
- package/src/node/markdown/heading/secondary.js +0 -2
- package/src/node/markdown/heading/tertiary.js +0 -2
- package/src/node/markdown/heading.js +0 -14
- package/src/node/markdown/hyperlink.js +41 -91
- package/src/node/markdown/image.js +1 -82
- package/src/node/markdown/indexLink.js +10 -69
- package/src/node/markdown/indexList.js +0 -6
- package/src/node/markdown/inlineListing.js +20 -40
- package/src/node/markdown/inlineText.js +1 -21
- package/src/node/markdown/item/ordered.js +3 -3
- package/src/node/markdown/line.js +0 -61
- package/src/node/markdown/path.js +5 -5
- package/src/node/markdown/strongText.js +1 -40
- package/src/node/markdown/stronglyEmphasisedText.js +1 -74
- package/src/node/markdown/text/block.js +7 -0
- package/src/node/markdown/text/plain.js +7 -0
- package/src/node/markdown/text.js +80 -0
- package/src/node/markdown/topmost.js +91 -0
- package/src/node/markdown.js +1 -200
- package/src/queries.js +6 -86
- package/src/ruleNames.js +16 -12
- package/src/style/selector.js +16 -10
- package/src/transform/contentsItem.js +55 -0
- package/src/{replacement → transform}/contentsLink.js +10 -9
- package/src/{replacement → transform}/contentsList.js +26 -26
- package/src/transform/division.js +41 -0
- package/src/{replacement → transform}/embedDirective.js +4 -4
- package/src/{replacement → transform}/footnote.js +7 -7
- package/src/transform/footnotesItem.js +25 -0
- package/src/transform/footnotesList.js +79 -0
- package/src/{replacement → transform}/includeDirective.js +4 -4
- package/src/transform/index.js +90 -0
- package/src/{replacement → transform}/indexAnchor.js +5 -4
- package/src/{replacement → transform}/indexHeading.js +4 -4
- package/src/{replacement → transform}/indexItem.js +4 -4
- package/src/transform/indexList.js +33 -0
- package/src/{replacement → transform}/line.js +4 -4
- package/src/transform/subDivision/contentsDirective.js +20 -0
- package/src/transform/subDivision/embedDirectives.js +52 -0
- package/src/{replacement → transform}/subDivision/footnote.js +5 -5
- package/src/transform/subDivision/footnotesDirective.js +20 -0
- package/src/transform/subDivision/includeDirectives.js +48 -0
- package/src/transform/subDivision/indexDirective.js +20 -0
- package/src/transform/subDivision/pageNumberDirective.js +20 -0
- package/src/utilities/content.js +0 -95
- package/src/utilities/entities.js +11 -0
- package/src/utilities/entries.js +3 -3
- package/src/utilities/html.js +69 -6
- package/src/utilities/markdown.js +32 -0
- package/src/utilities/parser.js +3 -2
- package/src/utilities/query.js +8 -28
- package/lib/classFromOuterNode.js +0 -30
- package/lib/elementMap.js +0 -218
- package/lib/example/view/textarea/parseTree/markdown/inner.js +0 -179
- package/lib/mixins/content.js +0 -21
- package/lib/mixins/element.js +0 -32
- package/lib/node/html/comma.js +0 -127
- package/lib/node/html/directive/pageNumber.js +0 -178
- package/lib/node/markdown/blockLine.js +0 -207
- package/lib/node/markdown/comma.js +0 -123
- package/lib/node/markdown/directive/contents.js +0 -107
- package/lib/node/markdown/directive/footnotes.js +0 -107
- package/lib/node/markdown/directive/ignore.js +0 -107
- package/lib/node/markdown/directive/index.js +0 -107
- package/lib/node/markdown/directives.js +0 -125
- package/lib/node/markdown/emptyTableCell.js +0 -122
- package/lib/node/markdown/endOfLine.js +0 -151
- package/lib/node/markdown/indexHeading.js +0 -107
- package/lib/node/markdown/item/unordered.js +0 -107
- package/lib/node/markdown/item.js +0 -107
- package/lib/node/markdown/orderedList.js +0 -107
- package/lib/node/markdown/plainText.js +0 -115
- package/lib/node/markdown/subDivision.js +0 -161
- package/lib/node/markdown/tableBodyCell.js +0 -128
- package/lib/node/markdown/tableBodyRow.js +0 -107
- package/lib/node/markdown/tableCell.js +0 -118
- package/lib/node/markdown/tableDivider.js +0 -107
- package/lib/node/markdown/tableHead.js +0 -107
- package/lib/node/markdown/tableHeadCell.js +0 -128
- package/lib/node/markdown/tableHeadRow.js +0 -107
- package/lib/node/markdown/unorderedList.js +0 -107
- package/lib/node/markdown/verticalSpace.js +0 -151
- package/lib/nodeMap.js +0 -98
- package/lib/replacement/contentsItem.js +0 -134
- package/lib/replacement/contentsLink.js +0 -115
- package/lib/replacement/contentsList.js +0 -194
- package/lib/replacement/footnotesItem.js +0 -123
- package/lib/replacement/footnotesList.js +0 -173
- package/lib/replacement/index.js +0 -166
- package/lib/replacement/indexList.js +0 -121
- package/lib/replacement/subDivision/embedDirectives.js +0 -143
- package/lib/replacement/subDivision/includeDirectives.js +0 -175
- package/lib/replacement.js +0 -262
- package/lib/ruleNameToClassMap.js +0 -44
- package/lib/utilities/childNodes.js +0 -127
- package/lib/utilities/processing.js +0 -106
- package/lib/utilities/replacement.js +0 -195
- package/src/classFromOuterNode.js +0 -20
- package/src/elementMap.js +0 -322
- package/src/example/view/textarea/parseTree/markdown/inner.js +0 -36
- package/src/example/view/textarea/parseTree/markdown/outer.js +0 -27
- package/src/mixins/content.js +0 -16
- package/src/mixins/element.js +0 -29
- package/src/node/html/blockListingEnd.js +0 -11
- package/src/node/html/blockListingStart.js +0 -11
- package/src/node/html/className.js +0 -11
- package/src/node/html/comma.js +0 -18
- package/src/node/html/directive/pageNumber.js +0 -55
- package/src/node/markdown/blockLine.js +0 -90
- package/src/node/markdown/blockListingEnd.js +0 -9
- package/src/node/markdown/comma.js +0 -23
- package/src/node/markdown/directive/contents.js +0 -7
- package/src/node/markdown/directive/footnotes.js +0 -7
- package/src/node/markdown/directive/ignore.js +0 -7
- package/src/node/markdown/directive/index.js +0 -7
- package/src/node/markdown/directive.js +0 -15
- package/src/node/markdown/directives.js +0 -25
- package/src/node/markdown/emptyTableCell.js +0 -19
- package/src/node/markdown/endOfLine.js +0 -39
- package/src/node/markdown/indexHeading.js +0 -7
- package/src/node/markdown/item/unordered.js +0 -7
- package/src/node/markdown/item.js +0 -7
- package/src/node/markdown/nonsense.js +0 -9
- package/src/node/markdown/orderedList.js +0 -7
- package/src/node/markdown/plainText.js +0 -13
- package/src/node/markdown/subDivision.js +0 -64
- package/src/node/markdown/tableBody.js +0 -7
- package/src/node/markdown/tableBodyCell.js +0 -29
- package/src/node/markdown/tableBodyRow.js +0 -7
- package/src/node/markdown/tableCell.js +0 -19
- package/src/node/markdown/tableCellDivider.js +0 -7
- package/src/node/markdown/tableDivider.js +0 -7
- package/src/node/markdown/tableHead.js +0 -7
- package/src/node/markdown/tableHeadCell.js +0 -29
- package/src/node/markdown/tableHeadRow.js +0 -7
- package/src/node/markdown/unorderedList.js +0 -7
- package/src/node/markdown/verticalSpace.js +0 -39
- package/src/nodeMap.js +0 -200
- package/src/replacement/contentsItem.js +0 -54
- package/src/replacement/footnotesItem.js +0 -24
- package/src/replacement/footnotesList.js +0 -78
- package/src/replacement/index.js +0 -89
- package/src/replacement/indexList.js +0 -32
- package/src/replacement/subDivision/contentsDirective.js +0 -20
- package/src/replacement/subDivision/embedDirectives.js +0 -52
- package/src/replacement/subDivision/footnotesDirective.js +0 -20
- package/src/replacement/subDivision/includeDirectives.js +0 -58
- package/src/replacement/subDivision/indexDirective.js +0 -20
- package/src/replacement/subDivision/pageNumberDirective.js +0 -20
- package/src/replacement/subDivision.js +0 -41
- package/src/replacement.js +0 -185
- package/src/ruleNameToClassMap.js +0 -38
- package/src/utilities/childNodes.js +0 -178
- package/src/utilities/processing.js +0 -122
- package/src/utilities/replacement.js +0 -169
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import MarkdownNode from "../../node/markdown";
|
|
4
|
-
|
|
5
|
-
import { CARRIAGE_RETURN } from "../../constants";
|
|
6
|
-
|
|
7
|
-
export default class VerticalSpaceMarkdownNode extends MarkdownNode {
|
|
8
|
-
content(context) {
|
|
9
|
-
const content = CARRIAGE_RETURN;
|
|
10
|
-
|
|
11
|
-
return content;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
createDOMElement(context) {
|
|
15
|
-
const content = this.content(context),
|
|
16
|
-
textNode = document.createTextNode(content),
|
|
17
|
-
domElement = textNode; ///
|
|
18
|
-
|
|
19
|
-
return domElement;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
asHTML(indent, context) {
|
|
23
|
-
const content = this.content(context),
|
|
24
|
-
html = content; ///
|
|
25
|
-
|
|
26
|
-
return html;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
asPlainText(context) {
|
|
30
|
-
const content = this.content(context),
|
|
31
|
-
plainText = content; ///
|
|
32
|
-
|
|
33
|
-
return plainText;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
static lines = 0;
|
|
37
|
-
|
|
38
|
-
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(VerticalSpaceMarkdownNode, ruleName, childNodes, opacity); }
|
|
39
|
-
}
|
package/src/nodeMap.js
DELETED
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import LineMarkdownNode from "./node/markdown/line";
|
|
4
|
-
import PathMarkdownNode from "./node/markdown/path";
|
|
5
|
-
import CommaMarkdownNode from "./node/markdown/comma";
|
|
6
|
-
import ImageMarkdownNode from "./node/markdown/image";
|
|
7
|
-
import TableMarkdownNode from "./node/markdown/table";
|
|
8
|
-
import ErrorMarkdownNode from "./node/markdown/error";
|
|
9
|
-
import AnchorMarkdownNode from "./node/markdown/anchor";
|
|
10
|
-
import DivisionMarkdownNode from "./node/markdown/division";
|
|
11
|
-
import FootnoteMarkdownNode from "./node/markdown/footnote";
|
|
12
|
-
import NonsenseMarkdownNode from "./node/markdown/nonsense";
|
|
13
|
-
import ReferenceMarkdownNode from "./node/markdown/reference";
|
|
14
|
-
import ParagraphMarkdownNode from "./node/markdown/paragraph";
|
|
15
|
-
import HyperlinkMarkdownNode from "./node/markdown/hyperlink";
|
|
16
|
-
import IndexListMarkdownNode from "./node/markdown/indexList";
|
|
17
|
-
import IndexItemMarkdownNode from "./node/markdown/indexItem";
|
|
18
|
-
import IndexLinkMarkdownNode from "./node/markdown/indexLink";
|
|
19
|
-
import TableCellMarkdownNode from "./node/markdown/tableCell";
|
|
20
|
-
import TableHeadMarkdownNode from "./node/markdown/tableHead";
|
|
21
|
-
import TableBodyMarkdownNode from "./node/markdown/tableBody";
|
|
22
|
-
import BlockLineMarkdownNode from "./node/markdown/blockLine";
|
|
23
|
-
import ClassNameMarkdownNode from "./node/markdown/className";
|
|
24
|
-
import PlainTextMarkdownNode from "./node/markdown/plainText";
|
|
25
|
-
import EmailLinkMarkdownNode from "./node/markdown/emailLink";
|
|
26
|
-
import EndOfLineMarkdownNode from "./node/markdown/endOfLine";
|
|
27
|
-
import DirectivesMarkdownNode from "./node/markdown/directives";
|
|
28
|
-
import InlineTextMarkdownNode from "./node/markdown/inlineText";
|
|
29
|
-
import StrongTextMarkdownNode from "./node/markdown/strongText";
|
|
30
|
-
import SubDivisionMarkdownNode from "./node/markdown/subDivision";
|
|
31
|
-
import OrderedListMarkdownNode from "./node/markdown/orderedList";
|
|
32
|
-
import OrderedItemMarkdownNode from "./node/markdown/item/ordered";
|
|
33
|
-
import IndexHeadingMarkdownNode from "./node/markdown/indexHeading";
|
|
34
|
-
import BlockListingMarkdownNode from "./node/markdown/blockListing";
|
|
35
|
-
import TableHeadRowMarkdownNode from "./node/markdown/tableHeadRow";
|
|
36
|
-
import TableBodyRowMarkdownNode from "./node/markdown/tableBodyRow";
|
|
37
|
-
import ContentsLinkMarkdownNode from "./node/markdown/contentsLink";
|
|
38
|
-
import ContentsItemMarkdownNode from "./node/markdown/contentsItem";
|
|
39
|
-
import ContentsListMarkdownNode from "./node/markdown/contentsList";
|
|
40
|
-
import FootnoteLinkMarkdownNode from "./node/markdown/footnoteLink";
|
|
41
|
-
import TableDividerMarkdownNode from "./node/markdown/tableDivider";
|
|
42
|
-
import InlineListingMarkdownNode from "./node/markdown/inlineListing";
|
|
43
|
-
import UnorderedListMarkdownNode from "./node/markdown/unorderedList";
|
|
44
|
-
import UnorderedItemMarkdownNode from "./node/markdown/item/unordered";
|
|
45
|
-
import FootnotesItemMarkdownNode from "./node/markdown/footnotesItem";
|
|
46
|
-
import FootnotesListMarkdownNode from "./node/markdown/footnotesList";
|
|
47
|
-
import VerticalSpaceMarkdownNode from "./node/markdown/verticalSpace";
|
|
48
|
-
import TableHeadCellMarkdownNode from "./node/markdown/tableHeadCell";
|
|
49
|
-
import TableBodyCellMarkdownNode from "./node/markdown/tableBodyCell";
|
|
50
|
-
import EmphasisedTextMarkdownNode from "./node/markdown/emphasisedText";
|
|
51
|
-
import PrimaryHeadingMarkdownNode from "./node/markdown/heading/primary";
|
|
52
|
-
import EmptyTableCellMarkdownNode from "./node/markdown/emptyTableCell";
|
|
53
|
-
import IndexDirectiveMarkdownNode from "./node/markdown/directive/index";
|
|
54
|
-
import EmbedDirectiveMarkdownNode from "./node/markdown/directive/embee";
|
|
55
|
-
import TertiaryHeadingMarkdownNode from "./node/markdown/heading/tertiary";
|
|
56
|
-
import BlockListingEndMarkdownNode from "./node/markdown/blockListingEnd";
|
|
57
|
-
import IgnoreDirectiveMarkdownNode from "./node/markdown/directive/ignore";
|
|
58
|
-
import SecondaryHeadingMarkdownNode from "./node/markdown/heading/secondary";
|
|
59
|
-
import IncludeDirectiveMarkdownNode from "./node/markdown/directive/include";
|
|
60
|
-
import TableCellDividerMarkdownNode from "./node/markdown/tableCellDivider";
|
|
61
|
-
import QuaternaryHeadingMarkdownNode from "./node/markdown/heading/quaternary";
|
|
62
|
-
import BlockListingStartMarkdownNode from "./node/markdown/blockListingStart";
|
|
63
|
-
import ContentsDirectiveMarkdownNode from "./node/markdown/directive/contents";
|
|
64
|
-
import FootnotesDirectiveMarkdownNode from "./node/markdown/directive/footnotes";
|
|
65
|
-
import PageNumberDirectiveMarkdownNode from "./node/markdown/directive/pageNumber";
|
|
66
|
-
import StronglyEmphasisedTextMarkdownNode from "./node/markdown/stronglyEmphasisedText";
|
|
67
|
-
|
|
68
|
-
import { LINE_RULE_NAME,
|
|
69
|
-
PATH_RULE_NAME,
|
|
70
|
-
COMMA_RULE_NAME,
|
|
71
|
-
IMAGE_RULE_NAME,
|
|
72
|
-
TABLE_RULE_NAME,
|
|
73
|
-
ERROR_RULE_NAME,
|
|
74
|
-
ANCHOR_RULE_NAME,
|
|
75
|
-
DIVISION_RULE_NAME,
|
|
76
|
-
FOOTNOTE_RULE_NAME,
|
|
77
|
-
NONSENSE_RULE_NAME,
|
|
78
|
-
REFERENCE_RULE_NAME,
|
|
79
|
-
PARAGRAPH_RULE_NAME,
|
|
80
|
-
HYPERLINK_RULE_NAME,
|
|
81
|
-
INDEX_LIST_RULE_NAME,
|
|
82
|
-
INDEX_ITEM_RULE_NAME,
|
|
83
|
-
INDEX_LINK_RULE_NAME,
|
|
84
|
-
TABLE_CELL_RULE_NAME,
|
|
85
|
-
TABLE_HEAD_RULE_NAME,
|
|
86
|
-
TABLE_BODY_RULE_NAME,
|
|
87
|
-
BLOCK_LINE_RULE_NAME,
|
|
88
|
-
CLASS_NAME_RULE_NAME,
|
|
89
|
-
PLAIN_TEXT_RULE_NAME,
|
|
90
|
-
EMAIL_LINK_RULE_NAME,
|
|
91
|
-
DIRECTIVES_RULE_NAME,
|
|
92
|
-
END_OF_LINE_RULE_NAME,
|
|
93
|
-
INLINE_TEXT_RULE_NAME,
|
|
94
|
-
STRONG_TEXT_RULE_NAME,
|
|
95
|
-
SUB_DIVISION_RULE_NAME,
|
|
96
|
-
ORDERED_LIST_RULE_NAME,
|
|
97
|
-
ORDERED_ITEM_RULE_NAME,
|
|
98
|
-
INDEX_HEADING_RULE_NAME,
|
|
99
|
-
BLOCK_LISTING_RULE_NAME,
|
|
100
|
-
CONTENTS_LINK_RULE_NAME,
|
|
101
|
-
CONTENTS_ITEM_RULE_NAME,
|
|
102
|
-
CONTENTS_LIST_RULE_NAME,
|
|
103
|
-
FOOTNOTE_LINK_RULE_NAME,
|
|
104
|
-
TABLE_DIVIDER_RULE_NAME,
|
|
105
|
-
TABLE_HEAD_ROW_RULE_NAME,
|
|
106
|
-
TABLE_BODY_ROW_RULE_NAME,
|
|
107
|
-
INLINE_LISTING_RULE_NAME,
|
|
108
|
-
UNORDERED_LIST_RULE_NAME,
|
|
109
|
-
UNORDERED_ITEM_RULE_NAME,
|
|
110
|
-
FOOTNOTES_ITEM_RULE_NAME,
|
|
111
|
-
FOOTNOTES_LIST_RULE_NAME,
|
|
112
|
-
VERTICAL_SPACE_RULE_NAME,
|
|
113
|
-
TABLE_HEAD_CELL_RULE_NAME,
|
|
114
|
-
TABLE_BODY_CELL_RULE_NAME,
|
|
115
|
-
EMPHASISED_TEXT_RULE_NAME,
|
|
116
|
-
PRIMARY_HEADING_RULE_NAME,
|
|
117
|
-
INDEX_DIRECTIVE_RULE_NAME,
|
|
118
|
-
EMBED_DIRECTIVE_RULE_NAME,
|
|
119
|
-
EMPTY_TABLE_CELL_RULE_NAME,
|
|
120
|
-
TERTIARY_HEADING_RULE_NAME,
|
|
121
|
-
IGNORE_DIRECTIVE_RULE_NAME,
|
|
122
|
-
BLOCK_LISTING_END_RULE_NAME,
|
|
123
|
-
SECONDARY_HEADING_RULE_NAME,
|
|
124
|
-
INCLUDE_DIRECTIVE_RULE_NAME,
|
|
125
|
-
QUATERNARY_HEADING_RULE_NAME,
|
|
126
|
-
TABLE_CELL_DIVIDER_RULE_NAME,
|
|
127
|
-
CONTENTS_DIRECTIVE_RULE_NAME,
|
|
128
|
-
BLOCK_LISTING_START_RULE_NAME,
|
|
129
|
-
FOOTNOTES_DIRECTIVE_RULE_NAME,
|
|
130
|
-
PAGE_NUMBER_DIRECTIVE_RULE_NAME,
|
|
131
|
-
STRONGLY_EMPHASISED_TEXT_RULE_NAME } from "./ruleNames";
|
|
132
|
-
|
|
133
|
-
const nodeMap = {
|
|
134
|
-
[LINE_RULE_NAME]: LineMarkdownNode,
|
|
135
|
-
[PATH_RULE_NAME]: PathMarkdownNode,
|
|
136
|
-
[COMMA_RULE_NAME]: CommaMarkdownNode,
|
|
137
|
-
[IMAGE_RULE_NAME]: ImageMarkdownNode,
|
|
138
|
-
[TABLE_RULE_NAME]: TableMarkdownNode,
|
|
139
|
-
[ERROR_RULE_NAME]: ErrorMarkdownNode,
|
|
140
|
-
[ANCHOR_RULE_NAME]: AnchorMarkdownNode,
|
|
141
|
-
[DIVISION_RULE_NAME]: DivisionMarkdownNode,
|
|
142
|
-
[FOOTNOTE_RULE_NAME]: FootnoteMarkdownNode,
|
|
143
|
-
[NONSENSE_RULE_NAME]: NonsenseMarkdownNode,
|
|
144
|
-
[REFERENCE_RULE_NAME]: ReferenceMarkdownNode,
|
|
145
|
-
[PARAGRAPH_RULE_NAME]: ParagraphMarkdownNode,
|
|
146
|
-
[HYPERLINK_RULE_NAME]: HyperlinkMarkdownNode,
|
|
147
|
-
[INDEX_LIST_RULE_NAME]: IndexListMarkdownNode,
|
|
148
|
-
[INDEX_ITEM_RULE_NAME]: IndexItemMarkdownNode,
|
|
149
|
-
[INDEX_LINK_RULE_NAME]: IndexLinkMarkdownNode,
|
|
150
|
-
[TABLE_CELL_RULE_NAME]: TableCellMarkdownNode,
|
|
151
|
-
[TABLE_HEAD_RULE_NAME]: TableHeadMarkdownNode,
|
|
152
|
-
[TABLE_BODY_RULE_NAME]: TableBodyMarkdownNode,
|
|
153
|
-
[BLOCK_LINE_RULE_NAME]: BlockLineMarkdownNode,
|
|
154
|
-
[CLASS_NAME_RULE_NAME]: ClassNameMarkdownNode,
|
|
155
|
-
[PLAIN_TEXT_RULE_NAME]: PlainTextMarkdownNode,
|
|
156
|
-
[EMAIL_LINK_RULE_NAME]: EmailLinkMarkdownNode,
|
|
157
|
-
[DIRECTIVES_RULE_NAME]: DirectivesMarkdownNode,
|
|
158
|
-
[END_OF_LINE_RULE_NAME]: EndOfLineMarkdownNode,
|
|
159
|
-
[INLINE_TEXT_RULE_NAME]: InlineTextMarkdownNode,
|
|
160
|
-
[STRONG_TEXT_RULE_NAME]: StrongTextMarkdownNode,
|
|
161
|
-
[SUB_DIVISION_RULE_NAME]: SubDivisionMarkdownNode,
|
|
162
|
-
[ORDERED_LIST_RULE_NAME]: OrderedListMarkdownNode,
|
|
163
|
-
[ORDERED_ITEM_RULE_NAME]: OrderedItemMarkdownNode,
|
|
164
|
-
[INDEX_HEADING_RULE_NAME]: IndexHeadingMarkdownNode,
|
|
165
|
-
[BLOCK_LISTING_RULE_NAME]: BlockListingMarkdownNode,
|
|
166
|
-
[CONTENTS_LINK_RULE_NAME]: ContentsLinkMarkdownNode,
|
|
167
|
-
[CONTENTS_ITEM_RULE_NAME]: ContentsItemMarkdownNode,
|
|
168
|
-
[CONTENTS_LIST_RULE_NAME]: ContentsListMarkdownNode,
|
|
169
|
-
[FOOTNOTE_LINK_RULE_NAME]: FootnoteLinkMarkdownNode,
|
|
170
|
-
[TABLE_DIVIDER_RULE_NAME]: TableDividerMarkdownNode,
|
|
171
|
-
[TABLE_HEAD_ROW_RULE_NAME]: TableHeadRowMarkdownNode,
|
|
172
|
-
[TABLE_BODY_ROW_RULE_NAME]: TableBodyRowMarkdownNode,
|
|
173
|
-
[INLINE_LISTING_RULE_NAME]: InlineListingMarkdownNode,
|
|
174
|
-
[UNORDERED_LIST_RULE_NAME]: UnorderedListMarkdownNode,
|
|
175
|
-
[UNORDERED_ITEM_RULE_NAME]: UnorderedItemMarkdownNode,
|
|
176
|
-
[FOOTNOTES_ITEM_RULE_NAME]: FootnotesItemMarkdownNode,
|
|
177
|
-
[FOOTNOTES_LIST_RULE_NAME]: FootnotesListMarkdownNode,
|
|
178
|
-
[VERTICAL_SPACE_RULE_NAME]: VerticalSpaceMarkdownNode,
|
|
179
|
-
[TABLE_HEAD_CELL_RULE_NAME]: TableHeadCellMarkdownNode,
|
|
180
|
-
[TABLE_BODY_CELL_RULE_NAME]: TableBodyCellMarkdownNode,
|
|
181
|
-
[EMPHASISED_TEXT_RULE_NAME]: EmphasisedTextMarkdownNode,
|
|
182
|
-
[PRIMARY_HEADING_RULE_NAME]: PrimaryHeadingMarkdownNode,
|
|
183
|
-
[INDEX_DIRECTIVE_RULE_NAME]: IndexDirectiveMarkdownNode,
|
|
184
|
-
[EMBED_DIRECTIVE_RULE_NAME]: EmbedDirectiveMarkdownNode,
|
|
185
|
-
[EMPTY_TABLE_CELL_RULE_NAME]: EmptyTableCellMarkdownNode,
|
|
186
|
-
[TERTIARY_HEADING_RULE_NAME]: TertiaryHeadingMarkdownNode,
|
|
187
|
-
[IGNORE_DIRECTIVE_RULE_NAME]: IgnoreDirectiveMarkdownNode,
|
|
188
|
-
[BLOCK_LISTING_END_RULE_NAME]: BlockListingEndMarkdownNode,
|
|
189
|
-
[SECONDARY_HEADING_RULE_NAME]: SecondaryHeadingMarkdownNode,
|
|
190
|
-
[INCLUDE_DIRECTIVE_RULE_NAME]: IncludeDirectiveMarkdownNode,
|
|
191
|
-
[TABLE_CELL_DIVIDER_RULE_NAME]: TableCellDividerMarkdownNode,
|
|
192
|
-
[QUATERNARY_HEADING_RULE_NAME]: QuaternaryHeadingMarkdownNode,
|
|
193
|
-
[CONTENTS_DIRECTIVE_RULE_NAME]: ContentsDirectiveMarkdownNode,
|
|
194
|
-
[BLOCK_LISTING_START_RULE_NAME]: BlockListingStartMarkdownNode,
|
|
195
|
-
[FOOTNOTES_DIRECTIVE_RULE_NAME]: FootnotesDirectiveMarkdownNode,
|
|
196
|
-
[PAGE_NUMBER_DIRECTIVE_RULE_NAME]: PageNumberDirectiveMarkdownNode,
|
|
197
|
-
[STRONGLY_EMPHASISED_TEXT_RULE_NAME]: StronglyEmphasisedTextMarkdownNode
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
export default nodeMap;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import Replacement from "../replacement";
|
|
4
|
-
import ContentsLinkReplacement from "../replacement/contentsLink";
|
|
5
|
-
import ContentsItemMarkdownNode from "../node/markdown/contentsItem";
|
|
6
|
-
|
|
7
|
-
export default class ContentsItemReplacement extends Replacement {
|
|
8
|
-
getContentsItemMarkdownNode() {
|
|
9
|
-
const node = this.getNode(),
|
|
10
|
-
contentsItemMarkdownNode = node; ///
|
|
11
|
-
|
|
12
|
-
return contentsItemMarkdownNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
static fromNestedHeadingMarkdownNode(nestedHeadingMarkdownNode, context) {
|
|
16
|
-
const replacements = [],
|
|
17
|
-
contentsLinkReplacement = ContentsLinkReplacement.fromNestedHeadingMarkdownNode(nestedHeadingMarkdownNode, context);
|
|
18
|
-
|
|
19
|
-
if (contentsLinkReplacement !== null) {
|
|
20
|
-
const node = nestedHeadingMarkdownNode.getNode(),
|
|
21
|
-
headingMarkdownNode = node; ///
|
|
22
|
-
|
|
23
|
-
headingMarkdownNode.addAnchor(context);
|
|
24
|
-
|
|
25
|
-
const replacement = contentsLinkReplacement;
|
|
26
|
-
|
|
27
|
-
replacements.push(replacement);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const childNestedNodes = nestedHeadingMarkdownNode.getChildNestedNodes(),
|
|
31
|
-
nestedHeadingMarkdownNodes = childNestedNodes, ///
|
|
32
|
-
nestedHeadingMarkdownNodesLength = nestedHeadingMarkdownNodes.length;
|
|
33
|
-
|
|
34
|
-
if (nestedHeadingMarkdownNodesLength > 0) {
|
|
35
|
-
const { ContentsListReplacement } = ContentsItemReplacement,
|
|
36
|
-
contentsListReplacement = ContentsListReplacement.fromNestedHeadingMarkdownNodes(nestedHeadingMarkdownNodes, context),
|
|
37
|
-
replacement = contentsListReplacement; ///
|
|
38
|
-
|
|
39
|
-
replacements.push(replacement);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
const contentsItemMarkdownNode = ContentsItemMarkdownNode.fromReplacements(replacements),
|
|
43
|
-
node = contentsItemMarkdownNode, ///
|
|
44
|
-
tokens = [];
|
|
45
|
-
|
|
46
|
-
replacements.forEach((replacement) => {
|
|
47
|
-
replacement.getTokens(tokens);
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
const contentsItemReplacement = Replacement.fromNodeAndTokens(ContentsItemReplacement, node, tokens);
|
|
51
|
-
|
|
52
|
-
return contentsItemReplacement;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import Replacement from "../replacement";
|
|
4
|
-
import FootnotesItemMarkdownNode from "../node/markdown/footnotesItem";
|
|
5
|
-
|
|
6
|
-
export default class FootnotesItemReplacement extends Replacement {
|
|
7
|
-
getFootnotesItemMarkdownNode() {
|
|
8
|
-
const node = this.getNode(),
|
|
9
|
-
footnotesItemMarkdownNode = node; ///
|
|
10
|
-
|
|
11
|
-
return footnotesItemMarkdownNode;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
static fromNode(node, context) { return Replacement.fromNode(FootnotesItemReplacement, node, context); }
|
|
15
|
-
|
|
16
|
-
static fromFootnoteReplacementAndIdentifier(footnoteReplacement, identifier) {
|
|
17
|
-
const footnoteMarkdownNode = footnoteReplacement.getFootnoteMarkdownNode(),
|
|
18
|
-
footnotesItemMarkdownNode = FootnotesItemMarkdownNode.fromFootnotesMarkdownNodeAndIdentifier(footnoteMarkdownNode, identifier),
|
|
19
|
-
ascendantNode = footnotesItemMarkdownNode, ///
|
|
20
|
-
footnotesItemReplacement = footnoteReplacement.expand(FootnotesItemReplacement, ascendantNode);
|
|
21
|
-
|
|
22
|
-
return footnotesItemReplacement;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import Replacement from "../replacement";
|
|
4
|
-
import FootnotesItemReplacement from "../replacement/footnotesItem";
|
|
5
|
-
import FootnotesListMarkdownNode from "../node/markdown/footnotesList";
|
|
6
|
-
|
|
7
|
-
import { footnoteLinkMarkdownNodesFromNode } from "../utilities/query";
|
|
8
|
-
|
|
9
|
-
export default class FootnotesListReplacement extends Replacement {
|
|
10
|
-
replaceFootnotesDirectiveSubDivisionReplacement(footnotesDirectiveSubDivisionReplacement, divisionMarkdownNode, context) {
|
|
11
|
-
const subDivisionMarkdownNode = footnotesDirectiveSubDivisionReplacement.getSubDivisionMarkdownNode(),
|
|
12
|
-
replacedNode = subDivisionMarkdownNode, ///
|
|
13
|
-
parentNode = divisionMarkdownNode; ///
|
|
14
|
-
|
|
15
|
-
super.replace(replacedNode, parentNode, context)
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
static fromDivisionMarkdownNodeAndFootnoteReplacementMap(divisionMarkdownNode, footnoteReplacementMap, context) {
|
|
19
|
-
let footnotesListReplacement = null;
|
|
20
|
-
|
|
21
|
-
const node = divisionMarkdownNode, ///
|
|
22
|
-
start = startFromFootnoteReplacementMap(footnoteReplacementMap),
|
|
23
|
-
footnoteLinkMarkdownNodes = footnoteLinkMarkdownNodesFromNode(node),
|
|
24
|
-
footnotesItemReplacements = [];
|
|
25
|
-
|
|
26
|
-
let number = start;
|
|
27
|
-
|
|
28
|
-
footnoteLinkMarkdownNodes.forEach((footnoteLinkMarkdownNode) => {
|
|
29
|
-
const identifier = footnoteLinkMarkdownNode.identifier(context),
|
|
30
|
-
footnoteReplacement = footnoteReplacementMap[identifier] || null;
|
|
31
|
-
|
|
32
|
-
if (footnoteReplacement !== null) {
|
|
33
|
-
const footnoteReplacementUnnumbered = footnoteReplacement.isUnnumbered();
|
|
34
|
-
|
|
35
|
-
if (footnoteReplacementUnnumbered) {
|
|
36
|
-
const footnotesItemReplacement = FootnotesItemReplacement.fromFootnoteReplacementAndIdentifier(footnoteReplacement, identifier, context);
|
|
37
|
-
|
|
38
|
-
footnotesItemReplacements.push(footnotesItemReplacement);
|
|
39
|
-
|
|
40
|
-
footnoteReplacement.setNumber(number);
|
|
41
|
-
|
|
42
|
-
number++;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
const footnotesItemReplacementsLength = footnotesItemReplacements.length;
|
|
48
|
-
|
|
49
|
-
if (footnotesItemReplacementsLength > 0) {
|
|
50
|
-
const footnotesListMarkdownNode = FootnotesListMarkdownNode.fromFootnotesItemReplacementsAndStart(footnotesItemReplacements, start),
|
|
51
|
-
node = footnotesListMarkdownNode, ///
|
|
52
|
-
tokens = [];
|
|
53
|
-
|
|
54
|
-
footnotesItemReplacements.forEach((footnotesItemReplacement) => {
|
|
55
|
-
footnotesItemReplacement.getTokens(tokens);
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
footnotesListReplacement = Replacement.fromNodeAndTokens(FootnotesListReplacement, node, tokens);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return footnotesListReplacement;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
function startFromFootnoteReplacementMap(footnoteReplacementMap) {
|
|
66
|
-
const footnoteReplacements = Object.values(footnoteReplacementMap), ///
|
|
67
|
-
numberedFootnoteReplacements = footnoteReplacements.filter((footnoteReplacement) => {
|
|
68
|
-
const footnoteReplacementNumbered = footnoteReplacement.isNumbered();
|
|
69
|
-
|
|
70
|
-
if (footnoteReplacementNumbered) {
|
|
71
|
-
return true;
|
|
72
|
-
}
|
|
73
|
-
}),
|
|
74
|
-
numberedFootnoteReplacementsLength = numberedFootnoteReplacements.length,
|
|
75
|
-
start = numberedFootnoteReplacementsLength + 1;
|
|
76
|
-
|
|
77
|
-
return start;
|
|
78
|
-
}
|
package/src/replacement/index.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import letters from "../letters";
|
|
4
|
-
import IndexList from "../index/list";
|
|
5
|
-
import Replacement from "../replacement";
|
|
6
|
-
import IndexListReplacement from "../replacement/indexList";
|
|
7
|
-
import IndexHeadingReplacement from "./indexHeading";
|
|
8
|
-
|
|
9
|
-
import { replaceNodes, replaceTokens } from "../utilities/replacement";
|
|
10
|
-
|
|
11
|
-
export default class IndexReplacement extends Replacement {
|
|
12
|
-
constructor(node, tokens, nodes) {
|
|
13
|
-
super(node, tokens);
|
|
14
|
-
|
|
15
|
-
this.nodes = nodes;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
getNodes() {
|
|
19
|
-
return this.nodes;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
replace(replacedNode, parentNode, context) {
|
|
23
|
-
let tokens;
|
|
24
|
-
|
|
25
|
-
tokens = this.getTokens();
|
|
26
|
-
|
|
27
|
-
const replacementNodes = this.nodes, ///
|
|
28
|
-
replacementTokens = tokens; ///
|
|
29
|
-
|
|
30
|
-
({ tokens } = context);
|
|
31
|
-
|
|
32
|
-
replaceNodes(replacementNodes, replacedNode, parentNode);
|
|
33
|
-
|
|
34
|
-
replaceTokens(replacementTokens, replacedNode, tokens);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
replaceIndexDirectiveSubdivisionReplacement(indexDirectiveSubDivisionReplacement, divisionMarkdownNode, context) {
|
|
38
|
-
const subDivisionMarkdownNode = indexDirectiveSubDivisionReplacement.getSubDivisionMarkdownNode(),
|
|
39
|
-
replacedNode = subDivisionMarkdownNode, ///
|
|
40
|
-
parentNode = divisionMarkdownNode; ///
|
|
41
|
-
|
|
42
|
-
this.replace(replacedNode, parentNode, context)
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
static fromDivisionMarkdownNodesAndDivisionMarkdownNode(divisionMarkdownNodes, divisionMarkdownNode, context) {
|
|
46
|
-
let indexReplacement = null;
|
|
47
|
-
|
|
48
|
-
const indexList = IndexList.fromDivisionMarkdownNodes(divisionMarkdownNodes, context),
|
|
49
|
-
indexReplacements = [];
|
|
50
|
-
|
|
51
|
-
letters.forEach((letter) => {
|
|
52
|
-
const indexListReplacement = IndexListReplacement.fromIndexListAndLetter(indexList, letter, context);
|
|
53
|
-
|
|
54
|
-
if (indexListReplacement !== null) {
|
|
55
|
-
let indexReplacement;
|
|
56
|
-
|
|
57
|
-
const indexHeadingReplacement = IndexHeadingReplacement.fromLetter(letter, context);
|
|
58
|
-
|
|
59
|
-
indexReplacement = indexHeadingReplacement; ///
|
|
60
|
-
|
|
61
|
-
indexReplacements.push(indexReplacement);
|
|
62
|
-
|
|
63
|
-
indexReplacement = indexListReplacement; ///
|
|
64
|
-
|
|
65
|
-
indexReplacements.push(indexReplacement);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
const indexListReplacementsLength = indexReplacements.length;
|
|
70
|
-
|
|
71
|
-
if (indexListReplacementsLength > 0) {
|
|
72
|
-
const node = null,
|
|
73
|
-
nodes = [],
|
|
74
|
-
tokens = [];
|
|
75
|
-
|
|
76
|
-
indexReplacements.forEach((indexReplacement) => {
|
|
77
|
-
const node = indexReplacement.getNode();
|
|
78
|
-
|
|
79
|
-
indexReplacement.getTokens(tokens);
|
|
80
|
-
|
|
81
|
-
nodes.push(node);
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
indexReplacement = Replacement.fromNodeAndTokens(IndexReplacement, node, tokens, nodes);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
return indexReplacement;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import Replacement from "../replacement";
|
|
4
|
-
import IndexItemReplacement from "../replacement/indexItem";
|
|
5
|
-
import IndexListMarkdownNode from "../node/markdown/indexList";
|
|
6
|
-
|
|
7
|
-
export default class IndexListReplacement extends Replacement {
|
|
8
|
-
static fromIndexListAndLetter(indexList, letter, context) {
|
|
9
|
-
let indexListReplacement = null;
|
|
10
|
-
|
|
11
|
-
const indexItemReplacements = indexList.reduceIndexItemByLetter(letter, (indexItem) => {
|
|
12
|
-
const indexItemReplacement = IndexItemReplacement.fromIndexItem(indexItem, context);
|
|
13
|
-
|
|
14
|
-
return indexItemReplacement;
|
|
15
|
-
}),
|
|
16
|
-
indexItemReplacementsLength = indexItemReplacements.length;
|
|
17
|
-
|
|
18
|
-
if (indexItemReplacementsLength > 0) {
|
|
19
|
-
const indexListMarkdownNode = IndexListMarkdownNode.fromIndexItemReplacements(indexItemReplacements),
|
|
20
|
-
node = indexListMarkdownNode, ///
|
|
21
|
-
tokens = [];
|
|
22
|
-
|
|
23
|
-
indexItemReplacements.forEach((indexItemReplacement) => {
|
|
24
|
-
indexItemReplacement.getTokens(tokens);
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
indexListReplacement = Replacement.fromNodeAndTokens(IndexListReplacement, node, tokens);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return indexListReplacement;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import SubDivisionReplacement from "../../replacement/subDivision";
|
|
4
|
-
|
|
5
|
-
import { contentsDirectiveMarkdownNodeFromNode } from "../../utilities/query";
|
|
6
|
-
|
|
7
|
-
export default class ContentsDirectiveSubDivisionReplacement extends SubDivisionReplacement {
|
|
8
|
-
static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
|
|
9
|
-
let contentsDirectiveSubDivisionReplacement = null;
|
|
10
|
-
|
|
11
|
-
const node = subDivisionMarkdownNode, ///
|
|
12
|
-
contentsDirectiveMarkdownNode = contentsDirectiveMarkdownNodeFromNode(node);
|
|
13
|
-
|
|
14
|
-
if (contentsDirectiveMarkdownNode !== null) {
|
|
15
|
-
contentsDirectiveSubDivisionReplacement = SubDivisionReplacement.fromSubDivisionMarkdownNode(ContentsDirectiveSubDivisionReplacement, subDivisionMarkdownNode, context);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
return contentsDirectiveSubDivisionReplacement;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { arrayUtilities } from "necessary";
|
|
4
|
-
|
|
5
|
-
import SubDivisionReplacement from "../../replacement/subDivision";
|
|
6
|
-
|
|
7
|
-
import { embedDirectiveMarkdownNodesFromNode } from "../../utilities/query";
|
|
8
|
-
|
|
9
|
-
const { backwardsForEach } = arrayUtilities;
|
|
10
|
-
|
|
11
|
-
export default class EmbedDirectivesSubDivisionReplacement extends SubDivisionReplacement {
|
|
12
|
-
constructor(node, tokens, subDivisionMarkdownNode, embedDirectiveMarkdownNodes) {
|
|
13
|
-
super(node, tokens, subDivisionMarkdownNode);
|
|
14
|
-
|
|
15
|
-
this.embedDirectiveMarkdownNodes = embedDirectiveMarkdownNodes;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
getEmbedDirectiveMarkdownNodes() {
|
|
19
|
-
return this.embedDirectiveMarkdownNodes;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
replaceSubDivisionMarkdownNode(divisionMarkdownNode, context) {
|
|
23
|
-
const subDivisionMarkdownNodes = [],
|
|
24
|
-
subDivisionMarkdownNode = this.getSubDivisionMarkdownNode();
|
|
25
|
-
|
|
26
|
-
backwardsForEach(this.embedDirectiveMarkdownNodes, (embedDirectiveMarkdownNode) => {
|
|
27
|
-
const embedDirectiveReplacement = embedDirectiveMarkdownNode.resolve(context);
|
|
28
|
-
|
|
29
|
-
if (embedDirectiveReplacement !== null) {
|
|
30
|
-
embedDirectiveReplacement.addAfterSubDivisionMarkdownNode(subDivisionMarkdownNode, divisionMarkdownNode, subDivisionMarkdownNodes, context);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
this.removeFromDivisionMarkdownNode(divisionMarkdownNode, context);
|
|
35
|
-
|
|
36
|
-
return subDivisionMarkdownNodes;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
|
|
40
|
-
let embedDirectivesSubDivisionReplacement = null;
|
|
41
|
-
|
|
42
|
-
const node = subDivisionMarkdownNode, ///
|
|
43
|
-
embedDirectiveMarkdownNodes = embedDirectiveMarkdownNodesFromNode(node),
|
|
44
|
-
embedDirectiveMarkdownNodesLength = embedDirectiveMarkdownNodes.length;
|
|
45
|
-
|
|
46
|
-
if (embedDirectiveMarkdownNodesLength > 0) {
|
|
47
|
-
embedDirectivesSubDivisionReplacement = SubDivisionReplacement.fromSubDivisionMarkdownNode(EmbedDirectivesSubDivisionReplacement, subDivisionMarkdownNode, embedDirectiveMarkdownNodes, context);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return embedDirectivesSubDivisionReplacement;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import SubDivisionReplacement from "../../replacement/subDivision";
|
|
4
|
-
|
|
5
|
-
import { footnotesDirectiveMarkdownNodeFromNode } from "../../utilities/query";
|
|
6
|
-
|
|
7
|
-
export default class FootnotesDirectiveSubDivisionReplacement extends SubDivisionReplacement {
|
|
8
|
-
static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
|
|
9
|
-
let footnotesDirectiveSubDivisionReplacement = null;
|
|
10
|
-
|
|
11
|
-
const node = subDivisionMarkdownNode, ///
|
|
12
|
-
footnotesDirectiveMarkdownNode = footnotesDirectiveMarkdownNodeFromNode(node);
|
|
13
|
-
|
|
14
|
-
if (footnotesDirectiveMarkdownNode !== null) {
|
|
15
|
-
footnotesDirectiveSubDivisionReplacement = SubDivisionReplacement.fromSubDivisionMarkdownNode(FootnotesDirectiveSubDivisionReplacement, subDivisionMarkdownNode, context);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
return footnotesDirectiveSubDivisionReplacement;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import SubDivisionReplacement from "../../replacement/subDivision";
|
|
4
|
-
|
|
5
|
-
import { includeDirectiveMarkdownNodesFromNode } from "../../utilities/query";
|
|
6
|
-
|
|
7
|
-
export default class IncludeDirectivesSubDivisionReplacement extends SubDivisionReplacement {
|
|
8
|
-
constructor(node, tokens, subDivisionMarkdownNode, includeDirectiveMarkdownNodes) {
|
|
9
|
-
super(node, tokens, subDivisionMarkdownNode);
|
|
10
|
-
|
|
11
|
-
this.includeDirectiveMarkdownNodes = includeDirectiveMarkdownNodes;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
getIncludeDirectiveMarkdownNodes() {
|
|
15
|
-
return this.includeDirectiveMarkdownNodes;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
removeFromDivisionMarkdownNode(divisionMarkdownNode, context) {
|
|
19
|
-
const ignored = divisionMarkdownNode.isIgnored();
|
|
20
|
-
|
|
21
|
-
if (ignored) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
super.removeFromDivisionMarkdownNode(divisionMarkdownNode, context);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
removeSubDivisionMarkdownNode(divisionMarkdownNode, context) {
|
|
29
|
-
this.includeDirectiveMarkdownNodes.forEach((includeDirectiveMarkdownNode) => {
|
|
30
|
-
const includeDirectiveReplacement = includeDirectiveMarkdownNode.resolve(context);
|
|
31
|
-
|
|
32
|
-
if (includeDirectiveReplacement !== null) {
|
|
33
|
-
const divisionMarkdownNode = includeDirectiveReplacement.getDivisionMarkdownNode(),
|
|
34
|
-
subDivisionMarkdownNodes = includeDirectiveReplacement.addDivisionMarkdownNode(context);
|
|
35
|
-
|
|
36
|
-
subDivisionMarkdownNodes.forEach((subDivisionMarkdownNode) => {
|
|
37
|
-
subDivisionMarkdownNode.resolveIncludes(divisionMarkdownNode, context);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
this.removeFromDivisionMarkdownNode(divisionMarkdownNode, context);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
|
|
46
|
-
let includeDirectivesSubDivisionReplacement = null;
|
|
47
|
-
|
|
48
|
-
const node = subDivisionMarkdownNode, ///
|
|
49
|
-
includeDirectiveMarkdownNodes = includeDirectiveMarkdownNodesFromNode(node),
|
|
50
|
-
includeDirectiveMarkdownNodesLength = includeDirectiveMarkdownNodes.length;
|
|
51
|
-
|
|
52
|
-
if (includeDirectiveMarkdownNodesLength > 0) {
|
|
53
|
-
includeDirectivesSubDivisionReplacement = SubDivisionReplacement.fromSubDivisionMarkdownNode(IncludeDirectivesSubDivisionReplacement, subDivisionMarkdownNode, includeDirectiveMarkdownNodes, context);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
return includeDirectivesSubDivisionReplacement;
|
|
57
|
-
}
|
|
58
|
-
}
|