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.
@@ -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
- divisionHTMLTransforms.forEach((divisionHTMLTransform) => {
53
- divisionHTMLTransform.remove();
74
+ const htmlTransforms = [],
75
+ topmostHTMLNode = this, //
76
+ divisionHTMLNodes = this.getDivisionHTMLNodes(),
77
+ divisionHTMLTransforms = divisionHTMLTransformsFromDivisionHTMLNodes(divisionHTMLNodes);
54
78
 
55
- divisionHTMLTransform.paginate(divisionHTMLNodes, context);
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.appendToTopmostHTMLNode(topmostHTMLNode);
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
- className = this.className(context),
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 childNodesHTML = this.childNodesAsHTML(indent, context);
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
+ }
@@ -101,13 +101,7 @@ export function htmlFromMarkdownOptionsAndImporter(markdown, options, importer)
101
101
  if (topmostHTMLNode !== null) {
102
102
  topmostHTMLNode.resolve(context);
103
103
 
104
- const divisionHTMLNOdes = topmostHTMLNode.getDivisionHTMLNodes();
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
- }