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,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import SubDivisionReplacement from "../../replacement/subDivision";
|
|
4
|
-
|
|
5
|
-
import { indexDirectiveMarkdownNodeFromNode } from "../../utilities/query";
|
|
6
|
-
|
|
7
|
-
export default class IndexDirectiveSubDivisionReplacement extends SubDivisionReplacement {
|
|
8
|
-
static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
|
|
9
|
-
let indexDirectiveSubDivisionReplacement = null;
|
|
10
|
-
|
|
11
|
-
const node = subDivisionMarkdownNode, ///
|
|
12
|
-
indexDirectiveMarkdownNode = indexDirectiveMarkdownNodeFromNode(node);
|
|
13
|
-
|
|
14
|
-
if (indexDirectiveMarkdownNode !== null) {
|
|
15
|
-
indexDirectiveSubDivisionReplacement = SubDivisionReplacement.fromSubDivisionMarkdownNode(IndexDirectiveSubDivisionReplacement, subDivisionMarkdownNode, context);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
return indexDirectiveSubDivisionReplacement;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import SubDivisionReplacement from "../../replacement/subDivision";
|
|
4
|
-
|
|
5
|
-
import { pageNumberDirectiveMarkdownNodeFromNode } from "../../utilities/query";
|
|
6
|
-
|
|
7
|
-
export default class PageNumberDirectiveSubDivisionReplacement extends SubDivisionReplacement {
|
|
8
|
-
static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
|
|
9
|
-
let pageNumberDirectiveSubDivisionReplacement = null;
|
|
10
|
-
|
|
11
|
-
const node = subDivisionMarkdownNode, ///
|
|
12
|
-
pageNumberDirectiveMarkdownNode = pageNumberDirectiveMarkdownNodeFromNode(node);
|
|
13
|
-
|
|
14
|
-
if (pageNumberDirectiveMarkdownNode !== null) {
|
|
15
|
-
pageNumberDirectiveSubDivisionReplacement = SubDivisionReplacement.fromSubDivisionMarkdownNode(PageNumberDirectiveSubDivisionReplacement, subDivisionMarkdownNode, context);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
return pageNumberDirectiveSubDivisionReplacement;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import Replacement from "../replacement";
|
|
4
|
-
|
|
5
|
-
export default class SubDivisionReplacement extends Replacement {
|
|
6
|
-
constructor(node, tokens, subDivisionMarkdownNode) {
|
|
7
|
-
super(node, tokens);
|
|
8
|
-
|
|
9
|
-
this.subDivisionMarkdownNode = subDivisionMarkdownNode;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
getSubDivisionMarkdownNode() {
|
|
13
|
-
return this.subDivisionMarkdownNode;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
appendToDivisionMarkdownNode(divisionMarkdownNode, context) {
|
|
17
|
-
const parentNode = divisionMarkdownNode; ///
|
|
18
|
-
|
|
19
|
-
super.appendTo(parentNode, context);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
prependToDivisionMarkdownNode(divisionMarkdownNode, context) {
|
|
23
|
-
const parentNode = divisionMarkdownNode; ///
|
|
24
|
-
|
|
25
|
-
super.prependTo(parentNode, context);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
removeFromDivisionMarkdownNode(divisionMarkdownNode, context) {
|
|
29
|
-
const removedNode = this.subDivisionMarkdownNode, ///
|
|
30
|
-
parentNode = divisionMarkdownNode;
|
|
31
|
-
|
|
32
|
-
super.removeFrom(removedNode, parentNode, context);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
static fromSubDivisionMarkdownNode(Class, subDivisionMarkdownNode, ...remainingArguments) {
|
|
36
|
-
const node = subDivisionMarkdownNode, ///
|
|
37
|
-
subDivisionReplacement = Replacement.fromNode(Class, node, subDivisionMarkdownNode, ...remainingArguments);
|
|
38
|
-
|
|
39
|
-
return subDivisionReplacement;
|
|
40
|
-
}
|
|
41
|
-
}
|
package/src/replacement.js
DELETED
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { arrayUtilities } from "necessary";
|
|
4
|
-
|
|
5
|
-
import { appendNode,
|
|
6
|
-
prependNode,
|
|
7
|
-
removeNode,
|
|
8
|
-
replaceNode,
|
|
9
|
-
addNodesAfter,
|
|
10
|
-
appendTokens,
|
|
11
|
-
prependTokens,
|
|
12
|
-
removeTokens,
|
|
13
|
-
replaceTokens,
|
|
14
|
-
addTokensAfter,
|
|
15
|
-
overwriteClonedNodeTokens,
|
|
16
|
-
clonedTokensFromNodeAndTokens, } from "./utilities/replacement";
|
|
17
|
-
|
|
18
|
-
const { push } = arrayUtilities;
|
|
19
|
-
|
|
20
|
-
export default class Replacement {
|
|
21
|
-
constructor(node, tokens) {
|
|
22
|
-
this.node = node;
|
|
23
|
-
this.tokens = tokens;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
getNode() {
|
|
27
|
-
return this.node;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
getTokens(tokens = []) {
|
|
31
|
-
push(tokens, this.tokens);
|
|
32
|
-
|
|
33
|
-
return this.tokens;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
contract(Class, descendentNode, ...remainingArguments) {
|
|
37
|
-
if (descendentNode === undefined) {
|
|
38
|
-
descendentNode = Class; ///
|
|
39
|
-
|
|
40
|
-
Class = Replacement; ///
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const node = descendentNode, ///
|
|
44
|
-
tokens = this.tokens, ///
|
|
45
|
-
context = { ///
|
|
46
|
-
tokens
|
|
47
|
-
},
|
|
48
|
-
replacement = Class.fromNode(node, ...remainingArguments, context);
|
|
49
|
-
|
|
50
|
-
return replacement;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
expand(Class, ascendantNode, ...remainingArguments) {
|
|
54
|
-
if (ascendantNode === undefined) {
|
|
55
|
-
ascendantNode = Class;
|
|
56
|
-
|
|
57
|
-
Class = Replacement; ///
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const node = ascendantNode, ///
|
|
61
|
-
tokens = this.tokens, ///
|
|
62
|
-
context = {
|
|
63
|
-
tokens
|
|
64
|
-
},
|
|
65
|
-
replacement = Class.fromNode(node, ...remainingArguments, context);
|
|
66
|
-
|
|
67
|
-
return replacement;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
appendTo(parentNode, context) {
|
|
71
|
-
const { tokens } = context,
|
|
72
|
-
appendedNode = this.node, ///
|
|
73
|
-
appendedTokens = this.tokens; ///
|
|
74
|
-
|
|
75
|
-
appendNode(appendedNode, parentNode);
|
|
76
|
-
|
|
77
|
-
appendTokens(appendedTokens, parentNode, tokens);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
prependTo(parentNode, context) {
|
|
81
|
-
const { tokens } = context,
|
|
82
|
-
prependedNode = this.node, ///
|
|
83
|
-
prependedTokens = this.tokens; ///
|
|
84
|
-
|
|
85
|
-
prependNode(prependedNode, parentNode);
|
|
86
|
-
|
|
87
|
-
prependTokens(prependedTokens, parentNode, tokens);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
addAfter(existingNode, parentNode, context) {
|
|
91
|
-
const { tokens } = context,
|
|
92
|
-
markdownNode = this.node, ///
|
|
93
|
-
removedChildNodes = markdownNode.removeChildNodes(),
|
|
94
|
-
addedTokens = this.tokens, ///
|
|
95
|
-
addedNodes = removedChildNodes; ///
|
|
96
|
-
|
|
97
|
-
addNodesAfter(existingNode, addedNodes, parentNode);
|
|
98
|
-
|
|
99
|
-
addTokensAfter(existingNode, addedTokens, tokens);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
replace(replacedNode, parentNode, context) {
|
|
103
|
-
const { tokens } = context,
|
|
104
|
-
replacementNode = this.node, ///
|
|
105
|
-
replacementTokens = this.tokens; ///
|
|
106
|
-
|
|
107
|
-
replaceNode(replacementNode, replacedNode, parentNode);
|
|
108
|
-
|
|
109
|
-
replaceTokens(replacementTokens, replacedNode, tokens);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
removeFrom(removedNode, parentNode, context) {
|
|
113
|
-
const { tokens } = context;
|
|
114
|
-
|
|
115
|
-
removeTokens(removedNode, tokens);
|
|
116
|
-
|
|
117
|
-
removeNode(removedNode, parentNode);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
clone(...remainingArguments) {
|
|
121
|
-
const clonedNode = this.node.clone(),
|
|
122
|
-
clonedTokens = clonedTokensFromNodeAndTokens(this.node, this.tokens);
|
|
123
|
-
|
|
124
|
-
overwriteClonedNodeTokens(clonedNode, clonedTokens, this.tokens);
|
|
125
|
-
|
|
126
|
-
const Class = this.constructor, ///
|
|
127
|
-
node = clonedNode, ///
|
|
128
|
-
tokens = clonedTokens, ///
|
|
129
|
-
replacement = new Class(node, tokens, ...remainingArguments);
|
|
130
|
-
|
|
131
|
-
return replacement
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
static fromNode(Class, node, ...remainingArguments) {
|
|
135
|
-
let context = remainingArguments.pop();
|
|
136
|
-
|
|
137
|
-
if (context === undefined) {
|
|
138
|
-
context = node; ///
|
|
139
|
-
|
|
140
|
-
node = Class; ///
|
|
141
|
-
|
|
142
|
-
Class = Replacement; ///
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
let { tokens } = context;
|
|
146
|
-
|
|
147
|
-
const firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens),
|
|
148
|
-
clonedNode = node.clone();
|
|
149
|
-
|
|
150
|
-
let clonedTokens;
|
|
151
|
-
|
|
152
|
-
if (firstSignificantTokenIndex === null) {
|
|
153
|
-
clonedTokens = [];
|
|
154
|
-
} else {
|
|
155
|
-
const offset = firstSignificantTokenIndex; ///
|
|
156
|
-
|
|
157
|
-
clonedTokens = clonedTokensFromNodeAndTokens(node, tokens);
|
|
158
|
-
|
|
159
|
-
overwriteClonedNodeTokens(clonedNode, clonedTokens, tokens, offset);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
node = clonedNode; ///
|
|
163
|
-
|
|
164
|
-
tokens = clonedTokens; ///
|
|
165
|
-
|
|
166
|
-
const replacement = new Class(node, tokens, ...remainingArguments);
|
|
167
|
-
|
|
168
|
-
return replacement;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
static fromNodeAndTokens(Class, node, tokens, ...remainingArguments) {
|
|
172
|
-
if (tokens === undefined) {
|
|
173
|
-
tokens = node; ///
|
|
174
|
-
|
|
175
|
-
node = Class; ///
|
|
176
|
-
|
|
177
|
-
Class = Replacement; ///
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
const replacement = new Class(node, tokens, ...remainingArguments);
|
|
181
|
-
|
|
182
|
-
return replacement;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import CommaHTMLNode from "./node/html/comma";
|
|
4
|
-
import AnchorHTMLNode from "./node/html/anchor";
|
|
5
|
-
import ClassNameHTMLNode from "./node/html/className";
|
|
6
|
-
import BlockLineHTMLNode from "./node/html/blockLine";
|
|
7
|
-
import OrderedItemHTMLNode from "./node/html/item/ordered";
|
|
8
|
-
import ContentsLinkHTMLNode from "./node/html/contentsLink";
|
|
9
|
-
import BlockListingHTMLNode from "./node/html/blockListing";
|
|
10
|
-
import BlockListingHEndHTMLNode from "./node/html/blockListingEnd";
|
|
11
|
-
import BlockListingHStartHTMLNode from "./node/html/blockListingStart";
|
|
12
|
-
import PageNumberDirectiveHTMLNode from "./node/html/directive/pageNumber";
|
|
13
|
-
|
|
14
|
-
import { COMMA_RULE_NAME,
|
|
15
|
-
ANCHOR_RULE_NAME,
|
|
16
|
-
CLASS_NAME_RULE_NAME,
|
|
17
|
-
BLOCK_LINE_RULE_NAME,
|
|
18
|
-
ORDERED_ITEM_RULE_NAME,
|
|
19
|
-
CONTENTS_LINK_RULE_NAME,
|
|
20
|
-
BLOCK_LISTING_RULE_NAME,
|
|
21
|
-
BLOCK_LISTING_END_RULE_NAME,
|
|
22
|
-
BLOCK_LISTING_START_RULE_NAME,
|
|
23
|
-
PAGE_NUMBER_DIRECTIVE_RULE_NAME } from "./ruleNames";
|
|
24
|
-
|
|
25
|
-
const ruleNameToClassMap = {
|
|
26
|
-
[COMMA_RULE_NAME]: CommaHTMLNode,
|
|
27
|
-
[ANCHOR_RULE_NAME]: AnchorHTMLNode,
|
|
28
|
-
[CLASS_NAME_RULE_NAME]: ClassNameHTMLNode,
|
|
29
|
-
[BLOCK_LINE_RULE_NAME]: BlockLineHTMLNode,
|
|
30
|
-
[ORDERED_ITEM_RULE_NAME]: OrderedItemHTMLNode,
|
|
31
|
-
[CONTENTS_LINK_RULE_NAME]: ContentsLinkHTMLNode,
|
|
32
|
-
[BLOCK_LISTING_RULE_NAME]: BlockListingHTMLNode,
|
|
33
|
-
[BLOCK_LISTING_END_RULE_NAME]: BlockListingHEndHTMLNode,
|
|
34
|
-
[BLOCK_LISTING_START_RULE_NAME]: BlockListingHStartHTMLNode,
|
|
35
|
-
[PAGE_NUMBER_DIRECTIVE_RULE_NAME]: PageNumberDirectiveHTMLNode
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export default ruleNameToClassMap;
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { arrayUtilities } from "necessary";
|
|
4
|
-
|
|
5
|
-
import { EMPTY_STRING } from "../constants";
|
|
6
|
-
import { contentFromNodes } from "../utilities/content";
|
|
7
|
-
|
|
8
|
-
const { first, last, clear } = arrayUtilities;
|
|
9
|
-
|
|
10
|
-
export function htmlFromMarkdownNode(markdownNode, context) {
|
|
11
|
-
const htmls = [],
|
|
12
|
-
plainTextMarkdownNodes = [];
|
|
13
|
-
|
|
14
|
-
markdownNode.forEachChildNode((childNode) => {
|
|
15
|
-
const childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
16
|
-
|
|
17
|
-
if (childNodeNonTerminalNode) {
|
|
18
|
-
const nonTerminalNode = childNode, ///
|
|
19
|
-
markdownNode = nonTerminalNode, ///
|
|
20
|
-
markdownNodePlainTextMarkdownNode = markdownNode.isPlainTextMarkdownNode();
|
|
21
|
-
|
|
22
|
-
if (markdownNodePlainTextMarkdownNode) {
|
|
23
|
-
const plainTextMarkdownNode = markdownNode; ///
|
|
24
|
-
|
|
25
|
-
plainTextMarkdownNodes.push(plainTextMarkdownNode);
|
|
26
|
-
} else {
|
|
27
|
-
const content = contentFromPlainTextMarkdownNodes(plainTextMarkdownNodes, markdownNode, context);
|
|
28
|
-
|
|
29
|
-
if (content !== null) {
|
|
30
|
-
const html = content; ///
|
|
31
|
-
|
|
32
|
-
htmls.push(html);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const indent = null,
|
|
36
|
-
html = markdownNode.asHTML(indent, context);
|
|
37
|
-
|
|
38
|
-
if (html !== null) {
|
|
39
|
-
htmls.push(html);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
const content = contentFromPlainTextMarkdownNodes(plainTextMarkdownNodes, markdownNode, context);
|
|
46
|
-
|
|
47
|
-
if (content !== null) {
|
|
48
|
-
const html = content; ///
|
|
49
|
-
|
|
50
|
-
htmls.push(html);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const html = htmls.join(EMPTY_STRING);
|
|
54
|
-
|
|
55
|
-
return html;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export function plainTextFromMarkdownNode(markdownNode, context) {
|
|
59
|
-
const plainTexts = [],
|
|
60
|
-
plainTextMarkdownNodes = [];
|
|
61
|
-
|
|
62
|
-
markdownNode.forEachChildNode((childNode) => {
|
|
63
|
-
const childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
64
|
-
|
|
65
|
-
if (childNodeNonTerminalNode) {
|
|
66
|
-
const nonTerminalNode = childNode, ///
|
|
67
|
-
markdownNode = nonTerminalNode, ///
|
|
68
|
-
markdownNodePlainTextMarkdownNode = markdownNode.isPlainTextMarkdownNode();
|
|
69
|
-
|
|
70
|
-
if (markdownNodePlainTextMarkdownNode) {
|
|
71
|
-
const plainTextMarkdownNode = markdownNode; ///
|
|
72
|
-
|
|
73
|
-
plainTextMarkdownNodes.push(plainTextMarkdownNode);
|
|
74
|
-
} else {
|
|
75
|
-
const content = contentFromPlainTextMarkdownNodes(plainTextMarkdownNodes, markdownNode, context);
|
|
76
|
-
|
|
77
|
-
if (content !== null) {
|
|
78
|
-
const plainText = content; ///
|
|
79
|
-
|
|
80
|
-
plainTexts.push(plainText);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
{
|
|
84
|
-
const plainText = plainTextFromMarkdownNode(markdownNode, context);
|
|
85
|
-
|
|
86
|
-
if (plainText !== EMPTY_STRING) {
|
|
87
|
-
plainTexts.push(plainText);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
const content = contentFromPlainTextMarkdownNodes(plainTextMarkdownNodes, markdownNode, context);
|
|
95
|
-
|
|
96
|
-
if (content !== null) {
|
|
97
|
-
const plainText = content; ///
|
|
98
|
-
|
|
99
|
-
plainTexts.push(plainText);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
const plainText = plainTexts.join(EMPTY_STRING);
|
|
103
|
-
|
|
104
|
-
return plainText;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
export function domElementsFromMarkdownNode(markdownNode, context) {
|
|
108
|
-
const domElements = [],
|
|
109
|
-
plainTextMarkdownNodes = [];
|
|
110
|
-
|
|
111
|
-
markdownNode.forEachChildNode((childNode) => {
|
|
112
|
-
const childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
113
|
-
|
|
114
|
-
if (childNodeNonTerminalNode) {
|
|
115
|
-
const nonTerminalNode = childNode, ///
|
|
116
|
-
markdownNode = nonTerminalNode, ///
|
|
117
|
-
markdownNodePlainTextMarkdownNode = markdownNode.isPlainTextMarkdownNode();
|
|
118
|
-
|
|
119
|
-
if (markdownNodePlainTextMarkdownNode) {
|
|
120
|
-
const plainTextMarkdownNode = markdownNode; ///
|
|
121
|
-
|
|
122
|
-
plainTextMarkdownNodes.push(plainTextMarkdownNode);
|
|
123
|
-
} else {
|
|
124
|
-
const content = contentFromPlainTextMarkdownNodes(plainTextMarkdownNodes, markdownNode, context);
|
|
125
|
-
|
|
126
|
-
if (content !== null) {
|
|
127
|
-
const textNode = document.createTextNode(content),
|
|
128
|
-
domElement = textNode; ///
|
|
129
|
-
|
|
130
|
-
domElements.push(domElement);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
const domElement = markdownNode.createDOMElement(context);
|
|
134
|
-
|
|
135
|
-
markdownNode.setDOMElement(domElement);
|
|
136
|
-
|
|
137
|
-
domElements.push(domElement);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
const content = contentFromPlainTextMarkdownNodes(plainTextMarkdownNodes, markdownNode, context);
|
|
143
|
-
|
|
144
|
-
if (content !== null) {
|
|
145
|
-
const textNode = document.createTextNode(content),
|
|
146
|
-
domElement = textNode; ///
|
|
147
|
-
|
|
148
|
-
domElements.push(domElement);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
return domElements;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
function contentFromPlainTextMarkdownNodes(plainTextMarkdownNodes, markdownNode, context) {
|
|
155
|
-
let content = null;
|
|
156
|
-
|
|
157
|
-
const plainTextMarkdownNodesLength = plainTextMarkdownNodes.length;
|
|
158
|
-
|
|
159
|
-
if (plainTextMarkdownNodesLength > 0) {
|
|
160
|
-
const childNodes = plainTextMarkdownNodes, ///
|
|
161
|
-
startChildNode = first(childNodes),
|
|
162
|
-
endChildNode = last(childNodes),
|
|
163
|
-
startChildNodeIndex = markdownNode.indexOfChildNode(startChildNode),
|
|
164
|
-
endChildNodeIndex = markdownNode.indexOfChildNode(endChildNode),
|
|
165
|
-
multiplicity = markdownNode.getMultiplicity(),
|
|
166
|
-
lastChildNodeIndex = multiplicity - 1,
|
|
167
|
-
firstChildNodeIndex = 0,
|
|
168
|
-
augmentLeft = (endChildNodeIndex !== firstChildNodeIndex),
|
|
169
|
-
augmentRight = (startChildNodeIndex !== lastChildNodeIndex), ///
|
|
170
|
-
nodes = childNodes; ///
|
|
171
|
-
|
|
172
|
-
content = contentFromNodes(nodes, augmentLeft, augmentRight, context);
|
|
173
|
-
|
|
174
|
-
clear(plainTextMarkdownNodes);
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
return content;
|
|
178
|
-
}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
export function postprocess(divisionMarkdownNode, context) {
|
|
4
|
-
let divisionMarkdownNodes;
|
|
5
|
-
|
|
6
|
-
divisionMarkdownNodes = resolveIncludes(divisionMarkdownNode, context);
|
|
7
|
-
|
|
8
|
-
resolveEmbeddings(divisionMarkdownNodes, context);
|
|
9
|
-
|
|
10
|
-
const footnoteReplacementMap = prepareFootnotes(divisionMarkdownNodes, context),
|
|
11
|
-
markdownNodes = paginate(divisionMarkdownNodes, context);
|
|
12
|
-
|
|
13
|
-
divisionMarkdownNodes = divisionMarkdownNodesFromMarkdownNodes(markdownNodes); ///
|
|
14
|
-
|
|
15
|
-
createFootnotes(divisionMarkdownNodes, footnoteReplacementMap, context);
|
|
16
|
-
|
|
17
|
-
createContents(divisionMarkdownNodes, context);
|
|
18
|
-
|
|
19
|
-
createIndex(divisionMarkdownNodes, context);
|
|
20
|
-
|
|
21
|
-
return markdownNodes;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function paginate(divisionMarkdownNodes, context) {
|
|
25
|
-
const pageNumber = 1,
|
|
26
|
-
markdownNOdes = [];
|
|
27
|
-
|
|
28
|
-
Object.assign(context, {
|
|
29
|
-
pageNumber
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
|
|
33
|
-
divisionMarkdownNode.paginate(markdownNOdes, context);
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
delete context.pageNumber;
|
|
37
|
-
|
|
38
|
-
return markdownNOdes;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function createIndex(divisionMarkdownNodes, context) {
|
|
42
|
-
divisionMarkdownNodes.some((divisionMarkdownNode) => {
|
|
43
|
-
const indexCreated = divisionMarkdownNode.createIndex(divisionMarkdownNodes, context);
|
|
44
|
-
|
|
45
|
-
if (indexCreated) {
|
|
46
|
-
return true;
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function createContents(divisionMarkdownNodes, context) {
|
|
52
|
-
divisionMarkdownNodes.some((divisionMarkdownNode) => {
|
|
53
|
-
const contentsCreated = divisionMarkdownNode.createContents(divisionMarkdownNodes, context);
|
|
54
|
-
|
|
55
|
-
if (contentsCreated) {
|
|
56
|
-
return true;
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
function createFootnotes(divisionMarkdownNodes, footnoteReplacementMap, context) {
|
|
62
|
-
divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
|
|
63
|
-
divisionMarkdownNode.createFootnotes(footnoteReplacementMap, context);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
function resolveIncludes(divisionMarkdownNode, context) {
|
|
68
|
-
const divisionMarkdownNodes = [];
|
|
69
|
-
|
|
70
|
-
Object.assign(context, {
|
|
71
|
-
divisionMarkdownNodes
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
const divisionMarkdownNodeIgnored = divisionMarkdownNode.isIgnored();
|
|
75
|
-
|
|
76
|
-
if (!divisionMarkdownNodeIgnored) {
|
|
77
|
-
divisionMarkdownNodes.push(divisionMarkdownNode);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
divisionMarkdownNode.resolveIncludes(context);
|
|
81
|
-
|
|
82
|
-
delete context.divisionMarkdownNodes;
|
|
83
|
-
|
|
84
|
-
return divisionMarkdownNodes;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
function prepareFootnotes(divisionMarkdownNodes, context) {
|
|
88
|
-
const footnoteReplacementMap = {};
|
|
89
|
-
|
|
90
|
-
divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
|
|
91
|
-
divisionMarkdownNode.prepareFootnotes(footnoteReplacementMap, context);
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
return footnoteReplacementMap;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
function resolveEmbeddings(divisionMarkdownNodes, context) {
|
|
98
|
-
divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
|
|
99
|
-
divisionMarkdownNode.resolveEmbeddings(context);
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
export function divisionMarkdownNodesFromMarkdownNodes(markdownNodes) {
|
|
104
|
-
const divisionMarkdownNodes = markdownNodes.reduce((divisionMarkdownNodes, markdownNode) => {
|
|
105
|
-
const markdownNodeDivisionMarkdownNode = markdownNode.isDivisionMarkdownNode();
|
|
106
|
-
|
|
107
|
-
if (markdownNodeDivisionMarkdownNode) {
|
|
108
|
-
const divisionMarkdownNode = markdownNode; ///
|
|
109
|
-
|
|
110
|
-
divisionMarkdownNodes.push(divisionMarkdownNode);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
return divisionMarkdownNodes;
|
|
114
|
-
}, []);
|
|
115
|
-
|
|
116
|
-
return divisionMarkdownNodes;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
export default {
|
|
120
|
-
postprocess,
|
|
121
|
-
divisionMarkdownNodesFromMarkdownNodes
|
|
122
|
-
}
|