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
package/src/node/html/topmost.js
CHANGED
|
@@ -1,20 +1,69 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { nodeUtilities} from "occam-dom";
|
|
4
|
+
import { arrayUtilities } from "necessary";
|
|
5
|
+
|
|
6
|
+
import queries from "../../queries";
|
|
3
7
|
import HTMLNode from "../../node/html";
|
|
8
|
+
import htmlNodeMap from "../../map/node/html";
|
|
4
9
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
let html;
|
|
10
|
+
const { push } = arrayUtilities,
|
|
11
|
+
{ topmostNodeFromOuterNodes } = nodeUtilities;
|
|
8
12
|
|
|
9
|
-
|
|
10
|
-
|
|
13
|
+
export default class TopmostHTMLNode extends HTMLNode {
|
|
14
|
+
adjustIndent(indent) {
|
|
15
|
+
return indent;
|
|
16
|
+
}
|
|
11
17
|
|
|
12
|
-
|
|
18
|
+
asString() {
|
|
19
|
+
const { tagName } = this.constructor,
|
|
20
|
+
string = tagName; ///
|
|
13
21
|
|
|
14
|
-
return
|
|
22
|
+
return string;
|
|
15
23
|
}
|
|
16
24
|
|
|
25
|
+
static tagName = "html";
|
|
26
|
+
|
|
27
|
+
static className = null;
|
|
28
|
+
|
|
17
29
|
static fromNothing() { return HTMLNode.fromNothing(TopmostHTMLNode); }
|
|
18
30
|
|
|
19
|
-
static
|
|
31
|
+
static fromTopmostMarkdownNode(topmostMarkdownNode) {
|
|
32
|
+
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
static fromDivisionMarkdownNode(divisionMarkdownNode) {
|
|
36
|
+
const node = divisionMarkdownNode, ///
|
|
37
|
+
nodes = nodesFromNodeAndQueries(node, queries),
|
|
38
|
+
topmostHTMLNode = topmostNodeFromOuterNodes(ClassFromOuterNode, nodes);
|
|
39
|
+
|
|
40
|
+
return topmostHTMLNode;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function ClassFromOuterNode(outerNode) {
|
|
45
|
+
let Class;
|
|
46
|
+
|
|
47
|
+
if (outerNode === null) {
|
|
48
|
+
Class = TopmostHTMLNode; ///
|
|
49
|
+
} else {
|
|
50
|
+
const nonTerminalNode = outerNode, ///
|
|
51
|
+
ruleName = nonTerminalNode.getRuleName();
|
|
52
|
+
|
|
53
|
+
Class = htmlNodeMap[ruleName] || HTMLNode;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return Class;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function nodesFromNodeAndQueries(node, queries) {
|
|
60
|
+
const nodes = [];
|
|
61
|
+
|
|
62
|
+
queries.forEach((query) => {
|
|
63
|
+
const queryNodes = query.execute(node);
|
|
64
|
+
|
|
65
|
+
push(nodes, queryNodes);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
return nodes;
|
|
20
69
|
}
|
package/src/node/html.js
CHANGED
|
@@ -2,42 +2,68 @@
|
|
|
2
2
|
|
|
3
3
|
import { Node } from "occam-dom";
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import nodeMixins from "../mixins/node";
|
|
6
6
|
|
|
7
7
|
import { EMPTY_STRING, DOUBLE_SPACE } from "../constants";
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
class HTMLNode extends Node {
|
|
10
|
+
constructor(outerNode, parentNode, childNodes, domElement) {
|
|
11
|
+
super(outerNode, parentNode, childNodes);
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
this.domElement = domElement;
|
|
14
|
+
}
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
getDOMElement() {
|
|
17
|
+
return this.domElement;
|
|
18
|
+
}
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
setDOMElement(domElement) {
|
|
21
|
+
this.domElement = domElement;
|
|
19
22
|
}
|
|
20
23
|
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
getMarkdownNode() {
|
|
25
|
+
const outerNode = this.getOuterNode(),
|
|
26
|
+
markdownNode = outerNode; ///
|
|
23
27
|
|
|
24
|
-
|
|
28
|
+
return markdownNode;
|
|
29
|
+
}
|
|
25
30
|
|
|
26
|
-
|
|
31
|
+
getRuleName() { return this.outerNode.getRuleName(); }
|
|
27
32
|
|
|
28
|
-
|
|
33
|
+
adjustIndent(indent) {
|
|
34
|
+
indent = (indent === null) ?
|
|
35
|
+
EMPTY_STRING :
|
|
36
|
+
`${DOUBLE_SPACE}${indent}`;
|
|
29
37
|
|
|
30
|
-
return
|
|
38
|
+
return indent;
|
|
31
39
|
}
|
|
32
40
|
|
|
33
|
-
|
|
34
|
-
let
|
|
41
|
+
lines(context) {
|
|
42
|
+
let lines;
|
|
43
|
+
|
|
44
|
+
({ lines = null } = this.constructor);
|
|
45
|
+
|
|
46
|
+
if (lines === null) {
|
|
47
|
+
lines = this.reduceChildNode((lines, childNode) => {
|
|
48
|
+
const childNodeLines = childNode.lines(context);
|
|
49
|
+
|
|
50
|
+
lines += childNodeLines;
|
|
51
|
+
|
|
52
|
+
return lines;
|
|
53
|
+
}, 0);
|
|
54
|
+
}
|
|
35
55
|
|
|
36
|
-
|
|
56
|
+
return lines;
|
|
57
|
+
}
|
|
37
58
|
|
|
38
|
-
|
|
59
|
+
tagName(context) {
|
|
60
|
+
const { tagName } = this.constructor;
|
|
39
61
|
|
|
40
|
-
|
|
62
|
+
return tagName;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
className(context) {
|
|
66
|
+
const { className } = this.constructor;
|
|
41
67
|
|
|
42
68
|
return className;
|
|
43
69
|
}
|
|
@@ -93,12 +119,56 @@ export default class HTMLNode extends Node {
|
|
|
93
119
|
return attributeValue;
|
|
94
120
|
}
|
|
95
121
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
EMPTY_STRING :
|
|
99
|
-
`${DOUBLE_SPACE}${indent}`;
|
|
122
|
+
createDOMElement(context) {
|
|
123
|
+
let domElement;
|
|
100
124
|
|
|
101
|
-
|
|
125
|
+
const tagName = this.tagName(context);
|
|
126
|
+
|
|
127
|
+
domElement = document.createElement(tagName);
|
|
128
|
+
|
|
129
|
+
const className = this.className(context),
|
|
130
|
+
attributeName = this.attributeName(context),
|
|
131
|
+
attributeValue = this.attributeValue(context);
|
|
132
|
+
|
|
133
|
+
if (className !== null) {
|
|
134
|
+
Object.assign(domElement, {
|
|
135
|
+
className
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
if ((attributeName !== null) && (attributeValue !== null)) {
|
|
140
|
+
domElement.setAttribute(attributeName, attributeValue);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
return domElement;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
mount(parentDOMElement, siblingDOMElement, context) {
|
|
147
|
+
this.domElement = this.createDOMElement(context);
|
|
148
|
+
|
|
149
|
+
parentDOMElement.insertBefore(this.domElement, siblingDOMElement)
|
|
150
|
+
|
|
151
|
+
parentDOMElement = this.domElement; ///
|
|
152
|
+
|
|
153
|
+
siblingDOMElement = null;
|
|
154
|
+
|
|
155
|
+
this.childNodes.forEach((childNode) => {
|
|
156
|
+
childNode.mount(parentDOMElement, siblingDOMElement, context);
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
unmount(parentDOMElement, context) {
|
|
161
|
+
{
|
|
162
|
+
const parentDOMElement = this.domElement; ///
|
|
163
|
+
|
|
164
|
+
this.childNodes.forEach((childNode) => {
|
|
165
|
+
childNode.unmount(parentDOMElement, context);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
parentDOMElement.removeChild(this.domElement);
|
|
170
|
+
|
|
171
|
+
this.domElement = null;
|
|
102
172
|
}
|
|
103
173
|
|
|
104
174
|
asHTML(indent, context) {
|
|
@@ -110,61 +180,69 @@ export default class HTMLNode extends Node {
|
|
|
110
180
|
|
|
111
181
|
let html;
|
|
112
182
|
|
|
113
|
-
|
|
183
|
+
indent = this.adjustIndent(indent);
|
|
114
184
|
|
|
115
|
-
|
|
116
|
-
const childNodesHTML = this.childNodesAsHTML(indent, context);
|
|
185
|
+
const childNodesHTML = this.childNodesAsHTML(indent, context);
|
|
117
186
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
const childNodesHTML = this.childNodesAsHTML(indent, context);
|
|
187
|
+
if (childNodesHTML !== EMPTY_STRING) {
|
|
188
|
+
const startingTag = this.startingTag(context),
|
|
189
|
+
closingTag = this.closingTag(context);
|
|
123
190
|
|
|
124
|
-
|
|
125
|
-
const startingTag = this.startingTag(context),
|
|
126
|
-
closingTag = this.closingTag(context);
|
|
127
|
-
|
|
128
|
-
html = (indent === null) ?
|
|
129
|
-
`${startingTag}${childNodesHTML}${closingTag}` :
|
|
130
|
-
`${indent}${startingTag}
|
|
191
|
+
html = `${indent}${startingTag}
|
|
131
192
|
${childNodesHTML}${indent}${closingTag}
|
|
132
193
|
`;
|
|
133
|
-
|
|
134
|
-
|
|
194
|
+
} else {
|
|
195
|
+
const selfClosingTag = this.selfClosingTag(context);
|
|
135
196
|
|
|
136
|
-
|
|
137
|
-
selfClosingTag : ///
|
|
138
|
-
`${indent}${selfClosingTag}
|
|
197
|
+
html = `${indent}${selfClosingTag}
|
|
139
198
|
`;
|
|
140
|
-
}
|
|
141
199
|
}
|
|
142
200
|
|
|
143
201
|
return html;
|
|
144
202
|
}
|
|
145
203
|
|
|
204
|
+
asPlainText(context) {
|
|
205
|
+
let plainText;
|
|
206
|
+
|
|
207
|
+
const childNodesPlainText = this.childNodesAsPlainText(context);
|
|
208
|
+
|
|
209
|
+
plainText = childNodesPlainText; ///
|
|
210
|
+
|
|
211
|
+
return plainText;
|
|
212
|
+
}
|
|
213
|
+
|
|
146
214
|
childNodesAsHTML(indent, context) {
|
|
147
215
|
const childNodesHTML = this.reduceChildNode((childNodesHTML, childNode) => {
|
|
148
216
|
const childNodeHTML = childNode.asHTML(indent, context);
|
|
149
217
|
|
|
150
|
-
|
|
151
|
-
childNodesHTML = (childNodesHTML === null) ?
|
|
152
|
-
childNodeHTML : ///
|
|
153
|
-
`${childNodesHTML}${childNodeHTML}`;
|
|
154
|
-
}
|
|
218
|
+
childNodesHTML = `${childNodesHTML}${childNodeHTML}`;
|
|
155
219
|
|
|
156
220
|
return childNodesHTML;
|
|
157
|
-
},
|
|
221
|
+
}, EMPTY_STRING);
|
|
158
222
|
|
|
159
223
|
return childNodesHTML;
|
|
160
224
|
}
|
|
161
225
|
|
|
226
|
+
childNodesAsPlainText(context) {
|
|
227
|
+
const childNodesPlainText = this.reduceChildNode((childNodesPlainText, childNode) => {
|
|
228
|
+
const childNodePlainText = childNode.asPlainText(context);
|
|
229
|
+
|
|
230
|
+
childNodesPlainText = `${childNodesPlainText}
|
|
231
|
+
${childNodePlainText}`;
|
|
232
|
+
|
|
233
|
+
return childNodesPlainText;
|
|
234
|
+
}, EMPTY_STRING);
|
|
235
|
+
|
|
236
|
+
return childNodesPlainText;
|
|
237
|
+
}
|
|
238
|
+
|
|
162
239
|
static fromNothing(Class) {
|
|
163
240
|
if (Class === undefined) {
|
|
164
241
|
Class = HTMLNode; ///
|
|
165
242
|
}
|
|
166
243
|
|
|
167
|
-
const
|
|
244
|
+
const domElement = null,
|
|
245
|
+
node = Node.fromNothing(Class, domElement);
|
|
168
246
|
|
|
169
247
|
return node;
|
|
170
248
|
}
|
|
@@ -176,8 +254,13 @@ ${childNodesHTML}${indent}${closingTag}
|
|
|
176
254
|
Class = HTMLNode; ///
|
|
177
255
|
}
|
|
178
256
|
|
|
179
|
-
const
|
|
257
|
+
const domElement = null,
|
|
258
|
+
node = Node.fromOuterNode(Class, outerNode, domElement);
|
|
180
259
|
|
|
181
260
|
return node;
|
|
182
261
|
}
|
|
183
262
|
}
|
|
263
|
+
|
|
264
|
+
Object.assign(HTMLNode.prototype, nodeMixins);
|
|
265
|
+
|
|
266
|
+
export default HTMLNode;
|
|
@@ -6,7 +6,6 @@ import MarkdownNode from "../../node/markdown";
|
|
|
6
6
|
|
|
7
7
|
import { EMPTY_STRING } from "../../constants";
|
|
8
8
|
import { ANCHOR_RULE_NAME } from "../../ruleNames";
|
|
9
|
-
import { ID_ATTRIBUTE_NAME } from "../../attributeNames";
|
|
10
9
|
|
|
11
10
|
export default class AnchorMarkdownNode extends MarkdownNode {
|
|
12
11
|
constructor(ruleName, childNodes, opacity, precedence, domElement, prepend, identifier) {
|
|
@@ -24,30 +23,11 @@ export default class AnchorMarkdownNode extends MarkdownNode {
|
|
|
24
23
|
return this.identifier;
|
|
25
24
|
}
|
|
26
25
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
domElement = super.createDOMElement(context)
|
|
34
|
-
|
|
35
|
-
const parentDOMElement = domElement; ///
|
|
36
|
-
|
|
37
|
-
domElement = textNode; ///
|
|
38
|
-
|
|
39
|
-
parentDOMElement.appendChild(domElement);
|
|
40
|
-
|
|
41
|
-
domElement = parentDOMElement; ///
|
|
42
|
-
|
|
43
|
-
return domElement;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
content(context) {
|
|
47
|
-
const content = EMPTY_STRING;
|
|
48
|
-
|
|
49
|
-
return content;
|
|
50
|
-
}
|
|
26
|
+
// content(context) {
|
|
27
|
+
// const content = EMPTY_STRING;
|
|
28
|
+
//
|
|
29
|
+
// return content;
|
|
30
|
+
// }
|
|
51
31
|
|
|
52
32
|
clone() { return super.clone(this.prepend, this.identifier); }
|
|
53
33
|
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import MarkdownNode from "../../node/markdown";
|
|
4
4
|
|
|
5
|
-
export default class
|
|
6
|
-
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(
|
|
5
|
+
export default class BlockEndMarkdownNode extends MarkdownNode {
|
|
6
|
+
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(BlockEndMarkdownNode, ruleName, childNodes, opacity); }
|
|
7
7
|
}
|
|
@@ -4,19 +4,13 @@ import MarkdownNode from "../../node/markdown";
|
|
|
4
4
|
|
|
5
5
|
export default class BlockListingMarkdownNode extends MarkdownNode {
|
|
6
6
|
className(context) {
|
|
7
|
-
|
|
7
|
+
const className = this.fromFirstChildNode((firstChildNode) => {
|
|
8
|
+
const blockStartMarkdownNode = firstChildNode, ///
|
|
9
|
+
className = blockStartMarkdownNode.className(context);
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
const blockListingStartMarkdownNode = firstChildNode, ///
|
|
11
|
-
blockListingStartMarkdownNodeClassName = blockListingStartMarkdownNode.className(context);
|
|
12
|
-
|
|
13
|
-
return blockListingStartMarkdownNodeClassName;
|
|
11
|
+
return className;
|
|
14
12
|
});
|
|
15
13
|
|
|
16
|
-
if (blockListingStartMarkdownNodeClassName !== null) {
|
|
17
|
-
className = `${className} ${blockListingStartMarkdownNodeClassName}`;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
14
|
return className;
|
|
21
15
|
}
|
|
22
16
|
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
import MarkdownNode from "../../node/markdown";
|
|
4
4
|
import ClassNameMarkdownNode from "./className";
|
|
5
5
|
|
|
6
|
-
export default class
|
|
6
|
+
export default class BlockStartMarkdownNode extends MarkdownNode {
|
|
7
7
|
className(context) {
|
|
8
8
|
const className = this.fromSecondChildNode((secondChildNode) => {
|
|
9
9
|
let className = null;
|
|
10
10
|
|
|
11
|
-
const secondChildNodeClassNameMarkdownNode = (secondChildNode instanceof ClassNameMarkdownNode)
|
|
11
|
+
const secondChildNodeClassNameMarkdownNode = (secondChildNode instanceof ClassNameMarkdownNode);
|
|
12
12
|
|
|
13
13
|
if (secondChildNodeClassNameMarkdownNode) {
|
|
14
|
-
const classNameMarkdownNode = secondChildNode;
|
|
14
|
+
const classNameMarkdownNode = secondChildNode; ///
|
|
15
15
|
|
|
16
16
|
className = classNameMarkdownNode.className(context);
|
|
17
17
|
}
|
|
@@ -22,7 +22,5 @@ export default class BlockListingStartMarkdownNode extends MarkdownNode {
|
|
|
22
22
|
return className;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
static
|
|
26
|
-
|
|
27
|
-
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(BlockListingStartMarkdownNode, ruleName, childNodes, opacity); }
|
|
25
|
+
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(BlockStartMarkdownNode, ruleName, childNodes, opacity); }
|
|
28
26
|
}
|
|
@@ -6,8 +6,8 @@ export default class ClassNameMarkdownNode extends MarkdownNode {
|
|
|
6
6
|
className(context) {
|
|
7
7
|
const className = this.fromSecondChildNode((secondChildNode) => {
|
|
8
8
|
const identifierTerminalNode = secondChildNode, ///
|
|
9
|
-
|
|
10
|
-
className =
|
|
9
|
+
content = identifierTerminalNode.getContent(),
|
|
10
|
+
className = content; ///
|
|
11
11
|
|
|
12
12
|
return className;
|
|
13
13
|
});
|
|
@@ -5,11 +5,11 @@ import MarkdownNode from "../../node/markdown";
|
|
|
5
5
|
import { CONTENTS_ITEM_RULE_NAME } from "../../ruleNames";
|
|
6
6
|
|
|
7
7
|
export default class ContentsItemMarkdownNode extends MarkdownNode {
|
|
8
|
-
static fromReplacements(
|
|
8
|
+
static fromReplacements(transforms) {
|
|
9
9
|
const ruleName = CONTENTS_ITEM_RULE_NAME,
|
|
10
|
-
childNodes =
|
|
11
|
-
const
|
|
12
|
-
childNode =
|
|
10
|
+
childNodes = transforms.map((transform) => {
|
|
11
|
+
const transformNode = transform.getNode(),
|
|
12
|
+
childNode = transformNode; ///
|
|
13
13
|
|
|
14
14
|
return childNode;
|
|
15
15
|
}),
|
|
@@ -5,12 +5,6 @@ import MarkdownNode from "../../node/markdown";
|
|
|
5
5
|
import { CONTENTS_LIST_RULE_NAME } from "../../ruleNames";
|
|
6
6
|
|
|
7
7
|
export default class ContentsListMarkdownNode extends MarkdownNode {
|
|
8
|
-
asPlainText(context) {
|
|
9
|
-
const plainText = null;
|
|
10
|
-
|
|
11
|
-
return plainText;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
8
|
static fromContentsItemReplacements(contentsItemReplacements) {
|
|
15
9
|
const ruleName = CONTENTS_LIST_RULE_NAME,
|
|
16
10
|
childNodes = contentsItemReplacements.map((contentsItemReplacement) => {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
3
|
+
import MarkdownNode from "../../../node/markdown";
|
|
4
|
+
import PathMarkdownNode from "../../../node/markdown/path";
|
|
5
|
+
import EmbedDirectiveTransform from "../../../transform/embedDirective";
|
|
6
6
|
|
|
7
|
-
export default class EmbedDirectiveMarkdownNode extends
|
|
7
|
+
export default class EmbedDirectiveMarkdownNode extends MarkdownNode {
|
|
8
8
|
resolve(context) {
|
|
9
|
-
let
|
|
9
|
+
let embedDirectiveTransform = null;
|
|
10
10
|
|
|
11
11
|
const filePath = this.filePath(context);
|
|
12
12
|
|
|
@@ -25,11 +25,11 @@ export default class EmbedDirectiveMarkdownNode extends DirectiveMarkdownNode {
|
|
|
25
25
|
const divisionMarkdownNode = importedNode, ///
|
|
26
26
|
tokens = importedTokens; ///
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
embedDirectiveTransform = EmbedDirectiveTransform.fromDivisionMarkdownNodeAndTokens(divisionMarkdownNode, tokens);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
return
|
|
32
|
+
return embedDirectiveTransform;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
filePath(context) {
|
|
@@ -40,9 +40,9 @@ export default class EmbedDirectiveMarkdownNode extends DirectiveMarkdownNode {
|
|
|
40
40
|
|
|
41
41
|
if (firstLastChildNodePathMarkdownNode) {
|
|
42
42
|
const pathMarkdownNode = firstLastChildNode, ///
|
|
43
|
-
|
|
43
|
+
pathMarkdownNodePath = pathMarkdownNode.path(context);
|
|
44
44
|
|
|
45
|
-
filePath =
|
|
45
|
+
filePath = pathMarkdownNodePath; ///
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
return filePath;
|
|
@@ -51,5 +51,5 @@ export default class EmbedDirectiveMarkdownNode extends DirectiveMarkdownNode {
|
|
|
51
51
|
return filePath;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return
|
|
54
|
+
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(EmbedDirectiveMarkdownNode, ruleName, childNodes, opacity); }
|
|
55
55
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
3
|
+
import MarkdownNode from "../../../node/markdown";
|
|
4
|
+
import PathMarkdownNode from "../../../node/markdown/path";
|
|
5
|
+
import IncludeDirectiveTransform from "../../../transform/includeDirective";
|
|
6
6
|
|
|
7
|
-
export default class IncludeDirectiveMarkdownNode extends
|
|
7
|
+
export default class IncludeDirectiveMarkdownNode extends MarkdownNode {
|
|
8
8
|
resolve(context) {
|
|
9
|
-
let
|
|
9
|
+
let includeDirectiveTransform = null;
|
|
10
10
|
|
|
11
11
|
const filePath = this.filePath(context);
|
|
12
12
|
|
|
@@ -30,11 +30,11 @@ export default class IncludeDirectiveMarkdownNode extends DirectiveMarkdownNode
|
|
|
30
30
|
|
|
31
31
|
divisionMarkdownNode.setDivisionClassName(divisionClassName);
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
includeDirectiveTransform = IncludeDirectiveTransform.fromDivisionMarkdownNodeAndTokens(divisionMarkdownNode, tokens);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
return
|
|
37
|
+
return includeDirectiveTransform;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
filePath(context) {
|
|
@@ -45,9 +45,9 @@ export default class IncludeDirectiveMarkdownNode extends DirectiveMarkdownNode
|
|
|
45
45
|
|
|
46
46
|
if (firstLastChildNodePathMarkdownNode) {
|
|
47
47
|
const pathMarkdownNode = firstLastChildNode, ///
|
|
48
|
-
|
|
48
|
+
pathMarkdownNodePath = pathMarkdownNode.path(context);
|
|
49
49
|
|
|
50
|
-
filePath =
|
|
50
|
+
filePath = pathMarkdownNodePath; ///
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
return filePath;
|
|
@@ -56,5 +56,5 @@ export default class IncludeDirectiveMarkdownNode extends DirectiveMarkdownNode
|
|
|
56
56
|
return filePath;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return
|
|
59
|
+
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(IncludeDirectiveMarkdownNode, ruleName, childNodes, opacity); }
|
|
60
60
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import MarkdownNode from "../../../node/markdown";
|
|
4
4
|
|
|
5
|
-
export default class PageNumberDirectiveMarkdownNode extends
|
|
6
|
-
constructor(ruleName, childNodes, precedence, opacity,
|
|
7
|
-
super(ruleName, childNodes, precedence, opacity
|
|
5
|
+
export default class PageNumberDirectiveMarkdownNode extends MarkdownNode {
|
|
6
|
+
constructor(ruleName, childNodes, precedence, opacity, pageNumber) {
|
|
7
|
+
super(ruleName, childNodes, precedence, opacity);
|
|
8
8
|
|
|
9
9
|
this.pageNumber = pageNumber;
|
|
10
10
|
}
|
|
@@ -17,36 +17,17 @@ export default class PageNumberDirectiveMarkdownNode extends DirectiveMarkdownNo
|
|
|
17
17
|
this.pageNumber = pageNumber;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
content(context) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
createDOMElement(context) {
|
|
27
|
-
let domElement;
|
|
28
|
-
|
|
29
|
-
const content = this.content(context),
|
|
30
|
-
textNode = document.createTextNode(content);
|
|
31
|
-
|
|
32
|
-
domElement = super.createDOMElement(context);
|
|
33
|
-
|
|
34
|
-
const parentDOMElement = domElement; ///
|
|
35
|
-
|
|
36
|
-
domElement = textNode; ///
|
|
37
|
-
|
|
38
|
-
parentDOMElement.appendChild(domElement);
|
|
39
|
-
|
|
40
|
-
domElement = parentDOMElement;
|
|
41
|
-
|
|
42
|
-
return domElement;
|
|
43
|
-
}
|
|
20
|
+
// content(context) {
|
|
21
|
+
// const content = this.pageNumber;
|
|
22
|
+
//
|
|
23
|
+
// return content;
|
|
24
|
+
// }
|
|
44
25
|
|
|
45
26
|
clone() { return super.clone(this.pageNumber); }
|
|
46
27
|
|
|
47
28
|
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) {
|
|
48
29
|
const pageNumber = null,
|
|
49
|
-
pageNumberDirectiveMarkdownNode =
|
|
30
|
+
pageNumberDirectiveMarkdownNode = MarkdownNode.fromRuleNameChildNodesAndOpacity(PageNumberDirectiveMarkdownNode, ruleName, childNodes, opacity, pageNumber);
|
|
50
31
|
|
|
51
32
|
return pageNumberDirectiveMarkdownNode;
|
|
52
33
|
}
|