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.
Files changed (76) hide show
  1. package/example.js +1673 -2462
  2. package/lib/example/view/div/preview.js +19 -19
  3. package/lib/example/view/div/sizeable/left.js +2 -2
  4. package/lib/example/view/textarea/plainText.js +3 -3
  5. package/lib/example/view/xmp.js +3 -3
  6. package/lib/example/view.js +7 -8
  7. package/lib/index.js +15 -7
  8. package/lib/map/className.js +4 -45
  9. package/lib/map/node/html.js +12 -5
  10. package/lib/map/node/markdown.js +2 -2
  11. package/lib/map/tagName.js +4 -45
  12. package/lib/node/html/topmost.js +21 -39
  13. package/lib/node/html.js +15 -1
  14. package/lib/node/markdown/directive/embee.js +8 -8
  15. package/lib/node/markdown/directive/include.js +7 -7
  16. package/lib/node/markdown/division.js +21 -220
  17. package/lib/node/markdown/subDivision.js +11 -14
  18. package/lib/node/markdown/topmost.js +3 -3
  19. package/lib/queries.js +4 -3
  20. package/lib/ruleNames.js +11 -6
  21. package/lib/transform/{subDivision/contentsDirective.js → contentsDirective.js} +2 -3
  22. package/lib/transform/contentsList.js +2 -3
  23. package/lib/transform/footnote.js +2 -3
  24. package/lib/transform/{subDivision/footnote.js → footnoteIdentifier.js} +3 -4
  25. package/lib/transform/{subDivision/footnotesDirective.js → footnotesDirective.js} +2 -3
  26. package/lib/transform/footnotesList.js +2 -3
  27. package/lib/transform/{subDivision/indexDirective.js → indexDirective.js} +2 -3
  28. package/lib/transform/{embedDirective.js → markdown/directive/embed.js} +12 -12
  29. package/lib/transform/{ignoreDirective.js → markdown/directive/ignore.js} +12 -12
  30. package/lib/transform/{includeDirective.js → markdown/directive/include.js} +12 -12
  31. package/lib/transform/{subDivision.js → markdown/subDivision.js} +12 -12
  32. package/lib/transform/{subDivision/pageNumberDirective.js → pageNumberDirective.js} +2 -3
  33. package/lib/utilities/dom.js +62 -0
  34. package/lib/utilities/footnotes.js +2 -3
  35. package/lib/utilities/html.js +135 -50
  36. package/lib/utilities/index.js +5 -5
  37. package/lib/utilities/markdown.js +89 -0
  38. package/lib/utilities/query.js +17 -129
  39. package/package.json +4 -4
  40. package/src/example/view/div/preview.js +16 -16
  41. package/src/example/view/div/sizeable/left.js +1 -1
  42. package/src/example/view/textarea/plainText.js +2 -2
  43. package/src/example/view/xmp.js +3 -2
  44. package/src/example/view.js +9 -10
  45. package/src/index.js +2 -0
  46. package/src/map/className.js +3 -6
  47. package/src/map/node/html.js +14 -2
  48. package/src/map/node/markdown.js +2 -2
  49. package/src/map/tagName.js +3 -6
  50. package/src/node/html/topmost.js +16 -47
  51. package/src/node/html.js +12 -0
  52. package/src/node/markdown/directive/embee.js +5 -5
  53. package/src/node/markdown/directive/include.js +5 -5
  54. package/src/node/markdown/division.js +128 -135
  55. package/src/node/markdown/subDivision.js +7 -10
  56. package/src/node/markdown/topmost.js +1 -1
  57. package/src/queries.js +5 -3
  58. package/src/ruleNames.js +4 -2
  59. package/src/transform/{subDivision/contentsDirective.js → contentsDirective.js} +0 -2
  60. package/src/transform/contentsList.js +0 -1
  61. package/src/transform/footnote.js +0 -2
  62. package/src/transform/{subDivision/footnote.js → footnoteIdentifier.js} +0 -2
  63. package/src/transform/{subDivision/footnotesDirective.js → footnotesDirective.js} +0 -2
  64. package/src/transform/footnotesList.js +0 -2
  65. package/src/transform/{subDivision/indexDirective.js → indexDirective.js} +0 -2
  66. package/src/transform/{embedDirective.js → markdown/directive/embed.js} +3 -3
  67. package/src/transform/{ignoreDirective.js → markdown/directive/ignore.js} +3 -3
  68. package/src/transform/{includeDirective.js → markdown/directive/include.js} +3 -3
  69. package/src/transform/{subDivision.js → markdown/subDivision.js} +3 -3
  70. package/src/transform/{subDivision/pageNumberDirective.js → pageNumberDirective.js} +0 -2
  71. package/src/utilities/dom.js +58 -0
  72. package/src/utilities/footnotes.js +0 -2
  73. package/src/utilities/html.js +122 -49
  74. package/src/utilities/index.js +4 -4
  75. package/src/utilities/markdown.js +72 -0
  76. 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 TOPMOST_RULE_NAME = "markdown"; ///
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
- TOPMOST_RULE_NAME,
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 { Transform } from "occam-dom";
4
4
 
