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
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import SubDivisionTransform from "../subDivision";
|
|
4
|
-
|
|
5
|
-
export default class FootnotesDirectiveSubDivisionTransform extends SubDivisionTransform {
|
|
6
|
-
static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
|
|
7
|
-
let footnotesDirectiveSubDivisionTransform = null;
|
|
8
|
-
|
|
9
|
-
const node = subDivisionMarkdownNode, ///
|
|
10
|
-
footnotesDirectiveMarkdownNode = footnotesDirectiveMarkdownNodeFromNode(node);
|
|
11
|
-
|
|
12
|
-
if (footnotesDirectiveMarkdownNode !== null) {
|
|
13
|
-
footnotesDirectiveSubDivisionTransform = SubDivisionTransform.fromSubDivisionMarkdownNode(FootnotesDirectiveSubDivisionTransform, subDivisionMarkdownNode, context);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
return footnotesDirectiveSubDivisionTransform;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { Transform } from "occam-dom";
|
|
4
|
-
|
|
5
|
-
import FootnotesItemMarkdownNode from "../node/markdown/item/footnotes";
|
|
6
|
-
|
|
7
|
-
export default class FootnotesItemTransform extends Transform {
|
|
8
|
-
getFootnotesItemMarkdownNode() {
|
|
9
|
-
const node = this.getNode(),
|
|
10
|
-
footnotesItemMarkdownNode = node; ///
|
|
11
|
-
|
|
12
|
-
return footnotesItemMarkdownNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
static fromNode(node, context) { return Transform.fromNode(FootnotesItemTransform, node, context); }
|
|
16
|
-
|
|
17
|
-
static fromFootnoteTransformAndIdentifier(footnoteTransform, identifier) {
|
|
18
|
-
const footnoteMarkdownNode = footnoteTransform.getFootnoteMarkdownNode(),
|
|
19
|
-
footnotesItemMarkdownNode = FootnotesItemMarkdownNode.fromFootnotesMarkdownNodeAndIdentifier(footnoteMarkdownNode, identifier),
|
|
20
|
-
ascendantNode = footnotesItemMarkdownNode, ///
|
|
21
|
-
footnotesItemTransform = footnoteTransform.expand(FootnotesItemTransform, ascendantNode);
|
|
22
|
-
|
|
23
|
-
return footnotesItemTransform;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { Transform } from "occam-dom";
|
|
4
|
-
|
|
5
|
-
import FootnotesItemTransform from "../transform/footnotesItem";
|
|
6
|
-
import FootnotesListMarkdownNode from "../node/markdown/list/footnotes";
|
|
7
|
-
|
|
8
|
-
export default class FootnotesListTransform extends Transform {
|
|
9
|
-
replaceFootnotesDirectiveSubDivisionTransform(footnotesDirectiveSubDivisionTransform, divisionMarkdownNode, context) {
|
|
10
|
-
const subDivisionMarkdownNode = footnotesDirectiveSubDivisionTransform.getSubDivisionMarkdownNode(),
|
|
11
|
-
replacedNode = subDivisionMarkdownNode, ///
|
|
12
|
-
parentNode = divisionMarkdownNode; ///
|
|
13
|
-
|
|
14
|
-
super.replace(replacedNode, parentNode, context)
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
static fromDivisionMarkdownNodeAndFootnoteTransformMap(divisionMarkdownNode, footnoteTransformMap, context) {
|
|
18
|
-
let footnotesListTransform = null;
|
|
19
|
-
|
|
20
|
-
const node = divisionMarkdownNode, ///
|
|
21
|
-
start = startFromFootnoteTransformMap(footnoteTransformMap),
|
|
22
|
-
footnoteLinkMarkdownNodes = footnoteLinkMarkdownNodesFromNode(node),
|
|
23
|
-
footnotesItemTransforms = [];
|
|
24
|
-
|
|
25
|
-
let number = start;
|
|
26
|
-
|
|
27
|
-
footnoteLinkMarkdownNodes.forEach((footnoteLinkMarkdownNode) => {
|
|
28
|
-
const identifier = footnoteLinkMarkdownNode.identifier(context),
|
|
29
|
-
footnoteTransform = footnoteTransformMap[identifier] || null;
|
|
30
|
-
|
|
31
|
-
if (footnoteTransform !== null) {
|
|
32
|
-
const footnoteTransformUnnumbered = footnoteTransform.isUnnumbered();
|
|
33
|
-
|
|
34
|
-
if (footnoteTransformUnnumbered) {
|
|
35
|
-
const footnotesItemTransform = FootnotesItemTransform.fromFootnoteTransformAndIdentifier(footnoteTransform, identifier, context);
|
|
36
|
-
|
|
37
|
-
footnotesItemTransforms.push(footnotesItemTransform);
|
|
38
|
-
|
|
39
|
-
footnoteTransform.setNumber(number);
|
|
40
|
-
|
|
41
|
-
number++;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
const footnotesItemTransformsLength = footnotesItemTransforms.length;
|
|
47
|
-
|
|
48
|
-
if (footnotesItemTransformsLength > 0) {
|
|
49
|
-
const footnotesListMarkdownNode = FootnotesListMarkdownNode.fromFootnotesItemTransformsAndStart(footnotesItemTransforms, start),
|
|
50
|
-
node = footnotesListMarkdownNode, ///
|
|
51
|
-
tokens = [];
|
|
52
|
-
|
|
53
|
-
footnotesItemTransforms.forEach((footnotesItemTransform) => {
|
|
54
|
-
footnotesItemTransform.getTokens(tokens);
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
footnotesListTransform = Transform.fromNodeAndTokens(FootnotesListTransform, node, tokens);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return footnotesListTransform;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
function startFromFootnoteTransformMap(footnoteTransformMap) {
|
|
65
|
-
const footnoteTransforms = Object.values(footnoteTransformMap), ///
|
|
66
|
-
numberedFootnoteTransforms = footnoteTransforms.filter((footnoteTransform) => {
|
|
67
|
-
const footnoteTransformNumbered = footnoteTransform.isNumbered();
|
|
68
|
-
|
|
69
|
-
if (footnoteTransformNumbered) {
|
|
70
|
-
return true;
|
|
71
|
-
}
|
|
72
|
-
}),
|
|
73
|
-
numberedFootnoteTransformsLength = numberedFootnoteTransforms.length,
|
|
74
|
-
start = numberedFootnoteTransformsLength + 1;
|
|
75
|
-
|
|
76
|
-
return start;
|
|
77
|
-
}
|
package/src/transform/index.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { Transform, transformUtilities } from "occam-dom";
|
|
4
|
-
|
|
5
|
-
import letters from "../letters";
|
|
6
|
-
import IndexList from "../index/list";
|
|
7
|
-
import IndexListTransform from "../transform/indexList";
|
|
8
|
-
import IndexHeadingTransform from "../transform/indexHeading";
|
|
9
|
-
|
|
10
|
-
const { replaceNodes, replaceTokens } = transformUtilities;
|
|
11
|
-
|
|
12
|
-
export default class IndexTransform extends Transform {
|
|
13
|
-
constructor(node, tokens, nodes) {
|
|
14
|
-
super(node, tokens);
|
|
15
|
-
|
|
16
|
-
this.nodes = nodes;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
getNodes() {
|
|
20
|
-
return this.nodes;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
replace(replacedNode, parentNode, context) {
|
|
24
|
-
let tokens;
|
|
25
|
-
|
|
26
|
-
tokens = this.getTokens();
|
|
27
|
-
|
|
28
|
-
const replacementNodes = this.nodes, ///
|
|
29
|
-
replacementTokens = tokens; ///
|
|
30
|
-
|
|
31
|
-
({ tokens } = context);
|
|
32
|
-
|
|
33
|
-
replaceNodes(replacementNodes, replacedNode, parentNode);
|
|
34
|
-
|
|
35
|
-
replaceTokens(replacementTokens, replacedNode, tokens);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
replaceIndexDirectiveSubdivisionTransform(indexDirectiveSubDivisionTransform, divisionMarkdownNode, context) {
|
|
39
|
-
const subDivisionMarkdownNode = indexDirectiveSubDivisionTransform.getSubDivisionMarkdownNode(),
|
|
40
|
-
replacedNode = subDivisionMarkdownNode, ///
|
|
41
|
-
parentNode = divisionMarkdownNode; ///
|
|
42
|
-
|
|
43
|
-
this.replace(replacedNode, parentNode, context)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
static fromDivisionMarkdownNodesAndDivisionMarkdownNode(divisionMarkdownNodes, divisionMarkdownNode, context) {
|
|
47
|
-
let indexTransform = null;
|
|
48
|
-
|
|
49
|
-
const indexList = IndexList.fromDivisionMarkdownNodes(divisionMarkdownNodes, context),
|
|
50
|
-
indexTransforms = [];
|
|
51
|
-
|
|
52
|
-
letters.forEach((letter) => {
|
|
53
|
-
const indexListTransform = IndexListTransform.fromIndexListAndLetter(indexList, letter, context);
|
|
54
|
-
|
|
55
|
-
if (indexListTransform !== null) {
|
|
56
|
-
let indexTransform;
|
|
57
|
-
|
|
58
|
-
const indexHeadingTransform = IndexHeadingTransform.fromLetter(letter, context);
|
|
59
|
-
|
|
60
|
-
indexTransform = indexHeadingTransform; ///
|
|
61
|
-
|
|
62
|
-
indexTransforms.push(indexTransform);
|
|
63
|
-
|
|
64
|
-
indexTransform = indexListTransform; ///
|
|
65
|
-
|
|
66
|
-
indexTransforms.push(indexTransform);
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
const indexListTransformsLength = indexTransforms.length;
|
|
71
|
-
|
|
72
|
-
if (indexListTransformsLength > 0) {
|
|
73
|
-
const node = null,
|
|
74
|
-
nodes = [],
|
|
75
|
-
tokens = [];
|
|
76
|
-
|
|
77
|
-
indexTransforms.forEach((indexTransform) => {
|
|
78
|
-
const node = indexTransform.getNode();
|
|
79
|
-
|
|
80
|
-
indexTransform.getTokens(tokens);
|
|
81
|
-
|
|
82
|
-
nodes.push(node);
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
indexTransform = Transform.fromNodeAndTokens(IndexTransform, node, tokens, nodes);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
return indexTransform;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { Transform } from "occam-dom";
|
|
4
|
-
|
|
5
|
-
import AnchorMarkdownNode from "../node/markdown/anchor";
|
|
6
|
-
|
|
7
|
-
import { INDEX_PREPEND } from "../prepends";
|
|
8
|
-
|
|
9
|
-
export default class IndexAnchorTransform extends Transform {
|
|
10
|
-
getAnchorMarkdownNode() {
|
|
11
|
-
const node = this.getNode(),
|
|
12
|
-
anchorMarkdownNode = node; ///
|
|
13
|
-
|
|
14
|
-
return anchorMarkdownNode;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
static fromPageNumber(pageNumber, context) {
|
|
18
|
-
const prepend = INDEX_PREPEND,
|
|
19
|
-
identifier = pageNumber, ///
|
|
20
|
-
anchorMarkdownNode = AnchorMarkdownNode.fromPrependAndIdentifier(prepend, identifier),
|
|
21
|
-
node = anchorMarkdownNode, ///
|
|
22
|
-
tokens = [],
|
|
23
|
-
indexAnchorTransform = Transform.fromNodeAndTokens(IndexAnchorTransform, node, tokens);
|
|
24
|
-
|
|
25
|
-
return indexAnchorTransform;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import SubDivisionTransform from "../subDivision";
|
|
4
|
-
|
|
5
|
-
export default class IndexDirectiveSubDivisionTransform extends SubDivisionTransform {
|
|
6
|
-
static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
|
|
7
|
-
let indexDirectiveSubDivisionTransform = null;
|
|
8
|
-
|
|
9
|
-
const node = subDivisionMarkdownNode, ///
|
|
10
|
-
indexDirectiveMarkdownNode = indexDirectiveMarkdownNodeFromNode(node);
|
|
11
|
-
|
|
12
|
-
if (indexDirectiveMarkdownNode !== null) {
|
|
13
|
-
indexDirectiveSubDivisionTransform = SubDivisionTransform.fromSubDivisionMarkdownNode(IndexDirectiveSubDivisionTransform, subDivisionMarkdownNode, context);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
return indexDirectiveSubDivisionTransform;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { Transform } from "occam-dom";
|
|
4
|
-
|
|
5
|
-
import { INDEX_HEADING_RULE_NAME } from "../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class IndexHeadingTransform extends Transform {
|
|
8
|
-
static fromLetter(letter, context) {
|
|
9
|
-
const { nodeFromTokens, tokensFromContent } = context, ///
|
|
10
|
-
startRuleName = INDEX_HEADING_RULE_NAME,
|
|
11
|
-
content = `${letter}`,
|
|
12
|
-
tokens = tokensFromContent(content),
|
|
13
|
-
node = nodeFromTokens(tokens, startRuleName),
|
|
14
|
-
indexHeadingTransform = Transform.fromNodeAndTokens(IndexHeadingTransform, node, tokens);
|
|
15
|
-
|
|
16
|
-
return indexHeadingTransform;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { Transform } from "occam-dom";
|
|
4
|
-
|
|
5
|
-
import { COMMA } from "../constants";
|
|
6
|
-
import { INDEX_ITEM_RULE_NAME } from "../ruleNames";
|
|
7
|
-
|
|
8
|
-
export default class IndexItemTransform extends Transform {
|
|
9
|
-
getIndexItemMarkdownNode() {
|
|
10
|
-
const node = this.getNode(),
|
|
11
|
-
indexItemMarkdownNode = node; ///
|
|
12
|
-
|
|
13
|
-
return indexItemMarkdownNode;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
static fromIndexItem(indexItem, context) {
|
|
17
|
-
const { nodeFromTokens, tokensFromContent } = context,
|
|
18
|
-
wordOrPhrase = indexItem.getWordOrPhrase(),
|
|
19
|
-
pageNumbers = indexItem.getPageNumbers(),
|
|
20
|
-
pageNumbersContent = pageNumbers.join(COMMA),
|
|
21
|
-
content = `${wordOrPhrase},${pageNumbersContent}`,
|
|
22
|
-
startRuleName = INDEX_ITEM_RULE_NAME,
|
|
23
|
-
tokens = tokensFromContent(content),
|
|
24
|
-
node = nodeFromTokens(tokens, startRuleName),
|
|
25
|
-
indexItemTransform = Transform.fromNodeAndTokens(IndexItemTransform, node, tokens);
|
|
26
|
-
|
|
27
|
-
return indexItemTransform;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { Transform } from "occam-dom";
|
|
4
|
-
|
|
5
|
-
import IndexItemTransform from "../transform/indexItem";
|
|
6
|
-
import IndexListMarkdownNode from "../node/markdown/list/index";
|
|
7
|
-
|
|
8
|
-
export default class IndexListTransform extends Transform {
|
|
9
|
-
static fromIndexListAndLetter(indexList, letter, context) {
|
|
10
|
-
let indexListTransform = null;
|
|
11
|
-
|
|
12
|
-
const indexItemTransforms = indexList.reduceIndexItemByLetter(letter, (indexItem) => {
|
|
13
|
-
const indexItemTransform = IndexItemTransform.fromIndexItem(indexItem, context);
|
|
14
|
-
|
|
15
|
-
return indexItemTransform;
|
|
16
|
-
}),
|
|
17
|
-
indexItemTransformsLength = indexItemTransforms.length;
|
|
18
|
-
|
|
19
|
-
if (indexItemTransformsLength > 0) {
|
|
20
|
-
const indexListMarkdownNode = IndexListMarkdownNode.fromIndexItemTransforms(indexItemTransforms),
|
|
21
|
-
node = indexListMarkdownNode, ///
|
|
22
|
-
tokens = [];
|
|
23
|
-
|
|
24
|
-
indexItemTransforms.forEach((indexItemTransform) => {
|
|
25
|
-
indexItemTransform.getTokens(tokens);
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
indexListTransform = Transform.fromNodeAndTokens(IndexListTransform, node, tokens);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
return indexListTransform;
|
|
32
|
-
}
|
|
33
|
-
}
|
package/src/transform/line.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { Transform } from "occam-dom";
|
|
4
|
-
|
|
5
|
-
export default class LineTransform extends Transform {
|
|
6
|
-
getLineMarkdownNode() {
|
|
7
|
-
const node = this.getNode(),
|
|
8
|
-
lineMarkdownNode = node; ///
|
|
9
|
-
|
|
10
|
-
return lineMarkdownNode;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
static fromLineMarkdownNode(lineMarkdownNode, context) {
|
|
14
|
-
const node = lineMarkdownNode, ///
|
|
15
|
-
lineTransform = Transform.fromNode(LineTransform, node, context);
|
|
16
|
-
|
|
17
|
-
return lineTransform;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import SubDivisionTransform from "../subDivision";
|
|
4
|
-
|
|
5
|
-
export default class PageNumberDirectiveSubDivisionTransform extends SubDivisionTransform {
|
|
6
|
-
static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
|
|
7
|
-
let pageNumberDirectiveSubDivisionTransform = null;
|
|
8
|
-
|
|
9
|
-
const node = subDivisionMarkdownNode, ///
|
|
10
|
-
pageNumberDirectiveMarkdownNode = pageNumberDirectiveMarkdownNodeFromNode(node);
|
|
11
|
-
|
|
12
|
-
if (pageNumberDirectiveMarkdownNode !== null) {
|
|
13
|
-
pageNumberDirectiveSubDivisionTransform = SubDivisionTransform.fromSubDivisionMarkdownNode(PageNumberDirectiveSubDivisionTransform, subDivisionMarkdownNode, context);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
return pageNumberDirectiveSubDivisionTransform;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
File without changes
|