highmark-markdown 1.2.37 → 1.2.38
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/.aiignore +14 -0
- package/example.js +470 -137
- package/lib/example/view.js +6 -6
- package/lib/node/css/topmost.js +18 -18
- package/lib/node/html/anchor/contents.js +110 -0
- package/lib/node/html/anchor/footnote.js +110 -0
- package/lib/node/html/anchor/index.js +110 -0
- package/lib/node/html/anchor.js +1 -9
- package/lib/node/html/division.js +16 -19
- package/lib/node/html/heading.js +4 -5
- package/lib/node/html/image.js +4 -4
- package/lib/node/html/item/footnote.js +4 -5
- package/lib/node/html/topmost.js +41 -44
- package/lib/node/html.js +4 -4
- package/lib/transform/html/{indexAnchor.js → anchor/index.js} +9 -10
- package/lib/utilities/grammar.js +2 -6
- package/package.json +1 -1
- package/src/example/view.js +7 -7
- package/src/node/css/topmost.js +18 -18
- package/src/node/html/anchor/contents.js +15 -0
- package/src/node/html/anchor/footnote.js +15 -0
- package/src/node/html/anchor/index.js +15 -0
- package/src/node/html/anchor.js +0 -6
- package/src/node/html/division.js +19 -20
- package/src/node/html/heading.js +5 -7
- package/src/node/html/image.js +3 -3
- package/src/node/html/item/footnote.js +3 -5
- package/src/node/html/topmost.js +42 -48
- package/src/node/html.js +5 -12
- package/src/transform/html/anchor/index.js +23 -0
- package/src/utilities/grammar.js +1 -7
- package/src/transform/html/indexAnchor.js +0 -24
package/src/node/html/topmost.js
CHANGED
|
@@ -9,6 +9,37 @@ import { HTML_MARKDOWN_RULE_NAME } from "../../ruleNames/markdown";
|
|
|
9
9
|
import { divisionHTMLNodesFromNode, indexDirectiveHTMLNodeFromNode, contentsDirectiveHTMLNodeFromNode } from "../../utilities/html";
|
|
10
10
|
|
|
11
11
|
export default class TopmostHTMLNode extends HTMLNode {
|
|
12
|
+
getRuleName() {
|
|
13
|
+
const ruleName = HTML_MARKDOWN_RULE_NAME;
|
|
14
|
+
|
|
15
|
+
return ruleName;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
getDivisionHTMLNode() {
|
|
19
|
+
const index = 0,
|
|
20
|
+
divisionHTMLNode = this.getDivisionHTMLNodeAt(index);
|
|
21
|
+
|
|
22
|
+
return divisionHTMLNode;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
getDivisionHTMLNodes() {
|
|
26
|
+
const node = this, ///
|
|
27
|
+
divisionHTMLNodes = divisionHTMLNodesFromNode(node);
|
|
28
|
+
|
|
29
|
+
return divisionHTMLNodes;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
getDivisionHTMLNodeAt(index) {
|
|
33
|
+
const divisionHTMLNodes = this.getDivisionHTMLNodes(),
|
|
34
|
+
divisionHTMLNode = divisionHTMLNodes[index] || null;
|
|
35
|
+
|
|
36
|
+
return divisionHTMLNode;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
adjustIndent(indent) {
|
|
40
|
+
return indent;
|
|
41
|
+
}
|
|
42
|
+
|
|
12
43
|
mount(parentDOMElement, siblingDOMElement, context) {
|
|
13
44
|
this.childNodes.forEach((childNode) => {
|
|
14
45
|
siblingDOMElement = childNode.mount(parentDOMElement, siblingDOMElement, context);
|
|
@@ -32,15 +63,6 @@ export default class TopmostHTMLNode extends HTMLNode {
|
|
|
32
63
|
}
|
|
33
64
|
|
|
34
65
|
paginate(context) {
|
|
35
|
-
let divisionHTMLNodes,
|
|
36
|
-
divisionHTMLTransforms;
|
|
37
|
-
|
|
38
|
-
divisionHTMLNodes = this.getDivisionHTMLNodes();
|
|
39
|
-
|
|
40
|
-
divisionHTMLTransforms = divisionHTMLTransformsFromDivisionHTMLNodes(divisionHTMLNodes);
|
|
41
|
-
|
|
42
|
-
divisionHTMLNodes = [];
|
|
43
|
-
|
|
44
66
|
let pageNumber;
|
|
45
67
|
|
|
46
68
|
pageNumber = 1;
|
|
@@ -49,20 +71,23 @@ export default class TopmostHTMLNode extends HTMLNode {
|
|
|
49
71
|
pageNumber
|
|
50
72
|
});
|
|
51
73
|
|
|
52
|
-
|
|
53
|
-
|
|
74
|
+
const htmlTransforms = [],
|
|
75
|
+
topmostHTMLNode = this, //
|
|
76
|
+
divisionHTMLNodes = this.getDivisionHTMLNodes(),
|
|
77
|
+
divisionHTMLTransforms = divisionHTMLTransformsFromDivisionHTMLNodes(divisionHTMLNodes);
|
|
54
78
|
|
|
55
|
-
|
|
79
|
+
divisionHTMLTransforms.forEach((divisionHTMLTransform) => {
|
|
80
|
+
divisionHTMLTransform.paginate(htmlTransforms, context);
|
|
56
81
|
});
|
|
57
82
|
|
|
58
83
|
delete context.pageNumber;
|
|
59
84
|
|
|
60
|
-
divisionHTMLTransforms = divisionHTMLTransformsFromDivisionHTMLNodes(divisionHTMLNodes);
|
|
61
|
-
|
|
62
|
-
const topmostHTMLNode = this; ///
|
|
63
|
-
|
|
64
85
|
divisionHTMLTransforms.forEach((divisionHTMLTransform) => {
|
|
65
|
-
divisionHTMLTransform.
|
|
86
|
+
divisionHTMLTransform.remove();
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
htmlTransforms.forEach((htmlTransform) => {
|
|
90
|
+
htmlTransform.appendToTopmostHTMLNode(topmostHTMLNode);
|
|
66
91
|
});
|
|
67
92
|
}
|
|
68
93
|
|
|
@@ -98,37 +123,6 @@ export default class TopmostHTMLNode extends HTMLNode {
|
|
|
98
123
|
}
|
|
99
124
|
}
|
|
100
125
|
|
|
101
|
-
adjustIndent(indent) {
|
|
102
|
-
return indent;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
getRuleName() {
|
|
106
|
-
const ruleName = HTML_MARKDOWN_RULE_NAME;
|
|
107
|
-
|
|
108
|
-
return ruleName;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
getDivisionHTMLNode() {
|
|
112
|
-
const index = 0,
|
|
113
|
-
divisionHTMLNode = this.getDivisionHTMLNodeAt(index);
|
|
114
|
-
|
|
115
|
-
return divisionHTMLNode;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
getDivisionHTMLNodes() {
|
|
119
|
-
const node = this, ///
|
|
120
|
-
divisionHTMLNodes = divisionHTMLNodesFromNode(node);
|
|
121
|
-
|
|
122
|
-
return divisionHTMLNodes;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
getDivisionHTMLNodeAt(index) {
|
|
126
|
-
const divisionHTMLNodes = this.getDivisionHTMLNodes(),
|
|
127
|
-
divisionHTMLNode = divisionHTMLNodes[index] || null;
|
|
128
|
-
|
|
129
|
-
return divisionHTMLNode;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
126
|
static tagName = "html";
|
|
133
127
|
|
|
134
128
|
static className = null;
|
package/src/node/html.js
CHANGED
|
@@ -222,16 +222,7 @@ class HTMLNode extends Node {
|
|
|
222
222
|
|
|
223
223
|
selfClosingTag(context) {
|
|
224
224
|
const tagName = this.tagName(context),
|
|
225
|
-
|
|
226
|
-
attributeName = this.attributeName(context),
|
|
227
|
-
attributeValue = this.attributeValue(context),
|
|
228
|
-
classHTML = (className !== null) ?
|
|
229
|
-
` class="${className}"` :
|
|
230
|
-
EMPTY_STRING,
|
|
231
|
-
attributeHTML = ((attributeName !== null) && (attributeValue !== null)) ?
|
|
232
|
-
` ${attributeName}="${attributeValue}"` :
|
|
233
|
-
EMPTY_STRING,
|
|
234
|
-
selfClosingTag = `<${tagName}${classHTML}${attributeHTML}/>`;
|
|
225
|
+
selfClosingTag = `<${tagName}/>`;
|
|
235
226
|
|
|
236
227
|
return selfClosingTag;
|
|
237
228
|
}
|
|
@@ -317,9 +308,11 @@ class HTMLNode extends Node {
|
|
|
317
308
|
|
|
318
309
|
indent = this.adjustIndent(indent);
|
|
319
310
|
|
|
320
|
-
const
|
|
311
|
+
const className = this.className(context),
|
|
312
|
+
attributeName = this.attributeName(context),
|
|
313
|
+
childNodesHTML = this.childNodesAsHTML(indent, context);
|
|
321
314
|
|
|
322
|
-
if (childNodesHTML !== EMPTY_STRING) {
|
|
315
|
+
if ((childNodesHTML !== EMPTY_STRING) || (className !== null) || (attributeName !== null)) {
|
|
323
316
|
const startingTag = this.startingTag(context),
|
|
324
317
|
closingTag = this.closingTag(context);
|
|
325
318
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import HTMLTransform from "../../../transform/html"
|
|
4
|
+
import IndexAnchorHTMLNode from "../../../node/html/anchor/index";
|
|
5
|
+
|
|
6
|
+
export default class IndexAnchorTMLTransform extends HTMLTransform {
|
|
7
|
+
appendToTopmostHTMLNode(topmostHTMLNode) {
|
|
8
|
+
const htmlNode = this.getHTMLNode(),
|
|
9
|
+
childNode = htmlNode, ///
|
|
10
|
+
parentNode = topmostHTMLNode; ///
|
|
11
|
+
|
|
12
|
+
parentNode.appendChildNode(childNode);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
static fromPageNumber(pageNumber) {
|
|
16
|
+
const identifier = pageNumber, ///
|
|
17
|
+
indexAnchorHTMLNode = IndexAnchorHTMLNode.fromIdentifier(identifier),
|
|
18
|
+
htmlNode = indexAnchorHTMLNode, ///
|
|
19
|
+
indexAnchorHTMLTransform = HTMLTransform.fromHTMLNode(IndexAnchorTMLTransform, htmlNode);
|
|
20
|
+
|
|
21
|
+
return indexAnchorHTMLTransform;
|
|
22
|
+
}
|
|
23
|
+
}
|
package/src/utilities/grammar.js
CHANGED
|
@@ -101,13 +101,7 @@ export function htmlFromMarkdownOptionsAndImporter(markdown, options, importer)
|
|
|
101
101
|
if (topmostHTMLNode !== null) {
|
|
102
102
|
topmostHTMLNode.resolve(context);
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
divisionHTMLNOdes.forEach((divisionHTMLNOde) => {
|
|
107
|
-
const divisionHTMLNOdeHTML = divisionHTMLNOde.asHTML(context);
|
|
108
|
-
|
|
109
|
-
html = `${html}${divisionHTMLNOdeHTML}`;
|
|
110
|
-
});
|
|
104
|
+
html = topmostHTMLNode.asHTML(context);
|
|
111
105
|
}
|
|
112
106
|
}
|
|
113
107
|
|
|
@@ -1,24 +0,0 @@
|
|
|
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
|
-
appendToHTMLNode(htmlNode) {
|
|
10
|
-
const parentHTMLNode = htmlNode; ///
|
|
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
|
-
}
|