5
- import { footnoteMarkdownNodeFromNode } from "../utilities/query";
6
-
7
5
  export default class FootnoteTransform extends Transform {
8
6
  constructor(node, tokens, number) {
9
7
  super(node, tokens);
@@ -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 EmbedDirectiveTransform extends Transform {
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
- embedDirectiveTransform = Transform.fromNodeAndTokens(EmbedDirectiveTransform, node, tokens);
15
+ embedDirectiveMarkdownTransform = Transform.fromNodeAndTokens(EmbedDirectiveMarkdownTransform, node, tokens);
16
16
 
17
- return embedDirectiveTransform;
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 IgnoreDirectiveTransform extends Transform {
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
- includeDirectiveTransform = Transform.fromNodeAndTokens(IgnoreDirectiveTransform, node, tokens);
15
+ ignoredDirectiveMarkdownTransform = Transform.fromNodeAndTokens(IgnoreDirectiveMarkdownTransform, node, tokens);
16
16
 
17
- return includeDirectiveTransform;
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 IncludeDirectiveTransform extends Transform {
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
- includeDirectiveTransform = Transform.fromNodeAndTokens(IncludeDirectiveTransform, node, tokens);
25
+ includeDirectiveMarkdownTransform = Transform.fromNodeAndTokens(IncludeDirectiveMarkdownTransform, node, tokens);
26
26
 
27
- return includeDirectiveTransform;
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 SubDivisionTransform extends Transform {
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
- subDivisionTransform = Transform.fromNodeAndTokens(SubDivisionTransform, node, tokens);
21
+ subDivisionMarkdownTransform = Transform.fromNodeAndTokens(SubDivisionMarkdownTransform, node, tokens);
22
22
 
23
- return subDivisionTransform;
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);
@@ -1,71 +1,144 @@
1
1
  "use strict";
2
2
 
3
- export function postProcess(divisionMarkdownNodes, context) {
4
- // const footnoteReplacementMap = prepareFootnotes(divisionMarkdownNodes, context),
5
- // markdownNodes = paginate(divisionMarkdownNodes, context);
6
- //
7
- // divisionMarkdownNodes = divisionMarkdownNodesFromMarkdownNodes(markdownNodes); ///
8
- //
9
- // createFootnotes(divisionMarkdownNodes, footnoteReplacementMap, context);
10
- //
11
- // createContents(divisionMarkdownNodes, context);
12
- //
13
- // createIndex(divisionMarkdownNodes, context);
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 paginate(divisionMarkdownNodes, context) {
17
- const pageNumber = 1,
18
- markdownNOdes = [];
17
+ export function footnoteHTMLNodeFromNode(node) {
18
+ const footnoteHTMLNode = nodeFromNodeAndQuery(node, footnoteHTMLNodeQuery);
19
+
20
+ return footnoteHTMLNode;
21
+ }
19
22
 
20
- Object.assign(context, {
21
- pageNumber
22
- });
23
+ export function contentsDirectiveHTMLNodeFromNode(node) {
24
+ const contentsDirectiveHTMLNode = nodeFromNodeAndQuery(node, contentsDirectiveHTMLNodeQuery);
23
25
 
24
- divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
25
- divisionMarkdownNode.paginate(markdownNOdes, context);
26
- });
26
+ return contentsDirectiveHTMLNode;
27
+ }
27
28
 
28
- delete context.pageNumber;
29
+ export function footnotesDirectiveHTMLNodeFromNode(node) {
30
+ const footnotesDirectiveHTMLNode = nodeFromNodeAndQuery(node, footnotesDirectiveHTMLNodeQuery);
29
31
 
30
- return markdownNOdes;
32
+ return footnotesDirectiveHTMLNode;
31
33
  }
32
34
 
33
- function createIndex(divisionMarkdownNodes, context) {
34
- divisionMarkdownNodes.some((divisionMarkdownNode) => {
35
- const indexCreated = divisionMarkdownNode.createIndex(divisionMarkdownNodes, context);
35
+ export function pageNumberDirectiveHTMLNodeFromNode(node) {
36
+ const pageNumberDirectiveHTMLNode = nodeFromNodeAndQuery(node, pageNumberDirectiveHTMLNodeQuery);
36
37
 
37
- if (indexCreated) {
38
- return true;
39
- }
40
- });
38
+ return pageNumberDirectiveHTMLNode;
41
39
  }
42
40
 
43
- function createContents(divisionMarkdownNodes, context) {
44
- divisionMarkdownNodes.some((divisionMarkdownNode) => {
45
- const contentsCreated = divisionMarkdownNode.createContents(divisionMarkdownNodes, context);
41
+ export function headingHTMLNodesFromNode(node, headingHTMLNodes = []) {
42
+ nodesFromNodeAndQuery(node, headingHTMLNodesQuery, headingHTMLNodes);
46
43
 
47
- if (contentsCreated) {
48
- return true;
49
- }
50
- });
44
+ return headingHTMLNodes;
51
45
  }
52
46
 
53
- function createFootnotes(divisionMarkdownNodes, footnoteReplacementMap, context) {
54
- divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
55
- divisionMarkdownNode.createFootnotes(footnoteReplacementMap, context);
56
- });
47
+ export function divisionHTMLNodesFromNode(node, divisionHTMLNodes = []) {
48
+ nodesFromNodeAndQuery(node, divisionHTMLNodesQuery, divisionHTMLNodes);
49
+
50
+ return divisionHTMLNodes;
57
51
  }
58
52
 
59
- function prepareFootnotes(divisionMarkdownNodes, context) {
60
- const footnoteReplacementMap = {};
53
+ export function footnotesHTMLNodesFromNode(node, footnotesHTMLNodes = []) {
54
+ nodesFromNodeAndQuery(node, footnotesHTMLNodesQuery, footnotesHTMLNodes);
61
55
 
62
- divisionMarkdownNodes.forEach((divisionMarkdownNode) => {
63
- divisionMarkdownNode.prepareFootnotes(footnoteReplacementMap, context);
64
- });
56
+ return footnotesHTMLNodes;
57
+ }
65
58
 
66
- return footnoteReplacementMap;
59
+ export function footnoteLinkHTMLNodesFromNode(node, linkHTMLNodes = []) {
60
+ nodesFromNodeAndQuery(node, footnoteLinkHTMLNodesQuery, linkHTMLNodes);
61
+
62
+ return linkHTMLNodes;
67
63
  }
68
64
 
69
65
  export default {
70
- postProcess
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
+ // }
@@ -124,8 +124,8 @@ function adjustProperNouns(indexMap, context) {
124
124
  });
125
125
 
126
126
  mapKeys(indexMap, (wordOrPhrase) => {
127
- const index = lowerCaseProperNouns.findIndex((lowerCaseProperNmae) => {
128
- if (lowerCaseProperNmae === wordOrPhrase) {
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((lowerCaseProperNmae) => {
167
- if (lowerCaseProperNmae === wordOrPhrase) {
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
+ };