highmark-markdown 1.0.177 → 1.0.178
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 +1673 -2462
- package/lib/example/view/div/preview.js +19 -19
- package/lib/example/view/div/sizeable/left.js +2 -2
- package/lib/example/view/textarea/plainText.js +3 -3
- package/lib/example/view/xmp.js +3 -3
- package/lib/example/view.js +7 -8
- package/lib/index.js +15 -7
- package/lib/map/className.js +4 -45
- package/lib/map/node/html.js +12 -5
- package/lib/map/node/markdown.js +2 -2
- package/lib/map/tagName.js +4 -45
- package/lib/node/html/topmost.js +21 -39
- package/lib/node/html.js +15 -1
- package/lib/node/markdown/directive/embee.js +8 -8
- package/lib/node/markdown/directive/include.js +7 -7
- package/lib/node/markdown/division.js +21 -220
- package/lib/node/markdown/subDivision.js +11 -14
- package/lib/node/markdown/topmost.js +3 -3
- package/lib/queries.js +4 -3
- package/lib/ruleNames.js +11 -6
- package/lib/transform/{subDivision/contentsDirective.js → contentsDirective.js} +2 -3
- package/lib/transform/contentsList.js +2 -3
- package/lib/transform/footnote.js +2 -3
- package/lib/transform/{subDivision/footnote.js → footnoteIdentifier.js} +3 -4
- package/lib/transform/{subDivision/footnotesDirective.js → footnotesDirective.js} +2 -3
- package/lib/transform/footnotesList.js +2 -3
- package/lib/transform/{subDivision/indexDirective.js → indexDirective.js} +2 -3
- package/lib/transform/{embedDirective.js → markdown/directive/embed.js} +12 -12
- package/lib/transform/{ignoreDirective.js → markdown/directive/ignore.js} +12 -12
- package/lib/transform/{includeDirective.js → markdown/directive/include.js} +12 -12
- package/lib/transform/{subDivision.js → markdown/subDivision.js} +12 -12
- package/lib/transform/{subDivision/pageNumberDirective.js → pageNumberDirective.js} +2 -3
- package/lib/utilities/dom.js +62 -0
- package/lib/utilities/footnotes.js +2 -3
- package/lib/utilities/html.js +135 -50
- package/lib/utilities/index.js +5 -5
- package/lib/utilities/markdown.js +89 -0
- package/lib/utilities/query.js +17 -129
- package/package.json +4 -4
- package/src/example/view/div/preview.js +16 -16
- package/src/example/view/div/sizeable/left.js +1 -1
- package/src/example/view/textarea/plainText.js +2 -2
- package/src/example/view/xmp.js +3 -2
- package/src/example/view.js +9 -10
- package/src/index.js +2 -0
- package/src/map/className.js +3 -6
- package/src/map/node/html.js +14 -2
- package/src/map/node/markdown.js +2 -2
- package/src/map/tagName.js +3 -6
- package/src/node/html/topmost.js +16 -47
- package/src/node/html.js +12 -0
- package/src/node/markdown/directive/embee.js +5 -5
- package/src/node/markdown/directive/include.js +5 -5
- package/src/node/markdown/division.js +128 -135
- package/src/node/markdown/subDivision.js +7 -10
- package/src/node/markdown/topmost.js +1 -1
- package/src/queries.js +5 -3
- package/src/ruleNames.js +4 -2
- package/src/transform/{subDivision/contentsDirective.js → contentsDirective.js} +0 -2
- package/src/transform/contentsList.js +0 -1
- package/src/transform/footnote.js +0 -2
- package/src/transform/{subDivision/footnote.js → footnoteIdentifier.js} +0 -2
- package/src/transform/{subDivision/footnotesDirective.js → footnotesDirective.js} +0 -2
- package/src/transform/footnotesList.js +0 -2
- package/src/transform/{subDivision/indexDirective.js → indexDirective.js} +0 -2
- package/src/transform/{embedDirective.js → markdown/directive/embed.js} +3 -3
- package/src/transform/{ignoreDirective.js → markdown/directive/ignore.js} +3 -3
- package/src/transform/{includeDirective.js → markdown/directive/include.js} +3 -3
- package/src/transform/{subDivision.js → markdown/subDivision.js} +3 -3
- package/src/transform/{subDivision/pageNumberDirective.js → pageNumberDirective.js} +0 -2
- package/src/utilities/dom.js +58 -0
- package/src/utilities/footnotes.js +0 -2
- package/src/utilities/html.js +122 -49
- package/src/utilities/index.js +4 -4
- package/src/utilities/markdown.js +72 -0
- package/src/utilities/query.js +12 -122
package/src/ruleNames.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
export const HTML_RULE_NAME = "html";
|
|
3
4
|
export const LINE_RULE_NAME = "line";
|
|
4
5
|
export const PATH_RULE_NAME = "path";
|
|
5
6
|
export const IMAGE_RULE_NAME = "image";
|
|
@@ -8,7 +9,7 @@ export const ERROR_RULE_NAME = "error";
|
|
|
8
9
|
export const COMMA_RULE_NAME = "comma";
|
|
9
10
|
export const ANCHOR_RULE_NAME = "anchor";
|
|
10
11
|
export const FOOTER_RULE_NAME = "footer";
|
|
11
|
-
export const
|
|
12
|
+
export const MARKDOWN_RULE_NAME = "markdown";
|
|
12
13
|
export const DIVISION_RULE_NAME = "division";
|
|
13
14
|
export const FOOTNOTE_RULE_NAME = "footnote";
|
|
14
15
|
export const NONSENSE_RULE_NAME = "nonsense";
|
|
@@ -70,6 +71,7 @@ export const PAGE_NUMBER_DIRECTIVE_RULE_NAME = "pageNumberDirective";
|
|
|
70
71
|
export const STRONGLY_EMPHASISED_TEXT_RULE_NAME = "stronglyEmphasisedText";
|
|
71
72
|
|
|
72
73
|
const ruleNames = {
|
|
74
|
+
HTML_RULE_NAME,
|
|
73
75
|
LINE_RULE_NAME,
|
|
74
76
|
PATH_RULE_NAME,
|
|
75
77
|
COMMA_RULE_NAME,
|
|
@@ -77,7 +79,7 @@ const ruleNames = {
|
|
|
77
79
|
TABLE_RULE_NAME,
|
|
78
80
|
ERROR_RULE_NAME,
|
|
79
81
|
ANCHOR_RULE_NAME,
|
|
80
|
-
|
|
82
|
+
MARKDOWN_RULE_NAME,
|
|
81
83
|
DIVISION_RULE_NAME,
|
|
82
84
|
FOOTNOTE_RULE_NAME,
|
|
83
85
|
NONSENSE_RULE_NAME,
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import SubDivisionTransform from "../subDivision";
|
|
4
4
|
|
|
5
|
-
import { contentsDirectiveMarkdownNodeFromNode } from "../../utilities/query";
|
|
6
|
-
|
|
7
5
|
export default class ContentsDirectiveSubDivisionTransform extends SubDivisionTransform {
|
|
8
6
|
static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
|
|
9
7
|
let contentsDirectiveSubDivisionTransform = null;
|
|
@@ -7,7 +7,6 @@ import ContentsItemTransform from "../transform/contentsItem";
|
|
|
7
7
|
import ContentsListMarkdownNode from "../node/markdown/list/contents";
|
|
8
8
|
|
|
9
9
|
import { nestNodes } from "../utilities/contents";
|
|
10
|
-
import { headingMarkdownNodesFromNode } from "../utilities/query";
|
|
11
10
|
|
|
12
11
|
const { filter } = arrayUtilities;
|
|
13
12
|
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import SubDivisionTransform from "../subDivision";
|
|
4
4
|
|
|
5
|
-
import { footnoteMarkdownNodeFromNode } from "../../utilities/query";
|
|
6
|
-
|
|
7
5
|
export default class FootnoteSubDivisionTransform extends SubDivisionTransform {
|
|
8
6
|
identifier(context) {
|
|
9
7
|
const subDivisionMarkdownNode = this.getSubDivisionMarkdownNode(),
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import SubDivisionTransform from "../subDivision";
|
|
4
4
|
|
|
5
|
-
import { footnotesDirectiveMarkdownNodeFromNode } from "../../utilities/query";
|
|
6
|
-
|
|
7
5
|
export default class FootnotesDirectiveSubDivisionTransform extends SubDivisionTransform {
|
|
8
6
|
static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
|
|
9
7
|
let footnotesDirectiveSubDivisionTransform = null;
|
|
@@ -5,8 +5,6 @@ import { Transform } from "occam-dom";
|
|
|
5
5
|
import FootnotesItemTransform from "../transform/footnotesItem";
|
|
6
6
|
import FootnotesListMarkdownNode from "../node/markdown/list/footnotes";
|
|
7
7
|
|
|
8
|
-
import { footnoteLinkMarkdownNodesFromNode } from "../utilities/query";
|
|
9
|
-
|
|
10
8
|
export default class FootnotesListTransform extends Transform {
|
|
11
9
|
replaceFootnotesDirectiveSubDivisionTransform(footnotesDirectiveSubDivisionTransform, divisionMarkdownNode, context) {
|
|
12
10
|
const subDivisionMarkdownNode = footnotesDirectiveSubDivisionTransform.getSubDivisionMarkdownNode(),
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import SubDivisionTransform from "../subDivision";
|
|
4
4
|
|
|
5
|
-
import { indexDirectiveMarkdownNodeFromNode } from "../../utilities/query";
|
|
6
|
-
|
|
7
5
|
export default class IndexDirectiveSubDivisionTransform extends SubDivisionTransform {
|
|
8
6
|
static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
|
|
9
7
|
let indexDirectiveSubDivisionTransform = null;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { Transform } from "occam-dom";
|
|
4
4
|
|
|
5
|
-
export default class
|
|
5
|
+
export default class EmbedDirectiveMarkdownTransform extends Transform {
|
|
6
6
|
addAfterSubDivisionMarkdownNode(subDivisionMarkdownNode, divisionMarkdownNode, context) {
|
|
7
7
|
const existingNode = subDivisionMarkdownNode, ///
|
|
8
8
|
parentNode = divisionMarkdownNode; ///
|
|
@@ -12,8 +12,8 @@ export default class EmbedDirectiveTransform extends Transform {
|
|
|
12
12
|
|
|
13
13
|
static fromSubDivisionMarkdownNodeAndTokens(subDivisionMarkdownNode, tokens) {
|
|
14
14
|
const node = subDivisionMarkdownNode, ///
|
|
15
|
-
|
|
15
|
+
embedDirectiveMarkdownTransform = Transform.fromNodeAndTokens(EmbedDirectiveMarkdownTransform, node, tokens);
|
|
16
16
|
|
|
17
|
-
return
|
|
17
|
+
return embedDirectiveMarkdownTransform;
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { Transform } from "occam-dom";
|
|
4
4
|
|
|
5
|
-
export default class
|
|
5
|
+
export default class IgnoreDirectiveMarkdownTransform extends Transform {
|
|
6
6
|
removeFromTopmostMarkdownNode(topmostMarkdownNode, context) {
|
|
7
7
|
const parentNode = topmostMarkdownNode; ///
|
|
8
8
|
|
|
@@ -12,8 +12,8 @@ export default class IgnoreDirectiveTransform extends Transform {
|
|
|
12
12
|
static fromDivisionMarkdownNode(divisionMarkdownNode) {
|
|
13
13
|
const node = divisionMarkdownNode, ///
|
|
14
14
|
tokens = null,
|
|
15
|
-
|
|
15
|
+
ignoredDirectiveMarkdownTransform = Transform.fromNodeAndTokens(IgnoreDirectiveMarkdownTransform, node, tokens);
|
|
16
16
|
|
|
17
|
-
return
|
|
17
|
+
return ignoredDirectiveMarkdownTransform;
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { Transform } from "occam-dom";
|
|
4
4
|
|
|
5
|
-
export default class
|
|
5
|
+
export default class IncludeDirectiveMarkdownTransform extends Transform {
|
|
6
6
|
getDivisionMarkdownNode() {
|
|
7
7
|
const node = this.getNode(),
|
|
8
8
|
divisionMarkdownNode = node; ///
|
|
@@ -22,8 +22,8 @@ export default class IncludeDirectiveTransform extends Transform {
|
|
|
22
22
|
|
|
23
23
|
static fromDivisionMarkdownNodeAndTokens(divisionMarkdownNode, tokens) {
|
|
24
24
|
const node = divisionMarkdownNode, ///
|
|
25
|
-
|
|
25
|
+
includeDirectiveMarkdownTransform = Transform.fromNodeAndTokens(IncludeDirectiveMarkdownTransform, node, tokens);
|
|
26
26
|
|
|
27
|
-
return
|
|
27
|
+
return includeDirectiveMarkdownTransform;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { Transform } from "occam-dom";
|
|
4
4
|
|
|
5
|
-
export default class
|
|
5
|
+
export default class SubDivisionMarkdownTransform extends Transform {
|
|
6
6
|
constructor(node, tokens, subDivisionMarkdownNode) {
|
|
7
7
|
super(node, tokens);
|
|
8
8
|
|
|
@@ -18,8 +18,8 @@ export default class SubDivisionTransform extends Transform {
|
|
|
18
18
|
static fromSubDivisionMarkdownNode(subDivisionMarkdownNode) {
|
|
19
19
|
const node = subDivisionMarkdownNode, ///
|
|
20
20
|
tokens = null,
|
|
21
|
-
|
|
21
|
+
subDivisionMarkdownTransform = Transform.fromNodeAndTokens(SubDivisionMarkdownTransform, node, tokens);
|
|
22
22
|
|
|
23
|
-
return
|
|
23
|
+
return subDivisionMarkdownTransform;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import SubDivisionTransform from "../subDivision";
|
|
4
4
|
|
|
5
|
-
import { pageNumberDirectiveMarkdownNodeFromNode } from "../../utilities/query";
|
|
6
|
-
|
|
7
5
|
export default class PageNumberDirectiveSubDivisionTransform extends SubDivisionTransform {
|
|
8
6
|
static fromSubDivisionMarkdownNode(subDivisionMarkdownNode, context) {
|
|
9
7
|
let pageNumberDirectiveSubDivisionTransform = null;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { nodeUtilities } from "occam-dom";
|
|
4
|
+
|
|
5
|
+
import queries from "../queries";
|
|
6
|
+
import HTMLNode from "../node/html";
|
|
7
|
+
import htmlNodeMap from "../map/node/html";
|
|
8
|
+
import TopmostHTMLNode from "../node/html/topmost";
|
|
9
|
+
|
|
10
|
+
import { nodesFromNodeAndQueries } from "../utilities/query";
|
|
11
|
+
|
|
12
|
+
const { topmostNodeFromOuterNodes } = nodeUtilities;
|
|
13
|
+
|
|
14
|
+
export function htmlNodeFromMarkdownNode(markdownNode) {
|
|
15
|
+
const node = markdownNode, ///
|
|
16
|
+
nodes = nodesFromNodeAndQueries(node, queries),
|
|
17
|
+
outerNodes = nodes, ///
|
|
18
|
+
topmostNOde = topmostNodeFromOuterNodes(ClassFromOuterNode, outerNodes),
|
|
19
|
+
topmostHTMLNode = topmostNOde; ///
|
|
20
|
+
|
|
21
|
+
return topmostHTMLNode;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function htmlNodeFromMarkdownNodes(markdownNodes) {
|
|
25
|
+
const nodes = [];
|
|
26
|
+
|
|
27
|
+
markdownNodes.forEach((markdownNode) => {
|
|
28
|
+
const node = markdownNode; ///
|
|
29
|
+
|
|
30
|
+
nodesFromNodeAndQueries(node, queries, nodes);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
const outerNodes = nodes, ///
|
|
34
|
+
topmostNOde = topmostNodeFromOuterNodes(ClassFromOuterNode, outerNodes),
|
|
35
|
+
topmostHTMLNode = topmostNOde; ///
|
|
36
|
+
|
|
37
|
+
return topmostHTMLNode;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export default {
|
|
41
|
+
htmlNodeFromMarkdownNode,
|
|
42
|
+
htmlNodeFromMarkdownNodes
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
function ClassFromOuterNode(outerNode) {
|
|
46
|
+
let Class;
|
|
47
|
+
|
|
48
|
+
if (outerNode === null) {
|
|
49
|
+
Class = TopmostHTMLNode; ///
|
|
50
|
+
} else {
|
|
51
|
+
const nonTerminalNode = outerNode, ///
|
|
52
|
+
ruleName = nonTerminalNode.getRuleName();
|
|
53
|
+
|
|
54
|
+
Class = htmlNodeMap[ruleName] || HTMLNode;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return Class;
|
|
58
|
+
}
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import FootnotesListMarkdownNode from "../node/markdown/list/footnotes";
|
|
4
4
|
|
|
5
|
-
import { footnoteLinkMarkdownNodesFromNode } from "../utilities/query";
|
|
6
|
-
|
|
7
5
|
export function renumberFootnoteLinkMarkdownNodes(divisionMarkdownNode, footnoteReplacementMap, context) {
|
|
8
6
|
const node = divisionMarkdownNode, ///
|
|
9
7
|
footnoteLinkMarkdownNodes = footnoteLinkMarkdownNodesFromNode(node);
|
package/src/utilities/html.js
CHANGED
|
@@ -1,71 +1,144 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
3
|
+
import { Query } from "occam-query";
|
|
4
|
+
|
|
5
|
+
import { nodeFromNodeAndQuery, nodesFromNodeAndQuery } from "../utilities/query";
|
|
6
|
+
|
|
7
|
+
const footnoteHTMLNodeQuery = Query.fromExpressionString("/division/footnote"),
|
|
8
|
+
ignoreDirectiveHTMLNodeQuery = Query.fromExpressionString("/division/subDivision/directives/ignoreDirective"),
|
|
9
|
+
contentsDirectiveHTMLNodeQuery = Query.fromExpressionString("/division/subDivision/directives/contentsDirective"),
|
|
10
|
+
footnotesDirectiveHTMLNodeQuery = Query.fromExpressionString("/division/subDivision/directives/footnotesDirective"),
|
|
11
|
+
pageNumberDirectiveHTMLNodeQuery = Query.fromExpressionString("//directives/pageNumber"), ///
|
|
12
|
+
headingHTMLNodesQuery = Query.fromExpressionString("/division/primaryHeading|secondaryHeading|tertiaryHeading|quaternaryHeading"), ///
|
|
13
|
+
divisionHTMLNodesQuery = Query.fromExpressionString("/html/division"), ///
|
|
14
|
+
footnotesHTMLNodesQuery = Query.fromExpressionString("//footnote|footnoteLink|footnotesDirective"), ///
|
|
15
|
+
footnoteLinkHTMLNodesQuery = Query.fromExpressionString("//footnoteLink");
|
|
15
16
|
|
|
16
|
-
function
|
|
17
|
-
const
|
|
18
|
-
|
|
17
|
+
export function footnoteHTMLNodeFromNode(node) {
|
|
18
|
+
const footnoteHTMLNode = nodeFromNodeAndQuery(node, footnoteHTMLNodeQuery);
|
|
19
|
+
|
|
20
|
+
return footnoteHTMLNode;
|
|
21
|
+
}
|
|
19
22
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
});
|
|
23
|
+
export function contentsDirectiveHTMLNodeFromNode(node) {
|
|
24
|
+
const contentsDirectiveHTMLNode = nodeFromNodeAndQuery(node, contentsDirectiveHTMLNodeQuery);
|
|
23
25
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
});
|
|
26
|
+
return contentsDirectiveHTMLNode;
|
|
27
|
+
}
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
export function footnotesDirectiveHTMLNodeFromNode(node) {
|
|
30
|
+
const footnotesDirectiveHTMLNode = nodeFromNodeAndQuery(node, footnotesDirectiveHTMLNodeQuery);
|
|
29
31
|
|
|
30
|
-
return
|
|
32
|
+
return footnotesDirectiveHTMLNode;
|
|
31
33
|
}
|
|
32
34
|
|
|
33
|
-
function
|
|
34
|
-
|
|
35
|
-
const indexCreated = divisionMarkdownNode.createIndex(divisionMarkdownNodes, context);
|
|
35
|
+
export function pageNumberDirectiveHTMLNodeFromNode(node) {
|
|
36
|
+
const pageNumberDirectiveHTMLNode = nodeFromNodeAndQuery(node, pageNumberDirectiveHTMLNodeQuery);
|
|
36
37
|
|
|
37
|
-
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
});
|
|
38
|
+
return pageNumberDirectiveHTMLNode;
|
|
41
39
|
}
|
|
42
40
|
|
|
43
|
-
function
|
|
44
|
-
|
|
45
|
-
const contentsCreated = divisionMarkdownNode.createContents(divisionMarkdownNodes, context);
|
|
41
|
+
export function headingHTMLNodesFromNode(node, headingHTMLNodes = []) {
|
|
42
|
+
nodesFromNodeAndQuery(node, headingHTMLNodesQuery, headingHTMLNodes);
|
|
46
43
|
|
|
47
|
-
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
});
|
|
44
|
+
return headingHTMLNodes;
|
|
51
45
|
}
|
|
52
46
|
|
|
53
|
-
function
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
47
|
+
export function divisionHTMLNodesFromNode(node, divisionHTMLNodes = []) {
|
|
48
|
+
nodesFromNodeAndQuery(node, divisionHTMLNodesQuery, divisionHTMLNodes);
|
|
49
|
+
|
|
50
|
+
return divisionHTMLNodes;
|
|
57
51
|
}
|
|
58
52
|
|
|
59
|
-
function
|
|
60
|
-
|
|
53
|
+
export function footnotesHTMLNodesFromNode(node, footnotesHTMLNodes = []) {
|
|
54
|
+
nodesFromNodeAndQuery(node, footnotesHTMLNodesQuery, footnotesHTMLNodes);
|
|
61
55
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
});
|
|
56
|
+
return footnotesHTMLNodes;
|
|
57
|
+
}
|
|
65
58
|
|
|
66
|
-
|
|
59
|
+
export function footnoteLinkHTMLNodesFromNode(node, linkHTMLNodes = []) {
|
|
60
|
+
nodesFromNodeAndQuery(node, footnoteLinkHTMLNodesQuery, linkHTMLNodes);
|
|
61
|
+
|
|
62
|
+
return linkHTMLNodes;
|
|
67
63
|
}
|
|
68
64
|
|
|
69
65
|
export default {
|
|
70
|
-
|
|
71
|
-
|
|
66
|
+
footnoteHTMLNodeFromNode,
|
|
67
|
+
contentsDirectiveHTMLNodeFromNode,
|
|
68
|
+
footnotesDirectiveHTMLNodeFromNode,
|
|
69
|
+
pageNumberDirectiveHTMLNodeFromNode,
|
|
70
|
+
headingHTMLNodesFromNode,
|
|
71
|
+
divisionHTMLNodesFromNode,
|
|
72
|
+
footnotesHTMLNodesFromNode,
|
|
73
|
+
footnoteLinkHTMLNodesFromNode
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
// export function postProcess(divisionHTMLNodes, context) {
|
|
77
|
+
// const footnoteReplacementMap = prepareFootnotes(divisionHTMLNodes, context),
|
|
78
|
+
// markdownNodes = paginate(divisionHTMLNodes, context);
|
|
79
|
+
//
|
|
80
|
+
// divisionHTMLNodes = divisionHTMLNodesFromHTMLNodes(markdownNodes); ///
|
|
81
|
+
//
|
|
82
|
+
// createFootnotes(divisionHTMLNodes, footnoteReplacementMap, context);
|
|
83
|
+
//
|
|
84
|
+
// createContents(divisionHTMLNodes, context);
|
|
85
|
+
//
|
|
86
|
+
// createIndex(divisionHTMLNodes, context);
|
|
87
|
+
// }
|
|
88
|
+
//
|
|
89
|
+
// function paginate(divisionHTMLNodes, context) {
|
|
90
|
+
// const pageNumber = 1,
|
|
91
|
+
// markdownNOdes = [];
|
|
92
|
+
//
|
|
93
|
+
// Object.assign(context, {
|
|
94
|
+
// pageNumber
|
|
95
|
+
// });
|
|
96
|
+
//
|
|
97
|
+
// divisionHTMLNodes.forEach((divisionHTMLNode) => {
|
|
98
|
+
// divisionHTMLNode.paginate(markdownNOdes, context);
|
|
99
|
+
// });
|
|
100
|
+
//
|
|
101
|
+
// delete context.pageNumber;
|
|
102
|
+
//
|
|
103
|
+
// return markdownNOdes;
|
|
104
|
+
// }
|
|
105
|
+
//
|
|
106
|
+
// function createIndex(divisionHTMLNodes, context) {
|
|
107
|
+
// divisionHTMLNodes.some((divisionHTMLNode) => {
|
|
108
|
+
// const indexCreated = divisionHTMLNode.createIndex(divisionHTMLNodes, context);
|
|
109
|
+
//
|
|
110
|
+
// if (indexCreated) {
|
|
111
|
+
// return true;
|
|
112
|
+
// }
|
|
113
|
+
// });
|
|
114
|
+
// }
|
|
115
|
+
//
|
|
116
|
+
// function createContents(divisionHTMLNodes, context) {
|
|
117
|
+
// divisionHTMLNodes.some((divisionHTMLNode) => {
|
|
118
|
+
// const contentsCreated = divisionHTMLNode.createContents(divisionHTMLNodes, context);
|
|
119
|
+
//
|
|
120
|
+
// if (contentsCreated) {
|
|
121
|
+
// return true;
|
|
122
|
+
// }
|
|
123
|
+
// });
|
|
124
|
+
// }
|
|
125
|
+
//
|
|
126
|
+
// function createFootnotes(divisionHTMLNodes, footnoteReplacementMap, context) {
|
|
127
|
+
// divisionHTMLNodes.forEach((divisionHTMLNode) => {
|
|
128
|
+
// divisionHTMLNode.createFootnotes(footnoteReplacementMap, context);
|
|
129
|
+
// });
|
|
130
|
+
// }
|
|
131
|
+
//
|
|
132
|
+
// function prepareFootnotes(divisionHTMLNodes, context) {
|
|
133
|
+
// const footnoteReplacementMap = {};
|
|
134
|
+
//
|
|
135
|
+
// divisionHTMLNodes.forEach((divisionHTMLNode) => {
|
|
136
|
+
// divisionHTMLNode.prepareFootnotes(footnoteReplacementMap, context);
|
|
137
|
+
// });
|
|
138
|
+
//
|
|
139
|
+
// return footnoteReplacementMap;
|
|
140
|
+
// }
|
|
141
|
+
//
|
|
142
|
+
// export default {
|
|
143
|
+
// postProcess
|
|
144
|
+
// }
|
package/src/utilities/index.js
CHANGED
|
@@ -124,8 +124,8 @@ function adjustProperNouns(indexMap, context) {
|
|
|
124
124
|
});
|
|
125
125
|
|
|
126
126
|
mapKeys(indexMap, (wordOrPhrase) => {
|
|
127
|
-
const index = lowerCaseProperNouns.findIndex((
|
|
128
|
-
if (
|
|
127
|
+
const index = lowerCaseProperNouns.findIndex((lowerCaseProperName) => {
|
|
128
|
+
if (lowerCaseProperName === wordOrPhrase) {
|
|
129
129
|
return true;
|
|
130
130
|
}
|
|
131
131
|
});
|
|
@@ -163,8 +163,8 @@ function adjustAcronyms(indexMap, context) {
|
|
|
163
163
|
});
|
|
164
164
|
|
|
165
165
|
mapKeys(indexMap, (wordOrPhrase) => {
|
|
166
|
-
const index = lowerCaseAcronyms.findIndex((
|
|
167
|
-
if (
|
|
166
|
+
const index = lowerCaseAcronyms.findIndex((lowerCaseProperName) => {
|
|
167
|
+
if (lowerCaseProperName === wordOrPhrase) {
|
|
168
168
|
return true;
|
|
169
169
|
}
|
|
170
170
|
});
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Query } from "occam-query";
|
|
4
|
+
|
|
5
|
+
import { nodeFromNodeAndQuery, nodesFromNodeAndQuery } from "../utilities/query";
|
|
6
|
+
|
|
7
|
+
const divisionMarkdownNodeQuery = Query.fromExpressionString("/markdown/division"),
|
|
8
|
+
subDivisionMarkdownNodeQuery = Query.fromExpressionString("/division/subDivision"),
|
|
9
|
+
indexDirectiveMarkdownNodeQuery = Query.fromExpressionString("/division/subDivision/directives/indexDirective"),
|
|
10
|
+
ignoreDirectiveMarkdownNodeQuery = Query.fromExpressionString("/division/subDivision/directives/ignoreDirective"),
|
|
11
|
+
divisionMarkdownNodesQuery = Query.fromExpressionString("/markdown/division"),
|
|
12
|
+
subDivisionMarkdownNodesQuery = Query.fromExpressionString("/division/subDivision"),
|
|
13
|
+
embedDirectiveMarkdownNodesQuery = Query.fromExpressionString("/subDivision/directives/embedDirective"),
|
|
14
|
+
includeDirectiveMarkdownNodesQuery = Query.fromExpressionString("/division/subDivision/directives/includeDirective");
|
|
15
|
+
|
|
16
|
+
export function divisionMarkdownNodeFromNode(node) {
|
|
17
|
+
const divisionMarkdownNode = nodeFromNodeAndQuery(node, divisionMarkdownNodeQuery);
|
|
18
|
+
|
|
19
|
+
return divisionMarkdownNode;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function subDivisionMarkdownNodeFromNode(node) {
|
|
23
|
+
const subDivisionMarkdownNode = nodeFromNodeAndQuery(node, subDivisionMarkdownNodeQuery);
|
|
24
|
+
|
|
25
|
+
return subDivisionMarkdownNode;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export function indexDirectiveMarkdownNodeFromNode(node) {
|
|
29
|
+
const indexDirectiveMarkdownNode = nodeFromNodeAndQuery(node, indexDirectiveMarkdownNodeQuery);
|
|
30
|
+
|
|
31
|
+
return indexDirectiveMarkdownNode;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function ignoreDirectiveMarkdownNodeFromNode(node) {
|
|
35
|
+
const ignoreDirectiveMarkdownNode = nodeFromNodeAndQuery(node, ignoreDirectiveMarkdownNodeQuery);
|
|
36
|
+
|
|
37
|
+
return ignoreDirectiveMarkdownNode;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function divisionMarkdownNodesFromNode(node, divisionMarkdownNodes = []) {
|
|
41
|
+
nodesFromNodeAndQuery(node, divisionMarkdownNodesQuery, divisionMarkdownNodes);
|
|
42
|
+
|
|
43
|
+
return divisionMarkdownNodes;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function subDivisionMarkdownNodesFromNode(node, subDivisionMarkdownNodes = []) {
|
|
47
|
+
nodesFromNodeAndQuery(node, subDivisionMarkdownNodesQuery, subDivisionMarkdownNodes);
|
|
48
|
+
|
|
49
|
+
return subDivisionMarkdownNodes;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function embedDirectiveMarkdownNodesFromNode(node, embedDirectiveMarkdownNodes = []) {
|
|
53
|
+
nodesFromNodeAndQuery(node, embedDirectiveMarkdownNodesQuery, embedDirectiveMarkdownNodes);
|
|
54
|
+
|
|
55
|
+
return embedDirectiveMarkdownNodes;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export function includeDirectiveMarkdownNodesFromNode(node, includeDirectiveMarkdownNodes = []) {
|
|
59
|
+
nodesFromNodeAndQuery(node, includeDirectiveMarkdownNodesQuery, includeDirectiveMarkdownNodes);
|
|
60
|
+
|
|
61
|
+
return includeDirectiveMarkdownNodes;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export default {
|
|
65
|
+
divisionMarkdownNodeFromNode,
|
|
66
|
+
subDivisionMarkdownNodeFromNode,
|
|
67
|
+
indexDirectiveMarkdownNodeFromNode,
|
|
68
|
+
ignoreDirectiveMarkdownNodeFromNode,
|
|
69
|
+
divisionMarkdownNodesFromNode,
|
|
70
|
+
embedDirectiveMarkdownNodesFromNode,
|
|
71
|
+
includeDirectiveMarkdownNodesFromNode
|
|
72
|
+
};
|