highmark-markdown 1.0.183 → 1.0.185
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/example.js +10243 -6411
- package/lib/constants.js +9 -1
- package/lib/defaultMarkdownStyle.js +2 -2
- package/lib/example/importer.js +3 -3
- package/lib/example/indexOptions.js +1 -98
- package/lib/example/view/div/container/markdown.js +2 -2
- package/lib/example/view/div/container/markdownStyle.js +2 -2
- package/lib/example/view/div/container.js +2 -2
- package/lib/example/view/div/pageButtons.js +7 -4
- package/lib/example/view/div/preview.js +1 -5
- package/lib/example/view/div/sizeable/left.js +2 -2
- package/lib/example/view/div/tabButtons/right.js +5 -5
- package/lib/example/view/textarea/markdown.js +2 -2
- package/lib/example/view/textarea/markdownStyle.js +2 -2
- package/lib/example/view/textarea/parseTree/html.js +2 -2
- package/lib/example/view/textarea/plainText.js +1 -5
- package/lib/example/view/xmp.js +1 -5
- package/lib/example/view.js +51 -48
- package/lib/index/list.js +4 -4
- package/lib/index.js +2 -2
- package/lib/map/node/html.js +13 -7
- package/lib/map/node/markdown.js +5 -24
- package/lib/markdown/bnf.js +2 -2
- package/lib/node/html/anchor.js +49 -64
- package/lib/node/html/blockLine.js +23 -4
- package/lib/node/{markdown/paragraph.js → html/directive/contents.js} +20 -14
- package/lib/node/{markdown/strongText.js → html/directive/footnotes.js} +20 -14
- package/lib/node/{markdown/emphasisedText.js → html/directive/index.js} +20 -14
- package/lib/node/{markdown/inlineText.js → html/directive/pageNumber.js} +20 -14
- package/lib/node/html/division.js +118 -7
- package/lib/node/html/footnote.js +4 -10
- package/lib/node/html/heading/index.js +71 -10
- package/lib/node/html/heading/primary.js +8 -7
- package/lib/node/html/heading/quaternary.js +8 -7
- package/lib/node/html/heading/secondary.js +8 -7
- package/lib/node/html/heading/tertiary.js +8 -7
- package/lib/node/html/heading.js +165 -0
- package/lib/node/html/image.js +7 -6
- package/lib/node/html/item/contents.js +22 -8
- package/lib/node/html/item/footnote.js +144 -0
- package/lib/node/html/item/index.js +27 -43
- package/lib/node/html/line.js +55 -2
- package/lib/node/html/link/contents.js +34 -14
- package/lib/node/html/link/email.js +32 -8
- package/lib/node/html/link/footnote.js +95 -5
- package/lib/node/html/link/hyper.js +32 -8
- package/lib/node/html/link/index.js +66 -35
- package/lib/node/html/list/contents.js +22 -8
- package/lib/node/html/list/footnotes.js +39 -12
- package/lib/node/html/list/index.js +22 -8
- package/lib/node/html/pageNumber.js +70 -23
- package/lib/node/html/{item/footnotes.js → reference.js} +14 -14
- package/lib/node/{markdown/heading/primary.js → html/text/comma.js} +38 -28
- package/lib/node/html/text/index.js +146 -0
- package/lib/node/html/text/stronglyEmphasised.js +15 -8
- package/lib/node/html/text.js +43 -5
- package/lib/node/html/topmost.js +67 -1
- package/lib/node/html.js +77 -4
- package/lib/node/markdown/directive/{embee.js → embed.js} +1 -1
- package/lib/node/markdown/division.js +13 -22
- package/lib/node/markdown/link/footnote.js +5 -102
- package/lib/node/markdown/subDivision.js +2 -2
- package/lib/node/markdown/text/block.js +1 -1
- package/lib/node/markdown/text.js +25 -29
- package/lib/ruleNames.js +87 -81
- package/lib/style/selector.js +4 -4
- package/lib/{node/markdown/heading/tertiary.js → transform/html/directive/contents.js} +23 -28
- package/lib/{node/markdown/stronglyEmphasisedText.js → transform/html/directive/footnotes.js} +15 -14
- package/lib/{node/markdown/line.js → transform/html/directive/index.js} +19 -18
- package/lib/transform/html/directive/pageNumber.js +108 -0
- package/lib/transform/html/division.js +130 -0
- package/lib/transform/html/footnote.js +159 -0
- package/lib/transform/html/heading/index.js +109 -0
- package/lib/transform/html/index.js +159 -0
- package/lib/transform/{indexAnchor.js → html/indexAnchor.js} +20 -20
- package/lib/transform/html/item/contents.js +130 -0
- package/lib/transform/html/item/footnote.js +117 -0
- package/lib/transform/html/item/index.js +117 -0
- package/lib/transform/html/line.js +123 -0
- package/lib/transform/html/link/contents.js +130 -0
- package/lib/transform/html/link/footnote.js +158 -0
- package/lib/transform/html/link/nestedFootnote.js +108 -0
- package/lib/transform/html/list/contents.js +180 -0
- package/lib/transform/html/list/footnotes.js +117 -0
- package/lib/transform/html/list/index.js +118 -0
- package/lib/transform/html/pageNumber.js +117 -0
- package/lib/transform/html.js +168 -0
- package/lib/transform/markdown/directive/embed.js +14 -9
- package/lib/transform/markdown/directive/ignore.js +12 -38
- package/lib/transform/markdown/directive/include.js +11 -6
- package/lib/transform/markdown/subDivision.js +18 -50
- package/lib/transform/markdown.js +148 -0
- package/lib/utilities/contents.js +16 -16
- package/lib/utilities/division.js +247 -0
- package/lib/utilities/footnotes.js +8 -8
- package/lib/utilities/html.js +37 -79
- package/lib/utilities/index.js +23 -16
- package/lib/utilities/markdown.js +2 -10
- package/lib/utilities/string.js +16 -10
- package/lib/utilities/whitespace.js +33 -0
- package/package.json +6 -6
- package/src/constants.js +2 -0
- package/src/defaultMarkdownStyle.js +6 -9
- package/src/example/importer.js +11 -5
- package/src/example/indexOptions.js +0 -97
- package/src/example/view/div/container/markdown.js +1 -1
- package/src/example/view/div/container/markdownStyle.js +1 -1
- package/src/example/view/div/container.js +1 -1
- package/src/example/view/div/pageButtons.js +8 -2
- package/src/example/view/div/preview.js +0 -6
- package/src/example/view/div/sizeable/left.js +1 -1
- package/src/example/view/div/tabButtons/right.js +3 -3
- package/src/example/view/textarea/markdown.js +1 -0
- package/src/example/view/textarea/markdownStyle.js +1 -0
- package/src/example/view/textarea/parseTree/html.js +1 -1
- package/src/example/view/textarea/plainText.js +0 -6
- package/src/example/view/xmp.js +0 -6
- package/src/example/view.js +75 -74
- package/src/index/list.js +3 -3
- package/src/index.js +1 -1
- package/src/map/node/html.js +29 -11
- package/src/map/node/markdown.js +8 -65
- package/src/markdown/bnf.js +112 -149
- package/src/node/html/anchor.js +34 -43
- package/src/node/html/blockLine.js +33 -4
- package/src/node/html/directive/contents.js +9 -0
- package/src/node/html/directive/footnotes.js +9 -0
- package/src/node/html/directive/index.js +9 -0
- package/src/node/html/directive/pageNumber.js +9 -0
- package/src/node/html/division.js +154 -4
- package/src/node/html/footnote.js +1 -7
- package/src/node/html/heading/index.js +78 -2
- package/src/node/html/heading/primary.js +6 -4
- package/src/node/html/heading/quaternary.js +6 -4
- package/src/node/html/heading/secondary.js +6 -4
- package/src/node/html/heading/tertiary.js +6 -4
- package/src/node/html/heading.js +59 -0
- package/src/node/html/image.js +8 -5
- package/src/node/html/item/contents.js +25 -2
- package/src/node/html/item/footnote.js +39 -0
- package/src/node/html/item/index.js +35 -16
- package/src/node/html/line.js +41 -2
- package/src/node/html/link/contents.js +32 -5
- package/src/node/html/link/email.js +51 -17
- package/src/node/html/link/footnote.js +98 -2
- package/src/node/html/link/hyper.js +51 -17
- package/src/node/html/link/index.js +63 -30
- package/src/node/html/list/contents.js +25 -2
- package/src/node/html/list/footnotes.js +34 -2
- package/src/node/html/list/index.js +25 -2
- package/src/node/html/pageNumber.js +60 -16
- package/src/node/html/reference.js +13 -0
- package/src/node/html/text/comma.js +29 -0
- package/src/node/html/text/index.js +43 -0
- package/src/node/html/text/stronglyEmphasised.js +22 -11
- package/src/node/html/text.js +3 -3
- package/src/node/html/topmost.js +93 -1
- package/src/node/html.js +34 -6
- package/src/node/markdown/division.js +11 -227
- package/src/node/markdown/link/footnote.js +6 -82
- package/src/node/markdown/subDivision.js +1 -1
- package/src/node/markdown/text/block.js +1 -1
- package/src/node/markdown/text.js +38 -39
- package/src/ruleNames.js +11 -8
- package/src/style/selector.js +3 -4
- package/src/transform/html/directive/contents.js +19 -0
- package/src/transform/html/directive/footnotes.js +12 -0
- package/src/transform/html/directive/index.js +19 -0
- package/src/transform/html/directive/pageNumber.js +12 -0
- package/src/transform/html/division.js +33 -0
- package/src/transform/html/footnote.js +66 -0
- package/src/transform/html/heading/index.js +14 -0
- package/src/transform/html/index.js +77 -0
- package/src/transform/html/indexAnchor.js +24 -0
- package/src/transform/html/item/contents.js +48 -0
- package/src/transform/html/item/footnote.js +21 -0
- package/src/transform/html/item/index.js +21 -0
- package/src/transform/html/line.js +27 -0
- package/src/transform/html/link/contents.js +40 -0
- package/src/transform/html/link/footnote.js +58 -0
- package/src/transform/html/link/nestedFootnote.js +12 -0
- package/src/transform/html/list/contents.js +86 -0
- package/src/transform/html/list/footnotes.js +20 -0
- package/src/transform/html/list/index.js +27 -0
- package/src/transform/html/pageNumber.js +20 -0
- package/src/transform/html.js +78 -0
- package/src/transform/markdown/directive/embed.js +6 -7
- package/src/transform/markdown/directive/ignore.js +3 -9
- package/src/transform/markdown/directive/include.js +3 -3
- package/src/transform/markdown/subDivision.js +5 -17
- package/src/transform/markdown.js +9 -0
- package/src/utilities/contents.js +12 -12
- package/src/utilities/division.js +256 -0
- package/src/utilities/footnotes.js +5 -5
- package/src/utilities/html.js +39 -86
- package/src/utilities/index.js +26 -16
- package/src/utilities/markdown.js +0 -8
- package/src/utilities/string.js +5 -3
- package/src/utilities/whitespace.js +21 -0
- package/lib/node/markdown/anchor.js +0 -171
- package/lib/node/markdown/contentsItem.js +0 -112
- package/lib/node/markdown/directive/pageNumber.js +0 -163
- package/lib/node/markdown/heading/quaternary.js +0 -121
- package/lib/node/markdown/heading/secondary.js +0 -121
- package/lib/node/markdown/heading.js +0 -140
- package/lib/node/markdown/item/footnotes.js +0 -120
- package/lib/node/markdown/link/contents.js +0 -156
- package/lib/node/markdown/link/index.js +0 -117
- package/lib/node/markdown/list/contents.js +0 -112
- package/lib/node/markdown/list/footnotes.js +0 -165
- package/lib/node/markdown/list/index.js +0 -112
- package/lib/transform/contentsDirective.js +0 -112
- package/lib/transform/contentsItem.js +0 -134
- package/lib/transform/contentsLink.js +0 -115
- package/lib/transform/contentsList.js +0 -193
- package/lib/transform/footnote.js +0 -181
- package/lib/transform/footnoteIdentifier.js +0 -120
- package/lib/transform/footnotesDirective.js +0 -112
- package/lib/transform/footnotesItem.js +0 -123
- package/lib/transform/footnotesList.js +0 -172
- package/lib/transform/index.js +0 -166
- package/lib/transform/indexDirective.js +0 -112
- package/lib/transform/indexHeading.js +0 -104
- package/lib/transform/indexItem.js +0 -113
- package/lib/transform/indexList.js +0 -121
- package/lib/transform/line.js +0 -111
- package/lib/transform/pageNumberDirective.js +0 -112
- package/src/node/html/item/footnotes.js +0 -13
- package/src/node/markdown/anchor.js +0 -45
- package/src/node/markdown/contentsItem.js +0 -21
- package/src/node/markdown/directive/pageNumber.js +0 -34
- package/src/node/markdown/emphasisedText.js +0 -7
- package/src/node/markdown/heading/primary.js +0 -9
- package/src/node/markdown/heading/quaternary.js +0 -9
- package/src/node/markdown/heading/secondary.js +0 -9
- package/src/node/markdown/heading/tertiary.js +0 -9
- package/src/node/markdown/heading.js +0 -47
- package/src/node/markdown/inlineText.js +0 -7
- package/src/node/markdown/item/footnotes.js +0 -39
- package/src/node/markdown/line.js +0 -17
- package/src/node/markdown/link/contents.js +0 -31
- package/src/node/markdown/link/index.js +0 -18
- package/src/node/markdown/list/contents.js +0 -21
- package/src/node/markdown/list/footnotes.js +0 -45
- package/src/node/markdown/list/index.js +0 -21
- package/src/node/markdown/paragraph.js +0 -7
- package/src/node/markdown/strongText.js +0 -7
- package/src/node/markdown/stronglyEmphasisedText.js +0 -7
- package/src/transform/contentsDirective.js +0 -18
- package/src/transform/contentsItem.js +0 -55
- package/src/transform/contentsLink.js +0 -28
- package/src/transform/contentsList.js +0 -110
- package/src/transform/footnote.js +0 -51
- package/src/transform/footnoteIdentifier.js +0 -27
- package/src/transform/footnotesDirective.js +0 -18
- package/src/transform/footnotesItem.js +0 -25
- package/src/transform/footnotesList.js +0 -77
- package/src/transform/index.js +0 -90
- package/src/transform/indexAnchor.js +0 -27
- package/src/transform/indexDirective.js +0 -18
- package/src/transform/indexHeading.js +0 -18
- package/src/transform/indexItem.js +0 -29
- package/src/transform/indexList.js +0 -33
- package/src/transform/line.js +0 -19
- package/src/transform/pageNumberDirective.js +0 -18
- /package/src/node/markdown/directive/{embee.js → embed.js} +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../../transform/html"
|
|
4
|
+
|
|
5
|
+
export default class IndexDirectiveHTMLTransform extends HTMLTransform {
|
|
6
|
+
getIndexDirectiveHTMLNode() {
|
|
7
|
+
const htmlNode = this.getHTMLNode(),
|
|
8
|
+
indexDirectiveHTMLNode = htmlNode; ///
|
|
9
|
+
|
|
10
|
+
return indexDirectiveHTMLNode;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
static fromIndexDirectiveHTMLNode(indexDirectiveHTMLNde) {
|
|
14
|
+
const htmlNode = indexDirectiveHTMLNde, ///
|
|
15
|
+
indexDirectiveHTMLTransform = HTMLTransform.fromHTMLNode(IndexDirectiveHTMLTransform, htmlNode);
|
|
16
|
+
|
|
17
|
+
return indexDirectiveHTMLTransform;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../../transform/html"
|
|
4
|
+
|
|
5
|
+
export default class PageNumberDirectiveHTMLTransform extends HTMLTransform {
|
|
6
|
+
static fromPageNumberDirectiveHTMLNode(pageNumberDirectiveHTMLNde) {
|
|
7
|
+
const htmlNode = pageNumberDirectiveHTMLNde, ///
|
|
8
|
+
pageNumberDirectiveHTMLTransform = HTMLTransform.fromHTMLNode(PageNumberDirectiveHTMLTransform, htmlNode);
|
|
9
|
+
|
|
10
|
+
return pageNumberDirectiveHTMLTransform;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../transform/html"
|
|
4
|
+
|
|
5
|
+
export default class DivisionHTMLTransform extends HTMLTransform {
|
|
6
|
+
getDivisionHTMLNode() {
|
|
7
|
+
const htmlNode = this.getHTMLNode(),
|
|
8
|
+
divisionHTMLNode = htmlNode; ///;
|
|
9
|
+
|
|
10
|
+
return divisionHTMLNode;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
appendToTopmostHTMLNode(topmostHTMLNode) {
|
|
14
|
+
const htmlNode = this.getHTMLNode(),
|
|
15
|
+
childNode = htmlNode, ///
|
|
16
|
+
parentNode = topmostHTMLNode; ///
|
|
17
|
+
|
|
18
|
+
parentNode.appendChildNode(childNode);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
resolve(divisionHTMLNodes, context) {
|
|
22
|
+
const divisionHTMLNode = this.getDivisionHTMLNode();
|
|
23
|
+
|
|
24
|
+
divisionHTMLNode.resolve(divisionHTMLNodes, context);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
static fromDivisionHTMLNode(divisionHTMLNode) {
|
|
28
|
+
const htmlNode = divisionHTMLNode, ///
|
|
29
|
+
paragraphHTMLTransform = HTMLTransform.fromHTMLNode(DivisionHTMLTransform, htmlNode);
|
|
30
|
+
|
|
31
|
+
return paragraphHTMLTransform;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../transform/html"
|
|
4
|
+
|
|
5
|
+
export default class FootnoteHTMLTransform extends HTMLTransform {
|
|
6
|
+
identifier(context) {
|
|
7
|
+
const footnoteHTMLNode = this.getFootnoteHTMLNode(),
|
|
8
|
+
identifier = footnoteHTMLNode.identifier(context);
|
|
9
|
+
|
|
10
|
+
return identifier;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
getLineHTMLNode() {
|
|
14
|
+
const paragraphHTMLNode = this.getParagraphHTMLNode(),
|
|
15
|
+
lineHTMLNode = paragraphHTMLNode.fromFirstChildNode((firstChildNode) => {
|
|
16
|
+
const lineHTMLNode = firstChildNode; ///
|
|
17
|
+
|
|
18
|
+
return lineHTMLNode;
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
return lineHTMLNode;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
getFootnoteHTMLNode() {
|
|
25
|
+
const htmlNode = this.getHTMLNode(),
|
|
26
|
+
footnoteHTMLNode = htmlNode; ///
|
|
27
|
+
|
|
28
|
+
return footnoteHTMLNode;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
getParagraphHTMLNode() {
|
|
32
|
+
const footnoteHTMLNode = this.getFootnoteHTMLNode(), ///
|
|
33
|
+
paragraphHTMLNode = footnoteHTMLNode.fromSecondChildNode((secondChildNode) => {
|
|
34
|
+
const paragraphHTMLNode = secondChildNode; ///
|
|
35
|
+
|
|
36
|
+
return paragraphHTMLNode;
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
return paragraphHTMLNode;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
matchIdentifier(identifier, context) {
|
|
43
|
+
const identifierA = identifier; ///
|
|
44
|
+
|
|
45
|
+
identifier = this.identifier(context);
|
|
46
|
+
|
|
47
|
+
const identifierB = identifier, ///
|
|
48
|
+
identifierMatches = (identifierA === identifierB);
|
|
49
|
+
|
|
50
|
+
return identifierMatches;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
addAfterFootnoteLinkHTMLTransform(footnoteLinkHTMLTransform) {
|
|
54
|
+
const containingHTMLNode = footnoteLinkHTMLTransform.getContainingHTMLNode(),
|
|
55
|
+
existingHTMLNode = containingHTMLNode; ///
|
|
56
|
+
|
|
57
|
+
this.addAfter(existingHTMLNode);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
static fromFootnoteHTMLNode(footnoteHTMLNde) {
|
|
61
|
+
const htmlNode = footnoteHTMLNde, ///
|
|
62
|
+
footnoteHTMLTransform = HTMLTransform.fromHTMLNode(FootnoteHTMLTransform, htmlNode);
|
|
63
|
+
|
|
64
|
+
return footnoteHTMLTransform;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../../transform/html";
|
|
4
|
+
import IndexHeadingHTMLNode from "../../../node/html/heading/index";
|
|
5
|
+
|
|
6
|
+
export default class IndexHeadingHTMLTransform extends HTMLTransform {
|
|
7
|
+
static fromLetter(letter) {
|
|
8
|
+
const indexHeadingHTMLNode = IndexHeadingHTMLNode.fromLetter(letter),
|
|
9
|
+
htmlNode = indexHeadingHTMLNode, ///
|
|
10
|
+
indexHeadingHTMLTransform = HTMLTransform.fromHTMLNode(IndexHeadingHTMLTransform, htmlNode);
|
|
11
|
+
|
|
12
|
+
return indexHeadingHTMLTransform;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import letters from "../../letters";
|
|
4
|
+
import IndexList from "../../index/list";
|
|
5
|
+
import HTMLTransform from "../../transform/html";
|
|
6
|
+
import IndexListHTMLTransform from "../../transform/html/list/index";
|
|
7
|
+
import IndexHeadingHTMLTransform from "../../transform/html/heading/index";
|
|
8
|
+
|
|
9
|
+
export default class IndexHTMLTransform extends HTMLTransform {
|
|
10
|
+
constructor(htmlNode, htmlNodes) {
|
|
11
|
+
super(htmlNode);
|
|
12
|
+
|
|
13
|
+
this.htmlNodes = htmlNodes;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
getHTMLNodes() {
|
|
17
|
+
return this.htmlNodes;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
replace(replacedHTMLNode) {
|
|
21
|
+
const parentNode = replacedHTMLNode.getParentNode(),
|
|
22
|
+
replacedChildNode = replacedHTMLNode, ///
|
|
23
|
+
replacementChildNodes = this.htmlNodes; ///
|
|
24
|
+
|
|
25
|
+
parentNode.replaceChildNode(replacedChildNode, replacementChildNodes);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
replaceIndexDirectiveHTMLTransform(indexDirectiveHTMLTransform) {
|
|
29
|
+
const indexDirectiveHTMLNode = indexDirectiveHTMLTransform.getIndexDirectiveHTMLNode(),
|
|
30
|
+
replacedHTMLNode = indexDirectiveHTMLNode; ///
|
|
31
|
+
|
|
32
|
+
this.replace(replacedHTMLNode)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
static fromIndexDirectiveHTMLTransformAndDivisionHTMLNodes(indexDirectiveHTMLTransform, divisionHTMLNodes, context) {
|
|
36
|
+
let indexHTMLTransform = null;
|
|
37
|
+
|
|
38
|
+
const indexDirectiveHTMLNode = indexDirectiveHTMLTransform.getIndexDirectiveHTMLNode(),
|
|
39
|
+
indexList = IndexList.fromIndexDirectiveHTMLNodeAndDivisionHTMLNodes(indexDirectiveHTMLNode, divisionHTMLNodes, context),
|
|
40
|
+
indexHTMLTransforms = [];
|
|
41
|
+
|
|
42
|
+
letters.forEach((letter) => {
|
|
43
|
+
const indexListHTMLTransform = IndexListHTMLTransform.fromIndexListAndLetter(indexList, letter);
|
|
44
|
+
|
|
45
|
+
if (indexListHTMLTransform !== null) {
|
|
46
|
+
let indexHTMLTransform;
|
|
47
|
+
|
|
48
|
+
const indexHeadingHTMLTransform = IndexHeadingHTMLTransform.fromLetter(letter);
|
|
49
|
+
|
|
50
|
+
indexHTMLTransform = indexHeadingHTMLTransform; ///
|
|
51
|
+
|
|
52
|
+
indexHTMLTransforms.push(indexHTMLTransform);
|
|
53
|
+
|
|
54
|
+
indexHTMLTransform = indexListHTMLTransform; ///
|
|
55
|
+
|
|
56
|
+
indexHTMLTransforms.push(indexHTMLTransform);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
const indexListHTMLTransformsLength = indexHTMLTransforms.length;
|
|
61
|
+
|
|
62
|
+
if (indexListHTMLTransformsLength > 0) {
|
|
63
|
+
const htmlNode = null,
|
|
64
|
+
htmlNodes = [];
|
|
65
|
+
|
|
66
|
+
indexHTMLTransforms.forEach((indexHTMLTransform) => {
|
|
67
|
+
const htmlNode = indexHTMLTransform.getHTMLNode();
|
|
68
|
+
|
|
69
|
+
htmlNodes.push(htmlNode);
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
indexHTMLTransform = HTMLTransform.fromHTMLNode(IndexHTMLTransform, htmlNode, htmlNodes);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return indexHTMLTransform;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../transform/html"
|
|
4
|
+
import AnchorHTMLNode from "../../node/html/anchor";
|
|
5
|
+
|
|
6
|
+
import { INDEX_PREPEND } from "../../prepends";
|
|
7
|
+
|
|
8
|
+
export default class IndexAnchorTMLTransform extends HTMLTransform {
|
|
9
|
+
prependToDivisionHTMLNode(divisionHTMLNode) {
|
|
10
|
+
const parentHTMLNode = divisionHTMLNode;
|
|
11
|
+
|
|
12
|
+
this.prependTo(parentHTMLNode);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
static fromPageNumber(pageNumber) {
|
|
16
|
+
const prepend = INDEX_PREPEND,
|
|
17
|
+
identifier = pageNumber, ///
|
|
18
|
+
anchorHTMLNode = AnchorHTMLNode.fromPrependAndIdentifier(prepend, identifier),
|
|
19
|
+
htmlNode = anchorHTMLNode, ///
|
|
20
|
+
paragraphHTMLTransform = HTMLTransform.fromHTMLNode(IndexAnchorTMLTransform, htmlNode);
|
|
21
|
+
|
|
22
|
+
return paragraphHTMLTransform;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../../transform/html";
|
|
4
|
+
import ContentsItemHTMLNode from "../../../node/html/item/contents";
|
|
5
|
+
import ContentsLinkHTMLTransform from "../../../transform/html/link/contents";
|
|
6
|
+
|
|
7
|
+
export default class ContentsItemHTMLTransform extends HTMLTransform {
|
|
8
|
+
getContentsItemHTMLNode() {
|
|
9
|
+
const htmlNode = this.getHTMLNode(),
|
|
10
|
+
contentsItemHTMLNode = htmlNode; ///
|
|
11
|
+
|
|
12
|
+
return contentsItemHTMLNode;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
static fromNestedHeadingNode(nestedHeadingNode, context) {
|
|
16
|
+
const htmlTransforms = [],
|
|
17
|
+
contentsLinkHTMLTransform = ContentsLinkHTMLTransform.fromNestedHeadingNode(nestedHeadingNode, context);
|
|
18
|
+
|
|
19
|
+
if (contentsLinkHTMLTransform !== null) {
|
|
20
|
+
const htmlNode = nestedHeadingNode.getHTMLNode(),
|
|
21
|
+
headingHTMLNode = htmlNode; ///
|
|
22
|
+
|
|
23
|
+
headingHTMLNode.anchor(context);
|
|
24
|
+
|
|
25
|
+
const htmlTransform = contentsLinkHTMLTransform; ///
|
|
26
|
+
|
|
27
|
+
htmlTransforms.push(htmlTransform);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const childNestedNodes = nestedHeadingNode.getChildNestedNodes(),
|
|
31
|
+
nestedHeadingNodes = childNestedNodes, ///
|
|
32
|
+
nestedHeadingNodesLength = nestedHeadingNodes.length;
|
|
33
|
+
|
|
34
|
+
if (nestedHeadingNodesLength > 0) {
|
|
35
|
+
const { ContentsListHTMLTransform } = ContentsItemHTMLTransform,
|
|
36
|
+
contentsListHTMLTransform = ContentsListHTMLTransform.fromNestedHeadingNodes(nestedHeadingNodes, context),
|
|
37
|
+
htmlTransform = contentsListHTMLTransform; ///
|
|
38
|
+
|
|
39
|
+
htmlTransforms.push(htmlTransform);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const contentsItemHTMLNode = ContentsItemHTMLNode.fromHTMLTransforms(htmlTransforms),
|
|
43
|
+
htmlNode = contentsItemHTMLNode, ///
|
|
44
|
+
contentsItemHTMLTransform = HTMLTransform.fromHTMLNode(ContentsItemHTMLTransform, htmlNode);
|
|
45
|
+
|
|
46
|
+
return contentsItemHTMLTransform;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../../transform/html"
|
|
4
|
+
import FootnoteItemHTMLNode from "../../../node/html/item/footnote";
|
|
5
|
+
|
|
6
|
+
export default class FootnoteItemHTMLTransform extends HTMLTransform {
|
|
7
|
+
getFootnoteItemHTMLNode() {
|
|
8
|
+
const htmlNode = this.getHTMLNode(),
|
|
9
|
+
footnoteItemHTMLNode = htmlNode; ///
|
|
10
|
+
|
|
11
|
+
return footnoteItemHTMLNode;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
static fromLineTMLTransformAndIdentifier(lineHTMLTransform, identifier) {
|
|
15
|
+
const footnoteItemHTMLNode = FootnoteItemHTMLNode.fromLineTMLTransformAndIdentifier(lineHTMLTransform, identifier),
|
|
16
|
+
ascendantNode = footnoteItemHTMLNode, ///
|
|
17
|
+
footnoteItemTransform = lineHTMLTransform.expand(FootnoteItemHTMLTransform, ascendantNode);
|
|
18
|
+
|
|
19
|
+
return footnoteItemTransform;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../../transform/html";
|
|
4
|
+
import IndexItemHTMLNode from "../../../node/html/item";
|
|
5
|
+
|
|
6
|
+
export default class IndexItemHTMLTransform extends HTMLTransform {
|
|
7
|
+
getIndexItemHTMLNode() {
|
|
8
|
+
const htmlNode = this.getHTMLNode(),
|
|
9
|
+
indexItemHTMLNode = htmlNode; ///
|
|
10
|
+
|
|
11
|
+
return indexItemHTMLNode;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
static fromIndexItem(indexItem) {
|
|
15
|
+
const indexItemHTNLMode = IndexItemHTMLNode.fromIndexItem(indexItem),
|
|
16
|
+
htmlNode = indexItemHTNLMode, ///
|
|
17
|
+
indexItemHTMLTransform = HTMLTransform.fromHTMLNode(IndexItemHTMLTransform, htmlNode);
|
|
18
|
+
|
|
19
|
+
return indexItemHTMLTransform;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../transform/html"
|
|
4
|
+
|
|
5
|
+
export default class LineHTMLTransform extends HTMLTransform {
|
|
6
|
+
getLineHTMLNode() {
|
|
7
|
+
const htmlNode = this.getHTMLNode(),
|
|
8
|
+
lineHTMLNode = htmlNode; ///;
|
|
9
|
+
|
|
10
|
+
return lineHTMLNode;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
static fromLineHTMLNode(lineHTMLNode) {
|
|
14
|
+
const htmlNode = lineHTMLNode, ///
|
|
15
|
+
paragraphHTMLTransform = HTMLTransform.fromHTMLNode(LineHTMLTransform, htmlNode);
|
|
16
|
+
|
|
17
|
+
return paragraphHTMLTransform;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
static fromFootnoteHTMLTransform(footnoteHTNLTransform) {
|
|
21
|
+
const lineHTMLNode = footnoteHTNLTransform.getLineHTMLNode(),
|
|
22
|
+
htmlNode = lineHTMLNode, ///
|
|
23
|
+
paragraphHTMLTransform = HTMLTransform.fromHTMLNode(LineHTMLTransform, htmlNode);
|
|
24
|
+
|
|
25
|
+
return paragraphHTMLTransform;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../../transform/html";
|
|
4
|
+
import LineHTMLTransform from "../../../transform/html/line";
|
|
5
|
+
import ContentsLinkHTMLNode from "../../../node/html/link/contents";
|
|
6
|
+
|
|
7
|
+
export default class ContentsLinkHTMLTransform extends HTMLTransform {
|
|
8
|
+
getIdentifier() {
|
|
9
|
+
const contentsLinkHTMLNode = this.getContentsLinkHTMLNode(),
|
|
10
|
+
identifier = contentsLinkHTMLNode.getIdentifier();
|
|
11
|
+
|
|
12
|
+
return identifier;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
getContentsLinkHTMLNode() {
|
|
16
|
+
const htmlNode = this.getHTMLNode(),
|
|
17
|
+
contentsLinkHTMLNode = htmlNode; ///
|
|
18
|
+
|
|
19
|
+
return contentsLinkHTMLNode;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static fromNestedHeadingNode(nestedHeadingNode, context) {
|
|
23
|
+
let contentsLinkHTMLTransform = null;
|
|
24
|
+
|
|
25
|
+
const htmlNode = nestedHeadingNode.getHTMLNode(),
|
|
26
|
+
headingHTMLNode = htmlNode; ///
|
|
27
|
+
|
|
28
|
+
if (headingHTMLNode !== null) {
|
|
29
|
+
const identifier = headingHTMLNode.identifier(context),
|
|
30
|
+
lineHTMLNode = headingHTMLNode.getLineHTMLNode(),
|
|
31
|
+
lineHTMLTransform = LineHTMLTransform.fromLineHTMLNode(lineHTMLNode, context),
|
|
32
|
+
contentsLinkHTMLNode = ContentsLinkHTMLNode.fromLineHTMLTransformAndIdentifier(lineHTMLTransform, identifier),
|
|
33
|
+
htmlNode = contentsLinkHTMLNode; ///
|
|
34
|
+
|
|
35
|
+
contentsLinkHTMLTransform = HTMLTransform.fromHTMLNode(ContentsLinkHTMLTransform, htmlNode);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return contentsLinkHTMLTransform;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../../transform/html"
|
|
4
|
+
import DivisionHTMLNode from "../../../node/html/division";
|
|
5
|
+
|
|
6
|
+
export default class FootnoteLinkHTMLTransform extends HTMLTransform {
|
|
7
|
+
getDivisionHTMLNode() {
|
|
8
|
+
const footnoteLinkHTMLNode = this.getFootnoteLinkHTMLNode(),
|
|
9
|
+
divisionHTMLNode = footnoteLinkHTMLNode.findAncestorNode((ancestorNode) => {
|
|
10
|
+
const ancestorNodeDivisionHTMLNode = (ancestorNode instanceof DivisionHTMLNode);
|
|
11
|
+
|
|
12
|
+
if (ancestorNodeDivisionHTMLNode) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
return divisionHTMLNode;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
getContainingHTMLNode() {
|
|
21
|
+
let containingHTMLNode;
|
|
22
|
+
|
|
23
|
+
const footnoteLinkHTMLNode = this.getFootnoteLinkHTMLNode();
|
|
24
|
+
|
|
25
|
+
footnoteLinkHTMLNode.someAncestorNode((ancestorNode) => {
|
|
26
|
+
const ancestorNodeDivisionHTMLNode = (ancestorNode instanceof DivisionHTMLNode);
|
|
27
|
+
|
|
28
|
+
if (ancestorNodeDivisionHTMLNode) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
containingHTMLNode = ancestorNode; ///
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
return containingHTMLNode;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
getFootnoteLinkHTMLNode() {
|
|
39
|
+
const htmlNode = this.getHTMLNode(),
|
|
40
|
+
footnoteLinkHHTMLNode = htmlNode; ///
|
|
41
|
+
|
|
42
|
+
return footnoteLinkHHTMLNode;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
identifier(context) {
|
|
46
|
+
const footnoteLinkHTMLNode = this.getFootnoteLinkHTMLNode(),
|
|
47
|
+
identifier = footnoteLinkHTMLNode.identifier(context);
|
|
48
|
+
|
|
49
|
+
return identifier;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
static fromFootnoteLinkHTMLNode(footnoteLinkHTMLNode) {
|
|
53
|
+
const htmlNode = footnoteLinkHTMLNode, ///
|
|
54
|
+
footnoteLinkHTMLTransform = HTMLTransform.fromHTMLNode(FootnoteLinkHTMLTransform, htmlNode);
|
|
55
|
+
|
|
56
|
+
return footnoteLinkHTMLTransform;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../../transform/html"
|
|
4
|
+
|
|
5
|
+
export default class NestedFootnoteLinkHTMLTransform extends HTMLTransform {
|
|
6
|
+
static fromNestedFootnoteLinkHTMLNode(nestedFootnoteLinkHTMLNode) {
|
|
7
|
+
const htmlNode = nestedFootnoteLinkHTMLNode, ///
|
|
8
|
+
nestedFootnoteLinkHTMLTransform = HTMLTransform.fromHTMLNode(NestedFootnoteLinkHTMLTransform, htmlNode);
|
|
9
|
+
|
|
10
|
+
return nestedFootnoteLinkHTMLTransform;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { nodeUtilities } from "occam-dom";
|
|
4
|
+
import { arrayUtilities } from "necessary";
|
|
5
|
+
|
|
6
|
+
import HTMLTransform from "../../../transform/html";
|
|
7
|
+
import ContentsListHTMLNode from "../../../node/html/list/contents";
|
|
8
|
+
import ContentsItemHTMLTransform from "../../../transform/html/item/contents";
|
|
9
|
+
|
|
10
|
+
import { nestHTMLNodes } from "../../../utilities/contents";
|
|
11
|
+
import { headingHTMLNodesFromNode } from "../../../utilities/html";
|
|
12
|
+
|
|
13
|
+
const { filter } = arrayUtilities,
|
|
14
|
+
{ isLessThan } = nodeUtilities;
|
|
15
|
+
|
|
16
|
+
class ContentsListHTMLTransform extends HTMLTransform {
|
|
17
|
+
replaceContentsDirectiveHTMLTransform(contentsDirectiveHTMLTransform) {
|
|
18
|
+
const contentsDirectiveHTMLNode = contentsDirectiveHTMLTransform.getContentsDirectiveHTMLNode(),
|
|
19
|
+
replacedHTMLNode = contentsDirectiveHTMLNode; ///
|
|
20
|
+
|
|
21
|
+
super.replace(replacedHTMLNode);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
static fromContentsDirectiveHTMLTransformAndTopmostHTMLNode(contentsDirectiveHTMLTransform, topmostHTMLNode, context) {
|
|
25
|
+
let contentsListHTMLTransform = null;
|
|
26
|
+
|
|
27
|
+
const node = topmostHTMLNode, ///
|
|
28
|
+
headingHTMLNodes = headingHTMLNodesFromNode(node),
|
|
29
|
+
contentsDirectiveHTMLNode = contentsDirectiveHTMLTransform.getContentsDirectiveHTMLNode();
|
|
30
|
+
|
|
31
|
+
filter(headingHTMLNodes, (headingHTMLNode) => {
|
|
32
|
+
const contentsDirectiveHTMLNodeLessThanHeadingHTMLNode = isLessThan(contentsDirectiveHTMLNode, headingHTMLNode);
|
|
33
|
+
|
|
34
|
+
if (contentsDirectiveHTMLNodeLessThanHeadingHTMLNode) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
const headingHTMLNodesLength = headingHTMLNodes.length;
|
|
40
|
+
|
|
41
|
+
if (headingHTMLNodesLength > 0) {
|
|
42
|
+
const nestedHeadingNodes = nestedHeadingNodesFromHeadingHTMLNodes(headingHTMLNodes),
|
|
43
|
+
contentsItemHTMLTransforms = contentsItemHTMLTransformsFromNestedHeadingNodes(nestedHeadingNodes, context),
|
|
44
|
+
contentsListHTMLNode = ContentsListHTMLNode.fromContentsItemHTMLTransforms(contentsItemHTMLTransforms),
|
|
45
|
+
htmlNode = contentsListHTMLNode; ///
|
|
46
|
+
|
|
47
|
+
contentsListHTMLTransform = HTMLTransform.fromHTMLNode(ContentsListHTMLTransform, htmlNode);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return contentsListHTMLTransform;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
static fromNestedHeadingNodes(nestedHeadingNodes, context) {
|
|
54
|
+
const contentsItemHTMLTransforms = contentsItemHTMLTransformsFromNestedHeadingNodes(nestedHeadingNodes, context),
|
|
55
|
+
contentsListHTMLNode = ContentsListHTMLNode.fromContentsItemHTMLTransforms(contentsItemHTMLTransforms),
|
|
56
|
+
htmlNode = contentsListHTMLNode, ///
|
|
57
|
+
contentsListHTMLTransform = HTMLTransform.fromHTMLNode(ContentsListHTMLTransform, htmlNode);
|
|
58
|
+
|
|
59
|
+
return contentsListHTMLTransform;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
Object.assign(ContentsItemHTMLTransform, { ///
|
|
64
|
+
ContentsListHTMLTransform
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
export default ContentsListHTMLTransform;
|
|
68
|
+
|
|
69
|
+
function nestedHeadingNodesFromHeadingHTMLNodes(headingHTMLNodes) {
|
|
70
|
+
const htmlNodes = headingHTMLNodes, ///
|
|
71
|
+
nestedNode = nestHTMLNodes(htmlNodes),
|
|
72
|
+
childNestedNodes = nestedNode.getChildNestedNodes(),
|
|
73
|
+
nestedHeadingNodes = childNestedNodes; ///
|
|
74
|
+
|
|
75
|
+
return nestedHeadingNodes;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function contentsItemHTMLTransformsFromNestedHeadingNodes(nestedHeadingNodes, context) {
|
|
79
|
+
const contentsItemHTMLTransforms = nestedHeadingNodes.map((nestedHeadingNode) => {
|
|
80
|
+
const contentsItemHTMLTransform = ContentsItemHTMLTransform.fromNestedHeadingNode(nestedHeadingNode, context);
|
|
81
|
+
|
|
82
|
+
return contentsItemHTMLTransform;
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
return contentsItemHTMLTransforms;
|
|
86
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../../transform/html";
|
|
4
|
+
import FootnotesListHTMLNode from "../../../node/html/list/footnotes";
|
|
5
|
+
|
|
6
|
+
export default class FootnotesListHTMLTransform extends HTMLTransform {
|
|
7
|
+
appendToDivisionHTMLNode(divisionHTMLNode) {
|
|
8
|
+
const parentHTMLNode = divisionHTMLNode;
|
|
9
|
+
|
|
10
|
+
this.appendTo(parentHTMLNode);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
static fromStartAndFootnoteItemHTMLTransforms(start, footnoteItemHTMLTransforms) {
|
|
14
|
+
const footnotesListHTMLNode = FootnotesListHTMLNode.fromStartAndFootnoteItemHTMLTransforms(start, footnoteItemHTMLTransforms),
|
|
15
|
+
htmlNode = footnotesListHTMLNode, ///
|
|
16
|
+
footnotesListHTMLTransform = HTMLTransform.fromHTMLNode(FootnotesListHTMLTransform, htmlNode);
|
|
17
|
+
|
|
18
|
+
return footnotesListHTMLTransform;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../../transform/html";
|
|
4
|
+
import IndexListHTMLNode from "../../../node/html/list/index";
|
|
5
|
+
import IndexItemHTMLTransform from "../../../transform/html/item/index";
|
|
6
|
+
|
|
7
|
+
export default class IndexListHTMLTransform extends HTMLTransform {
|
|
8
|
+
static fromIndexListAndLetter(indexList, letter) {
|
|
9
|
+
let indexListHTMLTransform = null;
|
|
10
|
+
|
|
11
|
+
const indexItemHTMLTransforms = indexList.reduceIndexItemByLetter(letter, (indexItem) => {
|
|
12
|
+
const indexItemHTMLTransform = IndexItemHTMLTransform.fromIndexItem(indexItem);
|
|
13
|
+
|
|
14
|
+
return indexItemHTMLTransform;
|
|
15
|
+
}),
|
|
16
|
+
indexItemHTMLTransformsLength = indexItemHTMLTransforms.length;
|
|
17
|
+
|
|
18
|
+
if (indexItemHTMLTransformsLength > 0) {
|
|
19
|
+
const indexListHTMLNode = IndexListHTMLNode.fromIndexItemHTMLTransforms(indexItemHTMLTransforms),
|
|
20
|
+
htmlNode = indexListHTMLNode; ///
|
|
21
|
+
|
|
22
|
+
indexListHTMLTransform = HTMLTransform.fromHTMLNode(IndexListHTMLTransform, htmlNode);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return indexListHTMLTransform;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../transform/html"
|
|
4
|
+
import PageNumberHTMLNode from "../../node/html/pageNumber";
|
|
5
|
+
|
|
6
|
+
export default class PageNumberTMLTransform extends HTMLTransform {
|
|
7
|
+
appendToDivisionHTMLNode(divisionHTMLNode) {
|
|
8
|
+
const parentHTMLNode = divisionHTMLNode;
|
|
9
|
+
|
|
10
|
+
this.appendTo(parentHTMLNode);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
static fromPageNumber(pageNumber) {
|
|
14
|
+
const pageNumberHTMLNode = PageNumberHTMLNode.fromPageNumber(pageNumber),
|
|
15
|
+
htmlNode = pageNumberHTMLNode, ///
|
|
16
|
+
paragraphHTMLTransform = HTMLTransform.fromHTMLNode(PageNumberTMLTransform, htmlNode);
|
|
17
|
+
|
|
18
|
+
return paragraphHTMLTransform;
|
|
19
|
+
}
|
|
20
|
+
}
|