highmark-markdown 1.0.7 → 1.0.10
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 +659 -357
- package/lib/example/importer.js +2 -2
- package/lib/example/view/div/preview.js +43 -51
- package/lib/example/view.js +13 -9
- package/lib/mixins/element.js +1 -14
- package/lib/node/markdown/anchor.js +19 -6
- package/lib/node/markdown/blockLine.js +47 -21
- package/lib/node/markdown/comma.js +8 -9
- package/lib/node/markdown/directive/pageNumber.js +8 -14
- package/lib/node/markdown/directives.js +6 -20
- package/lib/node/markdown/emailLink.js +54 -13
- package/lib/node/markdown/emphasisedText.js +49 -2
- package/lib/node/markdown/emptyTableCell.js +8 -7
- package/lib/node/markdown/endOfLine.js +1 -2
- package/lib/node/markdown/error.js +31 -14
- package/lib/node/markdown/footnoteLink.js +14 -8
- package/lib/node/markdown/hyperlink.js +60 -12
- package/lib/node/markdown/image.js +1 -2
- package/lib/node/markdown/indexLink.js +37 -1
- package/lib/node/markdown/inlineListing.js +38 -10
- package/lib/node/markdown/inlineText.js +1 -2
- package/lib/node/markdown/line.js +40 -16
- package/lib/node/markdown/strongText.js +49 -2
- package/lib/node/markdown/stronglyEmphasisedText.js +31 -10
- package/lib/node/markdown/subDivision.js +1 -16
- package/lib/node/markdown/tableBodyCell.js +1 -8
- package/lib/node/markdown/tableCell.js +1 -11
- package/lib/node/markdown/tableHeadCell.js +1 -8
- package/lib/node/markdown/verticalSpace.js +8 -9
- package/lib/node/markdown.js +60 -41
- package/lib/utilities/childNodes.js +2 -3
- package/package.json +1 -1
- package/src/example/importer.js +1 -3
- package/src/example/view/div/preview.js +40 -30
- package/src/example/view.js +15 -14
- package/src/mixins/element.js +0 -18
- package/src/node/markdown/anchor.js +23 -6
- package/src/node/markdown/blockLine.js +31 -28
- package/src/node/markdown/comma.js +7 -9
- package/src/node/markdown/directive/pageNumber.js +11 -16
- package/src/node/markdown/directives.js +6 -20
- package/src/node/markdown/emailLink.js +39 -14
- package/src/node/markdown/emphasisedText.js +37 -1
- package/src/node/markdown/emptyTableCell.js +6 -4
- package/src/node/markdown/endOfLine.js +0 -2
- package/src/node/markdown/error.js +11 -16
- package/src/node/markdown/footnoteLink.js +18 -7
- package/src/node/markdown/hyperlink.js +46 -15
- package/src/node/markdown/image.js +0 -2
- package/src/node/markdown/indexLink.js +19 -0
- package/src/node/markdown/inlineListing.js +18 -8
- package/src/node/markdown/inlineText.js +0 -2
- package/src/node/markdown/line.js +23 -23
- package/src/node/markdown/strongText.js +37 -1
- package/src/node/markdown/stronglyEmphasisedText.js +47 -13
- package/src/node/markdown/subDivision.js +0 -16
- package/src/node/markdown/tableBodyCell.js +0 -9
- package/src/node/markdown/tableCell.js +0 -14
- package/src/node/markdown/tableHeadCell.js +0 -9
- package/src/node/markdown/verticalSpace.js +6 -8
- package/src/node/markdown.js +74 -50
- package/src/utilities/childNodes.js +1 -3
|
@@ -3,22 +3,10 @@
|
|
|
3
3
|
import withStyle from "easy-with-style"; ///
|
|
4
4
|
|
|
5
5
|
import { Element } from "easy";
|
|
6
|
-
import { arrayUtilities } from "necessary";
|
|
7
6
|
|
|
8
7
|
import PageButtonsDiv from "../div/pageButtons";
|
|
9
8
|
|
|
10
|
-
const { first } = arrayUtilities;
|
|
11
|
-
|
|
12
9
|
class PreviewDiv extends Element {
|
|
13
|
-
getPageButtonsDivDOMElement() {
|
|
14
|
-
const childElements = this.getChildElements(),
|
|
15
|
-
firstChildElement = first(childElements),
|
|
16
|
-
pageButtonsDiv = firstChildElement, ///
|
|
17
|
-
pageButtonsDivDOMElement = pageButtonsDiv.getDOMElement();
|
|
18
|
-
|
|
19
|
-
return pageButtonsDivDOMElement;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
10
|
getParentDOMElement() {
|
|
23
11
|
const domElement = this.getDOMElement(),
|
|
24
12
|
parentDOMElement = domElement; ///
|
|
@@ -26,33 +14,51 @@ class PreviewDiv extends Element {
|
|
|
26
14
|
return parentDOMElement;
|
|
27
15
|
}
|
|
28
16
|
|
|
29
|
-
|
|
17
|
+
clear() {
|
|
18
|
+
let markdownNode;
|
|
19
|
+
|
|
20
|
+
markdownNode = this.getMarkdownNode();
|
|
21
|
+
|
|
22
|
+
if (markdownNode !== null) {
|
|
23
|
+
const parentDOMElement = this.getParentDOMElement();
|
|
24
|
+
|
|
25
|
+
markdownNode.unmount(parentDOMElement);
|
|
26
|
+
|
|
27
|
+
markdownNode = null;
|
|
28
|
+
|
|
29
|
+
this.setMarkdownNode(markdownNode);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
update(markdownNode, context) {
|
|
34
|
+
this.clear();
|
|
35
|
+
|
|
30
36
|
const parentDOMElement = this.getParentDOMElement(),
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
];
|
|
37
|
+
siblingDOMElement = null;
|
|
38
|
+
|
|
39
|
+
markdownNode.mount(parentDOMElement, siblingDOMElement, context);
|
|
35
40
|
|
|
36
|
-
|
|
41
|
+
this.setMarkdownNode(markdownNode);
|
|
37
42
|
}
|
|
38
43
|
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
pageButtonsDivDOMElement = this.getPageButtonsDivDOMElement();
|
|
44
|
+
getMarkdownNode() {
|
|
45
|
+
const { markdownNode } = this.getState();
|
|
42
46
|
|
|
43
|
-
|
|
44
|
-
if (domElement !== pageButtonsDivDOMElement) {
|
|
45
|
-
domElement.remove();
|
|
46
|
-
}
|
|
47
|
-
});
|
|
47
|
+
return markdownNode;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
this.
|
|
50
|
+
setMarkdownNode(markdownNode) {
|
|
51
|
+
this.updateState({
|
|
52
|
+
markdownNode
|
|
53
|
+
});
|
|
54
|
+
}
|
|
52
55
|
|
|
53
|
-
|
|
56
|
+
setInitialState() {
|
|
57
|
+
const markdownNode = null;
|
|
54
58
|
|
|
55
|
-
|
|
59
|
+
this.setState({
|
|
60
|
+
markdownNode
|
|
61
|
+
});
|
|
56
62
|
}
|
|
57
63
|
|
|
58
64
|
childElements() {
|
|
@@ -78,6 +84,10 @@ class PreviewDiv extends Element {
|
|
|
78
84
|
});
|
|
79
85
|
}
|
|
80
86
|
|
|
87
|
+
initialise() {
|
|
88
|
+
this.setInitialState();
|
|
89
|
+
}
|
|
90
|
+
|
|
81
91
|
static tagName = "div";
|
|
82
92
|
|
|
83
93
|
static ignoredProperties = [
|
package/src/example/view.js
CHANGED
|
@@ -98,23 +98,25 @@ class View extends Element {
|
|
|
98
98
|
charactersPerLine
|
|
99
99
|
},
|
|
100
100
|
// markdownNodes = postprocess(divisionMarkdownNode, context),
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
]
|
|
105
|
-
divisionMarkdownNodes = divisionMarkdownNodesFromMarkdownNodes(markdownNodes);
|
|
101
|
+
// divisionMarkdownNodes = divisionMarkdownNodesFromMarkdownNodes(markdownNodes);
|
|
102
|
+
divisionMarkdownNodes = [
|
|
103
|
+
divisionMarkdownNode
|
|
104
|
+
];
|
|
106
105
|
|
|
107
106
|
this.setDivisionMarkdownNodes(divisionMarkdownNodes);
|
|
108
107
|
|
|
109
|
-
const
|
|
110
|
-
length = divisionMarkdownNodes.length,
|
|
111
|
-
parseTree = divisionMarkdownNode.asParseTree(tokens);
|
|
108
|
+
const parseTree = divisionMarkdownNode.asParseTree(tokens);
|
|
112
109
|
|
|
113
|
-
this.
|
|
110
|
+
this.updateMarkdownParseTreeTextarea(parseTree);
|
|
114
111
|
|
|
115
|
-
|
|
112
|
+
const index = 0,
|
|
113
|
+
length = divisionMarkdownNodes.length;
|
|
116
114
|
|
|
117
|
-
|
|
115
|
+
if (length > 0) {
|
|
116
|
+
this.updatePage(index);
|
|
117
|
+
|
|
118
|
+
this.updatePageButtonsDiv(length);
|
|
119
|
+
}
|
|
118
120
|
} else {
|
|
119
121
|
this.clearPage();
|
|
120
122
|
|
|
@@ -136,12 +138,11 @@ class View extends Element {
|
|
|
136
138
|
tokens
|
|
137
139
|
},
|
|
138
140
|
length = null,
|
|
139
|
-
html = divisionMarkdownNode.asHTML(context)
|
|
140
|
-
domElement = divisionMarkdownNode.createDOMElement(context);
|
|
141
|
+
html = divisionMarkdownNode.asHTML(context);
|
|
141
142
|
|
|
142
143
|
this.updateXMP(html);
|
|
143
144
|
|
|
144
|
-
this.updatePreviewDiv(
|
|
145
|
+
this.updatePreviewDiv(divisionMarkdownNode, context);
|
|
145
146
|
|
|
146
147
|
this.updatePageButtonsDiv(length, index);
|
|
147
148
|
}
|
package/src/mixins/element.js
CHANGED
|
@@ -1,21 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {EMPTY_STRING} from "../constants";
|
|
4
|
-
|
|
5
|
-
function addDOMElement(domElement) {
|
|
6
|
-
const parentDOMElement = this.domElement; ///
|
|
7
|
-
|
|
8
|
-
parentDOMElement.appendChild(domElement);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
function removeDOMElements() {
|
|
12
|
-
const innerHTML = EMPTY_STRING; ///
|
|
13
|
-
|
|
14
|
-
Object.assign(this.domElement, {
|
|
15
|
-
innerHTML
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
|
|
19
3
|
function getDescendantElements(descendantElements = []) {
|
|
20
4
|
const domElement = this.getDOMElement();
|
|
21
5
|
|
|
@@ -41,8 +25,6 @@ function getDescendantElements(descendantElements = []) {
|
|
|
41
25
|
}
|
|
42
26
|
|
|
43
27
|
const elementMixins = {
|
|
44
|
-
addDOMElement,
|
|
45
|
-
removeDOMElements,
|
|
46
28
|
getDescendantElements
|
|
47
29
|
};
|
|
48
30
|
|
|
@@ -36,6 +36,25 @@ export default class AnchorMarkdownNode extends MarkdownNode {
|
|
|
36
36
|
return attributeValue;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
createDOMElement(context) {
|
|
40
|
+
let domElement;
|
|
41
|
+
|
|
42
|
+
const content = this.content(context),
|
|
43
|
+
textNode = document.createTextNode(content);
|
|
44
|
+
|
|
45
|
+
domElement = super.createDOMElement(context)
|
|
46
|
+
|
|
47
|
+
const parentDOMElement = domElement; ///
|
|
48
|
+
|
|
49
|
+
domElement = textNode; ///
|
|
50
|
+
|
|
51
|
+
parentDOMElement.appendChild(domElement);
|
|
52
|
+
|
|
53
|
+
domElement = parentDOMElement; ///
|
|
54
|
+
|
|
55
|
+
return domElement;
|
|
56
|
+
}
|
|
57
|
+
|
|
39
58
|
asHTML(indent, context) {
|
|
40
59
|
if (context === undefined) {
|
|
41
60
|
context = indent; ///
|
|
@@ -58,18 +77,16 @@ ${childNodesHTML}${indent}${closingTag}
|
|
|
58
77
|
}
|
|
59
78
|
|
|
60
79
|
childNodesAsHTML(indent, context) {
|
|
61
|
-
const content =
|
|
80
|
+
const content = this.content(context),
|
|
62
81
|
childNodesHTML = content; ///
|
|
63
82
|
|
|
64
83
|
return childNodesHTML;
|
|
65
84
|
}
|
|
66
85
|
|
|
67
|
-
|
|
68
|
-
const content = EMPTY_STRING
|
|
69
|
-
textNode = document.createTextNode(content),
|
|
70
|
-
domElement = textNode; ///
|
|
86
|
+
content(context) {
|
|
87
|
+
const content = EMPTY_STRING;
|
|
71
88
|
|
|
72
|
-
|
|
89
|
+
return content;
|
|
73
90
|
}
|
|
74
91
|
|
|
75
92
|
clone() { return super.clone(this.prepend, this.identifier); }
|
|
@@ -31,31 +31,48 @@ export default class BlockLineMarkdownNode extends MarkdownNode {
|
|
|
31
31
|
return childNodesHTML;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
startingTag = this.startingTag(context),
|
|
37
|
-
closingTag = this.closingTag(context),
|
|
38
|
-
html = `${startingTag}${childNodesHTML}${closingTag}`;
|
|
34
|
+
mount(parentDOMElement, siblingDOMElement, context) {
|
|
35
|
+
this.domElement = this.createDOMElement(context);
|
|
39
36
|
|
|
40
|
-
|
|
37
|
+
if (siblingDOMElement !== null) {
|
|
38
|
+
siblingDOMElement = siblingDOMElement.nextSibling; ///
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
parentDOMElement.insertBefore(this.domElement, siblingDOMElement);
|
|
42
|
+
|
|
43
|
+
siblingDOMElement = this.domElement; ///
|
|
44
|
+
|
|
45
|
+
return siblingDOMElement;
|
|
41
46
|
}
|
|
42
47
|
|
|
43
48
|
createDOMElement(context) {
|
|
44
|
-
|
|
45
|
-
className = this.className(context),
|
|
46
|
-
domElement = document.createElement(tagName);
|
|
49
|
+
let domElement;
|
|
47
50
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
});
|
|
51
|
+
const content = this.content(context),
|
|
52
|
+
textNode = document.createTextNode(content);
|
|
51
53
|
|
|
52
|
-
|
|
54
|
+
domElement = super.createDOMElement(context)
|
|
53
55
|
|
|
54
|
-
|
|
56
|
+
const parentDOMElement = domElement; ///
|
|
57
|
+
|
|
58
|
+
domElement = textNode; ///
|
|
59
|
+
|
|
60
|
+
parentDOMElement.appendChild(domElement);
|
|
61
|
+
|
|
62
|
+
domElement = parentDOMElement; ///
|
|
55
63
|
|
|
56
64
|
return domElement;
|
|
57
65
|
}
|
|
58
66
|
|
|
67
|
+
asHTML(indent, context) {
|
|
68
|
+
const childNodesHTML = this.childNodesAsHTML(indent, context),
|
|
69
|
+
startingTag = this.startingTag(context),
|
|
70
|
+
closingTag = this.closingTag(context),
|
|
71
|
+
html = `${startingTag}${childNodesHTML}${closingTag}`;
|
|
72
|
+
|
|
73
|
+
return html;
|
|
74
|
+
}
|
|
75
|
+
|
|
59
76
|
childNodesAsHTML(indent, context) {
|
|
60
77
|
const content = this.content(context),
|
|
61
78
|
childNodesHTML = content; ///
|
|
@@ -70,20 +87,6 @@ export default class BlockLineMarkdownNode extends MarkdownNode {
|
|
|
70
87
|
return plainText;
|
|
71
88
|
}
|
|
72
89
|
|
|
73
|
-
createChildNodeDOMElements(context) {
|
|
74
|
-
let domElement;
|
|
75
|
-
|
|
76
|
-
domElement = this.getDOMElement();
|
|
77
|
-
|
|
78
|
-
const content = this.content(context),
|
|
79
|
-
textNode = document.createTextNode(content),
|
|
80
|
-
parentDOMElement = domElement; ///
|
|
81
|
-
|
|
82
|
-
domElement = textNode; ///
|
|
83
|
-
|
|
84
|
-
parentDOMElement.appendChild(domElement);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
90
|
static lines = 2;
|
|
88
91
|
|
|
89
92
|
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(BlockLineMarkdownNode, ruleName, childNodes, opacity); }
|
|
@@ -5,23 +5,21 @@ import MarkdownNode from "../../node/markdown";
|
|
|
5
5
|
import { COMMA } from "../../constants";
|
|
6
6
|
|
|
7
7
|
export default class CommaMarkdownNode extends MarkdownNode {
|
|
8
|
-
asHTML(indent, context) {
|
|
9
|
-
const content = this.content(context),
|
|
10
|
-
html = content; ///
|
|
11
|
-
|
|
12
|
-
return html;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
8
|
createDOMElement(context) {
|
|
16
9
|
const content = this.content(context),
|
|
17
10
|
textNode = document.createTextNode(content),
|
|
18
11
|
domElement = textNode; ///
|
|
19
12
|
|
|
20
|
-
this.setDOMElement(domElement);
|
|
21
|
-
|
|
22
13
|
return domElement;
|
|
23
14
|
}
|
|
24
15
|
|
|
16
|
+
asHTML(indent, context) {
|
|
17
|
+
const content = this.content(context),
|
|
18
|
+
html = content; ///
|
|
19
|
+
|
|
20
|
+
return html;
|
|
21
|
+
}
|
|
22
|
+
|
|
25
23
|
content(context) {
|
|
26
24
|
const content = COMMA; ///
|
|
27
25
|
|
|
@@ -36,17 +36,20 @@ export default class PageNumberDirectiveMarkdownNode extends DirectiveMarkdownNo
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
createDOMElement(context) {
|
|
39
|
-
|
|
40
|
-
className = this.className(context),
|
|
41
|
-
domElement = document.createElement(tagName);
|
|
39
|
+
let domElement;
|
|
42
40
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
const content = this.content(context),
|
|
42
|
+
textNode = document.createTextNode(content);
|
|
43
|
+
|
|
44
|
+
domElement = super.createDOMElement(context);
|
|
45
|
+
|
|
46
|
+
const parentDOMElement = domElement; ///
|
|
47
|
+
|
|
48
|
+
domElement = textNode; ///
|
|
46
49
|
|
|
47
|
-
|
|
50
|
+
parentDOMElement.appendChild(domElement);
|
|
48
51
|
|
|
49
|
-
|
|
52
|
+
domElement = parentDOMElement;
|
|
50
53
|
|
|
51
54
|
return domElement;
|
|
52
55
|
}
|
|
@@ -58,14 +61,6 @@ export default class PageNumberDirectiveMarkdownNode extends DirectiveMarkdownNo
|
|
|
58
61
|
return childNodesHTML;
|
|
59
62
|
}
|
|
60
63
|
|
|
61
|
-
createChildNodeDOMElements(context) {
|
|
62
|
-
const content = this.content(context),
|
|
63
|
-
textNode = document.createTextNode(content),
|
|
64
|
-
domElement = textNode; ///
|
|
65
|
-
|
|
66
|
-
this.addDOMElement(domElement);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
64
|
clone() { return super.clone(this.number); }
|
|
70
65
|
|
|
71
66
|
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) {
|
|
@@ -7,34 +7,20 @@ import MarkdownNode from "../../node/markdown";
|
|
|
7
7
|
const { first } = arrayUtilities;
|
|
8
8
|
|
|
9
9
|
export default class DirectivesMarkdownNode extends MarkdownNode {
|
|
10
|
-
getDOMElement() {
|
|
11
|
-
const directiveMarkdownNode = this.getDirectiveMarkdownNode(),
|
|
12
|
-
directiveMarkdownNodeDOMElement = directiveMarkdownNode.getDOMElement(),
|
|
13
|
-
domElement = directiveMarkdownNodeDOMElement; ///
|
|
14
|
-
|
|
15
|
-
return domElement;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
10
|
asHTML(indent, context) {
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
html =
|
|
11
|
+
const firstDirectiveMarkdownNode = this.getFirstDirectiveMarkdownNode(),
|
|
12
|
+
firstDirectiveMarkdownNodeHTML = firstDirectiveMarkdownNode.asHTML(indent, context),
|
|
13
|
+
html = firstDirectiveMarkdownNodeHTML; ///
|
|
22
14
|
|
|
23
15
|
return html;
|
|
24
16
|
}
|
|
25
17
|
|
|
26
|
-
|
|
27
|
-
const directiveMarkdownNode = this.getDirectiveMarkdownNode();
|
|
28
|
-
|
|
29
|
-
directiveMarkdownNode.createDOMElement(context);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
getDirectiveMarkdownNode() {
|
|
18
|
+
getFirstDirectiveMarkdownNode() {
|
|
33
19
|
const childNodes = this.getChildNodes(),
|
|
34
20
|
firstChildNode = first(childNodes),
|
|
35
|
-
|
|
21
|
+
firstDirectiveMarkdownNode = firstChildNode; ///
|
|
36
22
|
|
|
37
|
-
return
|
|
23
|
+
return firstDirectiveMarkdownNode;
|
|
38
24
|
}
|
|
39
25
|
|
|
40
26
|
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(DirectivesMarkdownNode, ruleName, childNodes, opacity); }
|
|
@@ -63,37 +63,62 @@ class EmailLinkMarkdownNode extends MarkdownNode {
|
|
|
63
63
|
return attributeValue;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
mount(parentDOMElement, siblingDOMElement, context) {
|
|
67
|
+
this.domElement = this.createDOMElement(context);
|
|
68
|
+
|
|
69
|
+
if (siblingDOMElement !== null) {
|
|
70
|
+
siblingDOMElement = siblingDOMElement.nextSibling; ///
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
parentDOMElement.insertBefore(this.domElement, siblingDOMElement);
|
|
74
|
+
|
|
75
|
+
siblingDOMElement = this.domElement; ///
|
|
76
|
+
|
|
77
|
+
return siblingDOMElement;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
createDOMElement(context) {
|
|
81
|
+
let content;
|
|
68
82
|
|
|
69
83
|
const inlineText = this.inlineText(context);
|
|
70
84
|
|
|
71
85
|
if (inlineText !== null) {
|
|
72
|
-
|
|
86
|
+
content = inlineText; ///
|
|
73
87
|
} else {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
childNodesHTML = content; ///
|
|
88
|
+
content = this.content(context);
|
|
77
89
|
}
|
|
78
90
|
|
|
79
|
-
|
|
80
|
-
}
|
|
91
|
+
let domElement;
|
|
81
92
|
|
|
82
|
-
|
|
83
|
-
|
|
93
|
+
const textNode = document.createTextNode(content);
|
|
94
|
+
|
|
95
|
+
domElement = super.createDOMElement(context);
|
|
96
|
+
|
|
97
|
+
const parentDOMElement = domElement; ///
|
|
98
|
+
|
|
99
|
+
domElement = textNode; ///
|
|
84
100
|
|
|
101
|
+
parentDOMElement.appendChild(domElement);
|
|
102
|
+
|
|
103
|
+
domElement = parentDOMElement; ///
|
|
104
|
+
|
|
105
|
+
return domElement;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
childNodesAsHTML(indent, context) {
|
|
85
109
|
let content;
|
|
86
110
|
|
|
111
|
+
const inlineText = this.inlineText(context);
|
|
112
|
+
|
|
87
113
|
if (inlineText !== null) {
|
|
88
|
-
content = inlineText;
|
|
114
|
+
content = inlineText; ///
|
|
89
115
|
} else {
|
|
90
116
|
content = this.content(context);
|
|
91
117
|
}
|
|
92
118
|
|
|
93
|
-
const
|
|
94
|
-
domElement = textNode; ///
|
|
119
|
+
const childNodesHTML = content;
|
|
95
120
|
|
|
96
|
-
|
|
121
|
+
return childNodesHTML;
|
|
97
122
|
}
|
|
98
123
|
|
|
99
124
|
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(EmailLinkMarkdownNode, ruleName, childNodes, opacity); }
|
|
@@ -1,12 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { arrayUtilities } from "necessary";
|
|
4
|
+
|
|
3
5
|
import MarkdownNode from "../../node/markdown";
|
|
4
6
|
import contentMixins from "../../mixins/content";
|
|
5
7
|
|
|
8
|
+
const { second } = arrayUtilities;
|
|
9
|
+
|
|
6
10
|
class EmphasisedTextMarkdownNode extends MarkdownNode {
|
|
11
|
+
inlineText(context) {
|
|
12
|
+
const indent = null,
|
|
13
|
+
childNodes = this.getChildNodes(),
|
|
14
|
+
secondChildNode = second(childNodes),
|
|
15
|
+
inlineTextMarkdownNode = secondChildNode, ///
|
|
16
|
+
inlineTextMarkdownNodeHTML = inlineTextMarkdownNode.asHTML(indent, context),
|
|
17
|
+
inlineText = inlineTextMarkdownNodeHTML; ///
|
|
18
|
+
|
|
19
|
+
return inlineText;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
createDOMElement(context) {
|
|
23
|
+
const inlineText = this.inlineText(context),
|
|
24
|
+
content = inlineText; ///
|
|
25
|
+
|
|
26
|
+
let domElement;
|
|
27
|
+
|
|
28
|
+
const textNode = document.createTextNode(content);
|
|
29
|
+
|
|
30
|
+
domElement = super.createDOMElement(context);
|
|
31
|
+
|
|
32
|
+
const parentDOMElement = domElement; ///
|
|
33
|
+
|
|
34
|
+
domElement = textNode; ///
|
|
35
|
+
|
|
36
|
+
parentDOMElement.appendChild(domElement);
|
|
37
|
+
|
|
38
|
+
domElement = parentDOMElement; ///
|
|
39
|
+
|
|
40
|
+
return domElement;
|
|
41
|
+
}
|
|
42
|
+
|
|
7
43
|
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(EmphasisedTextMarkdownNode, ruleName, childNodes, opacity); }
|
|
8
44
|
}
|
|
9
45
|
|
|
10
46
|
Object.assign(EmphasisedTextMarkdownNode.prototype, contentMixins);
|
|
11
47
|
|
|
12
|
-
export default EmphasisedTextMarkdownNode;
|
|
48
|
+
export default EmphasisedTextMarkdownNode;
|
|
@@ -3,15 +3,17 @@
|
|
|
3
3
|
import MarkdownNode from "../../node/markdown";
|
|
4
4
|
|
|
5
5
|
export default class EmptyTableCellMarkdownNode extends MarkdownNode {
|
|
6
|
+
createDOMElement(context) {
|
|
7
|
+
const domElement = null;
|
|
8
|
+
|
|
9
|
+
return domElement;
|
|
10
|
+
}
|
|
11
|
+
|
|
6
12
|
childNodesAsHTML(indent, context) {
|
|
7
13
|
const childNodesHTML = null;
|
|
8
14
|
|
|
9
15
|
return childNodesHTML;
|
|
10
16
|
}
|
|
11
17
|
|
|
12
|
-
createChildNodeDOMElements(domElement, context) {
|
|
13
|
-
///
|
|
14
|
-
}
|
|
15
|
-
|
|
16
18
|
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(EmptyTableCellMarkdownNode, ruleName, childNodes, opacity); }
|
|
17
19
|
}
|
|
@@ -17,17 +17,20 @@ class ErrorMarkdownNode extends MarkdownNode {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
createDOMElement(context) {
|
|
20
|
-
|
|
21
|
-
className = this.className(context),
|
|
22
|
-
domElement = document.createElement(tagName);
|
|
20
|
+
let domElement;
|
|
23
21
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
const content = this.content(context),
|
|
23
|
+
textNode = document.createTextNode(content);
|
|
24
|
+
|
|
25
|
+
domElement = super.createDOMElement(context);
|
|
26
|
+
|
|
27
|
+
const parentDOMElement = domElement;
|
|
28
|
+
|
|
29
|
+
domElement = textNode; ///
|
|
27
30
|
|
|
28
|
-
|
|
31
|
+
parentDOMElement.appendChild(domElement);
|
|
29
32
|
|
|
30
|
-
|
|
33
|
+
domElement = parentDOMElement; ///
|
|
31
34
|
|
|
32
35
|
return domElement;
|
|
33
36
|
}
|
|
@@ -39,14 +42,6 @@ class ErrorMarkdownNode extends MarkdownNode {
|
|
|
39
42
|
return childNodesHTML;
|
|
40
43
|
}
|
|
41
44
|
|
|
42
|
-
createChildNodeDOMElements(context) {
|
|
43
|
-
const content = this.content(context),
|
|
44
|
-
textNode = document.createTextNode(content),
|
|
45
|
-
domElement = textNode; ///
|
|
46
|
-
|
|
47
|
-
this.addDOMElement(domElement);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
45
|
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(ErrorMarkdownNode, ruleName, childNodes, opacity); }
|
|
51
46
|
}
|
|
52
47
|
|
|
@@ -56,19 +56,30 @@ export default class FootnoteLinkMarkdownNode extends MarkdownNode {
|
|
|
56
56
|
return attributeValue;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
createDOMElement(context) {
|
|
60
|
+
let domElement;
|
|
61
|
+
|
|
60
62
|
const content = this.content(context),
|
|
61
|
-
|
|
63
|
+
textNode = document.createTextNode(content);
|
|
62
64
|
|
|
63
|
-
|
|
65
|
+
domElement = super.createDOMElement(context);
|
|
66
|
+
|
|
67
|
+
const parentDOMElement = domElement;
|
|
68
|
+
|
|
69
|
+
domElement = textNode; ///
|
|
70
|
+
|
|
71
|
+
parentDOMElement.appendChild(domElement);
|
|
72
|
+
|
|
73
|
+
domElement = parentDOMElement; ///
|
|
74
|
+
|
|
75
|
+
return domElement;
|
|
64
76
|
}
|
|
65
77
|
|
|
66
|
-
|
|
78
|
+
childNodesAsHTML(indent, context) {
|
|
67
79
|
const content = this.content(context),
|
|
68
|
-
|
|
69
|
-
domElement = textNode; ///
|
|
80
|
+
childNodesHTML = content; ///
|
|
70
81
|
|
|
71
|
-
|
|
82
|
+
return childNodesHTML;
|
|
72
83
|
}
|
|
73
84
|
|
|
74
85
|
clone() { return super.clone(this.number); }
|