highmark-markdown 1.2.97 → 1.2.102
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/lib/example/view/div/Downloads.js +38 -0
- package/lib/example/view/div/tabButtons/right.js +4 -4
- package/lib/example/view/textarea.js +2 -1
- package/lib/example/view.js +8 -3
- package/lib/map/node/html.js +11 -5
- package/lib/map/nonTerminalNode/markdown.js +24 -4
- package/lib/markdown/bnf.js +56 -13
- package/lib/markdown/entries.js +7 -4
- package/lib/markdown/lexer.js +2 -2
- package/lib/node/html/text/block.js +2 -2
- package/lib/node/html/text/xml.js +34 -0
- package/lib/node/html/xmlElement/complex.js +41 -0
- package/lib/node/html/xmlElement/simple.js +40 -0
- package/lib/node/html/xmlElement.js +120 -0
- package/lib/node/html.js +19 -15
- package/lib/node/markdown/className.js +2 -2
- package/lib/node/markdown/languageName.js +2 -2
- package/lib/node/markdown/releaseName.js +2 -2
- package/lib/node/markdown/text/xml.js +23 -0
- package/lib/node/markdown/xmlAttribute.js +45 -0
- package/lib/node/markdown/xmlAttributeName.js +32 -0
- package/lib/node/markdown/xmlAttributeValue.js +31 -0
- package/lib/node/markdown/xmlElement/complex.js +23 -0
- package/lib/node/markdown/xmlElement/simple.js +23 -0
- package/lib/node/markdown/xmlElement.js +51 -0
- package/lib/node/markdown/xmlTag/complete.js +23 -0
- package/lib/node/markdown/xmlTag/end.js +35 -0
- package/lib/node/markdown/xmlTag/start.js +23 -0
- package/lib/node/markdown/xmlTag.js +57 -0
- package/lib/node/markdown/xmlTagName.js +32 -0
- package/lib/node/markdown.js +13 -1
- package/lib/ruleNames/markdown.js +51 -1
- package/lib/utilities/jsx.js +47 -0
- package/lib/utilities/stringLiteral.js +16 -0
- package/package.json +1 -1
- package/src/example/view/div/Downloads.js +36 -0
- package/src/example/view/div/tabButtons/right.js +2 -2
- package/src/example/view/textarea.js +1 -0
- package/src/example/view.js +8 -2
- package/src/map/node/html.js +13 -4
- package/src/map/nonTerminalNode/markdown.js +34 -4
- package/src/markdown/bnf.js +55 -12
- package/src/markdown/entries.js +7 -3
- package/src/markdown/lexer.js +2 -2
- package/src/node/html/text/block.js +1 -1
- package/src/node/html/text/xml.js +22 -0
- package/src/node/html/xmlElement/complex.js +35 -0
- package/src/node/html/xmlElement/simple.js +32 -0
- package/src/node/html/xmlElement.js +173 -0
- package/src/node/html.js +21 -17
- package/src/node/markdown/className.js +3 -3
- package/src/node/markdown/languageName.js +3 -3
- package/src/node/markdown/releaseName.js +3 -3
- package/src/node/markdown/text/xml.js +7 -0
- package/src/node/markdown/xmlAttribute.js +43 -0
- package/src/node/markdown/xmlAttributeName.js +22 -0
- package/src/node/markdown/xmlAttributeValue.js +21 -0
- package/src/node/markdown/xmlElement/complex.js +7 -0
- package/src/node/markdown/xmlElement/simple.js +7 -0
- package/src/node/markdown/xmlElement.js +51 -0
- package/src/node/markdown/xmlTag/complete.js +7 -0
- package/src/node/markdown/xmlTag/end.js +25 -0
- package/src/node/markdown/xmlTag/start.js +7 -0
- package/src/node/markdown/xmlTag.js +63 -0
- package/src/node/markdown/xmlTagName.js +22 -0
- package/src/node/markdown.js +18 -0
- package/src/ruleNames/markdown.js +20 -0
- package/src/utilities/jsx.js +39 -0
- package/src/utilities/stringLiteral.js +7 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import MarkdownNode from "../../node/markdown";
|
|
4
|
+
|
|
5
|
+
export default class XMLAttributeMarkdownNode extends MarkdownNode {
|
|
6
|
+
propertyName(context) {
|
|
7
|
+
const attributeName = this.attributeName(context),
|
|
8
|
+
propertyName = attributeName; ///
|
|
9
|
+
|
|
10
|
+
return propertyName;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
propertyValue(context) {
|
|
14
|
+
const attributeValue = this.attributeValue(context),
|
|
15
|
+
propertyValue = attributeValue; ///
|
|
16
|
+
|
|
17
|
+
return propertyValue;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
attributeName(context) {
|
|
21
|
+
const attributeName = this.fromFirstChildNode((firstChildNode) => {
|
|
22
|
+
const xmlAttributeNameMakrdownNode = firstChildNode, ///
|
|
23
|
+
attributeName = xmlAttributeNameMakrdownNode.attributeName(context);
|
|
24
|
+
|
|
25
|
+
return attributeName;
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
return attributeName;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
attributeValue(context) {
|
|
32
|
+
const attributeValue = this.fromFirstLastChildNode((firstLastChildNode) => {
|
|
33
|
+
const xmlAttributeValueMakrdownNode = firstLastChildNode, ///
|
|
34
|
+
attributeValue = xmlAttributeValueMakrdownNode.attributeValue(context);
|
|
35
|
+
|
|
36
|
+
return attributeValue;
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
return attributeValue;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return MarkdownNode.fromRuleNameChildNodesOpacityAndPrecedence(XMLAttributeMarkdownNode, ruleName, childNodes, opacity, precedence); }
|
|
43
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import MarkdownNode from "../../node/markdown";
|
|
4
|
+
|
|
5
|
+
import { EMPTY_STRING } from "../../constants";
|
|
6
|
+
|
|
7
|
+
export default class XMLAttributeNameMarkdownNode extends MarkdownNode {
|
|
8
|
+
attributeName(context) {
|
|
9
|
+
const attributeName = this.reduceChildNode((attributeName, firstChildNode) => {
|
|
10
|
+
const terminalNode = firstChildNode, ///
|
|
11
|
+
terminalNodeContent = terminalNode.getContent();
|
|
12
|
+
|
|
13
|
+
attributeName = `${attributeName}${terminalNodeContent}`;
|
|
14
|
+
|
|
15
|
+
return attributeName;
|
|
16
|
+
}, EMPTY_STRING);
|
|
17
|
+
|
|
18
|
+
return attributeName;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return MarkdownNode.fromRuleNameChildNodesOpacityAndPrecedence(XMLAttributeNameMarkdownNode, ruleName, childNodes, opacity, precedence); }
|
|
22
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import MarkdownNode from "../../node/markdown";
|
|
4
|
+
|
|
5
|
+
import { trim } from "../../utilities/stringLiteral";
|
|
6
|
+
|
|
7
|
+
export default class XMLAttributeValueMarkdownNode extends MarkdownNode {
|
|
8
|
+
attributeValue(context) {
|
|
9
|
+
const attributeValue = this.fromFirstChildNode((firstChildNode) => {
|
|
10
|
+
const terminalNode = firstChildNode, ///
|
|
11
|
+
terminalNodeContent = terminalNode.getContent(),
|
|
12
|
+
attributeValue = trim(terminalNodeContent); ///
|
|
13
|
+
|
|
14
|
+
return attributeValue;
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
return attributeValue;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return MarkdownNode.fromRuleNameChildNodesOpacityAndPrecedence(XMLAttributeValueMarkdownNode, ruleName, childNodes, opacity, precedence); }
|
|
21
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import XMLElementMarkdownNode from "../../../node/markdown/xmlElement";
|
|
4
|
+
|
|
5
|
+
export default class ComplexXMLElementMarkdownNode extends XMLElementMarkdownNode {
|
|
6
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return XMLElementMarkdownNode.fromRuleNameChildNodesOpacityAndPrecedence(ComplexXMLElementMarkdownNode, ruleName, childNodes, opacity, precedence); }
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import XMLElementMarkdownNode from "../../../node/markdown/xmlElement";
|
|
4
|
+
|
|
5
|
+
export default class SimpleXMLElementMarkdownNode extends XMLElementMarkdownNode {
|
|
6
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return XMLElementMarkdownNode.fromRuleNameChildNodesOpacityAndPrecedence(SimpleXMLElementMarkdownNode, ruleName, childNodes, opacity, precedence); }
|
|
7
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import MarkdownNode from "../../node/markdown";
|
|
4
|
+
|
|
5
|
+
export default class XMLElementMarkdownNode extends MarkdownNode {
|
|
6
|
+
tagName(context) {
|
|
7
|
+
const tagName = this.fromFirstChildNode((firstChildNode) => {
|
|
8
|
+
const xmlTagMarkdownNode = firstChildNode, ///
|
|
9
|
+
tagName = xmlTagMarkdownNode.tagName(context);
|
|
10
|
+
|
|
11
|
+
return tagName;
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
return tagName;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
properties(context) {
|
|
18
|
+
const properties = this.fromFirstChildNode((firstChildNode) => {
|
|
19
|
+
const xmlTagMarkdownNode = firstChildNode, ///
|
|
20
|
+
properties = xmlTagMarkdownNode.properties(context);
|
|
21
|
+
|
|
22
|
+
return properties;
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
return properties;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
attributeNames(context) {
|
|
29
|
+
const attributeNames = this.fromFirstChildNode((firstChildNode) => {
|
|
30
|
+
const xmlTagMarkdownNode = firstChildNode, ///
|
|
31
|
+
attributeNames = xmlTagMarkdownNode.attributeNames(context);
|
|
32
|
+
|
|
33
|
+
return attributeNames;
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
return attributeNames;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
attributeValues(context) {
|
|
40
|
+
const attributeValues = this.fromFirstChildNode((firstChildNode) => {
|
|
41
|
+
const xmlTagMarkdownNode = firstChildNode, ///
|
|
42
|
+
attributeValues = xmlTagMarkdownNode.attributeValues(context);
|
|
43
|
+
|
|
44
|
+
return attributeValues;
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
return attributeValues;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return MarkdownNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
|
51
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import XMLTagMarkdownNode from "../../../node/markdown/xmlTag";
|
|
4
|
+
|
|
5
|
+
export default class CompleteXMLTagMarkdownNode extends XMLTagMarkdownNode {
|
|
6
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return XMLTagMarkdownNode.fromRuleNameChildNodesOpacityAndPrecedence(CompleteXMLTagMarkdownNode, ruleName, childNodes, opacity, precedence); }
|
|
7
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import XMLTagMarkdownNode from "../../../node/markdown/xmlTag";
|
|
4
|
+
|
|
5
|
+
export default class EndXMLTagMarkdownNode extends XMLTagMarkdownNode {
|
|
6
|
+
properties(context) {
|
|
7
|
+
const properties = null;
|
|
8
|
+
|
|
9
|
+
return properties;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
attributeNames(context) {
|
|
13
|
+
const attributeNames = null;
|
|
14
|
+
|
|
15
|
+
return attributeNames;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
attributeValues(context) {
|
|
19
|
+
const attributeValues = null;
|
|
20
|
+
|
|
21
|
+
return attributeValues;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return XMLTagMarkdownNode.fromRuleNameChildNodesOpacityAndPrecedence(EndXMLTagMarkdownNode, ruleName, childNodes, opacity, precedence); }
|
|
25
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import XMLTagMarkdownNode from "../../../node/markdown/xmlTag";
|
|
4
|
+
|
|
5
|
+
export default class StartXMLTagMarkdownNode extends XMLTagMarkdownNode {
|
|
6
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return XMLTagMarkdownNode.fromRuleNameChildNodesOpacityAndPrecedence(StartXMLTagMarkdownNode, ruleName, childNodes, opacity, precedence); }
|
|
7
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import MarkdownNode from "../../node/markdown";
|
|
4
|
+
|
|
5
|
+
import { XML_ATTRIBUTE_MARKDOWN_RULE_NAME } from "../../ruleNames/markdown";
|
|
6
|
+
|
|
7
|
+
export default class XMLTagMarkdownNode extends MarkdownNode {
|
|
8
|
+
getXMLAttributeMarkdownNodes() {
|
|
9
|
+
const ruleName = XML_ATTRIBUTE_MARKDOWN_RULE_NAME,
|
|
10
|
+
xmlAttributeMarkdownNodes = this.getChildMarkdownNodesByRuleName(ruleName);
|
|
11
|
+
|
|
12
|
+
return xmlAttributeMarkdownNodes;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
tagName(context) {
|
|
16
|
+
const tagName = this.fromThirdChildNode((thirdChildNode) => {
|
|
17
|
+
const XMLTagNameMarkdownNode = thirdChildNode, ///
|
|
18
|
+
tagName = XMLTagNameMarkdownNode.tagName(context);
|
|
19
|
+
|
|
20
|
+
return tagName;
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
return tagName;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
properties(context) {
|
|
27
|
+
const properties = {},
|
|
28
|
+
xmlAttributeMarkdownNodes = this.getXMLAttributeMarkdownNodes();
|
|
29
|
+
|
|
30
|
+
xmlAttributeMarkdownNodes.forEach((xmlAttributeMarkdownNode) => {
|
|
31
|
+
const propertyName = xmlAttributeMarkdownNode.propertyName(context),
|
|
32
|
+
propertyValue = xmlAttributeMarkdownNode.propertyValue(context);
|
|
33
|
+
|
|
34
|
+
properties[propertyName] = propertyValue;
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
return properties;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
attributeNames(context) {
|
|
41
|
+
const xmlAttributeMarkdownNodes = this.getXMLAttributeMarkdownNodes(),
|
|
42
|
+
attributeNames = xmlAttributeMarkdownNodes.map((xmlAttributeMarkdownNode) => {
|
|
43
|
+
const attributeName = xmlAttributeMarkdownNode.attributeName(context);
|
|
44
|
+
|
|
45
|
+
return attributeName;
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
return attributeNames;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
attributeValues(context) {
|
|
52
|
+
const xmlAttributeMarkdownNodes = this.getXMLAttributeMarkdownNodes(),
|
|
53
|
+
atributeValues = xmlAttributeMarkdownNodes.map((xmlAttributeMarkdownNode) => {
|
|
54
|
+
const attributeValue = xmlAttributeMarkdownNode.attributeValue(context);
|
|
55
|
+
|
|
56
|
+
return attributeValue;
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
return atributeValues;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return MarkdownNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
|
63
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import MarkdownNode from "../../node/markdown";
|
|
4
|
+
|
|
5
|
+
import { EMPTY_STRING } from "../../constants";
|
|
6
|
+
|
|
7
|
+
export default class XMLTagNameMarkdownNode extends MarkdownNode {
|
|
8
|
+
tagName(context) {
|
|
9
|
+
const tagName = this.reduceChildNode((tagName, firstChildNode) => {
|
|
10
|
+
const terminalNode = firstChildNode, ///
|
|
11
|
+
terminalNodeContent = terminalNode.getContent();
|
|
12
|
+
|
|
13
|
+
tagName = `${tagName}${terminalNodeContent}`;
|
|
14
|
+
|
|
15
|
+
return tagName;
|
|
16
|
+
}, EMPTY_STRING);
|
|
17
|
+
|
|
18
|
+
return tagName;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return MarkdownNode.fromRuleNameChildNodesOpacityAndPrecedence(XMLTagNameMarkdownNode, ruleName, childNodes, opacity, precedence); }
|
|
22
|
+
}
|
package/src/node/markdown.js
CHANGED
|
@@ -27,6 +27,24 @@ class MarkdownNode extends NonTerminalNode {
|
|
|
27
27
|
return ancestorMarkdownNodes;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
getChildMarkdownNodesByRuleName(...ruleNames) {
|
|
31
|
+
const childMarkdownNodes = this.filterChildNode((childNode) => {
|
|
32
|
+
const childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
33
|
+
|
|
34
|
+
if (childNodeNonTerminalNode) {
|
|
35
|
+
const markdownNode = childNode, ///
|
|
36
|
+
ruleName = markdownNode.getRuleName(),
|
|
37
|
+
ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
38
|
+
|
|
39
|
+
if (ruleNamesIncludesRuleName) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
return childMarkdownNodes;
|
|
46
|
+
}
|
|
47
|
+
|
|
30
48
|
setParentMarkdownNode(parentMarkdownNode) {
|
|
31
49
|
const parentNode = parentMarkdownNode; ///
|
|
32
50
|
|
|
@@ -12,6 +12,7 @@ export const DOCUMENT_MARKDOWN_RULE_NAME = "document";
|
|
|
12
12
|
export const DIVISION_MARKDOWN_RULE_NAME = "division";
|
|
13
13
|
export const FOOTNOTE_MARKDOWN_RULE_NAME = "footnote";
|
|
14
14
|
export const NONSENSE_MARKDOWN_RULE_NAME = "nonsense";
|
|
15
|
+
export const XML_TEXT_MARKDOWN_RULE_NAME = "xmlText";
|
|
15
16
|
export const BLOCK_END_MARKDOWN_RULE_NAME = "blockEnd";
|
|
16
17
|
export const CONTAINER_MARKDOWN_RULE_NAME = "container";
|
|
17
18
|
export const REFERENCE_MARKDOWN_RULE_NAME = "reference";
|
|
@@ -36,6 +37,8 @@ export const BLOCK_START_MARKDOWN_RULE_NAME = "blockStart";
|
|
|
36
37
|
export const INLINE_TEXT_MARKDOWN_RULE_NAME = "inlineText";
|
|
37
38
|
export const STRONG_TEXT_MARKDOWN_RULE_NAME = "strongText";
|
|
38
39
|
export const PAGE_NUMBER_MARKDOWN_RULE_NAME = "pageNumber";
|
|
40
|
+
export const END_XML_TAG_MARKDOWN_RULE_NAME = "endXMLTag";
|
|
41
|
+
export const XML_TAG_NAME_MARKDOWN_RULE_NAME = "xmlTagName";
|
|
39
42
|
export const ORDERED_LIST_MARKDOWN_RULE_NAME = "orderedList";
|
|
40
43
|
export const ORDERED_ITEM_MARKDOWN_RULE_NAME = "orderedItem";
|
|
41
44
|
export const SUB_DIVISION_MARKDOWN_RULE_NAME = "subDivision";
|
|
@@ -49,6 +52,8 @@ export const CONTENTS_LIST_MARKDOWN_RULE_NAME = "contentsList";
|
|
|
49
52
|
export const FOOTNOTE_LINK_MARKDOWN_RULE_NAME = "footnoteLink";
|
|
50
53
|
export const TABLE_DIVIDER_MARKDOWN_RULE_NAME = "tableDivider";
|
|
51
54
|
export const FOOTNOTE_ITEM_MARKDOWN_RULE_NAME = "footnoteItem";
|
|
55
|
+
export const START_XML_TAG_MARKDOWN_RULE_NAME = "startXMLTag";
|
|
56
|
+
export const XML_ATTRIBUTE_MARKDOWN_RULE_NAME = "xmlAttribute";
|
|
52
57
|
export const TABLE_HEAD_ROW_MARKDOWN_RULE_NAME = "tableHeadRow";
|
|
53
58
|
export const TABLE_BODY_ROW_MARKDOWN_RULE_NAME = "tableBodyRow";
|
|
54
59
|
export const INLINE_LISTING_MARKDOWN_RULE_NAME = "inlineListing";
|
|
@@ -65,11 +70,16 @@ export const EMBED_DIRECTIVE_MARKDOWN_RULE_NAME = "embedDirective";
|
|
|
65
70
|
export const EMPTY_TABLE_CELL_MARKDOWN_RULE_NAME = "emptyTableCell";
|
|
66
71
|
export const TERTIARY_HEADING_MARKDOWN_RULE_NAME = "tertiaryHeading";
|
|
67
72
|
export const IGNORE_DIRECTIVE_MARKDOWN_RULE_NAME = "ignoreDirective";
|
|
73
|
+
export const COMPLETE_XML_TAG_MARKDOWN_RULE_NAME = "completeXMLTag";
|
|
68
74
|
export const SECONDARY_HEADING_MARKDOWN_RULE_NAME = "secondaryHeading";
|
|
69
75
|
export const INCLUDE_DIRECTIVE_MARKDOWN_RULE_NAME = "includeDirective";
|
|
70
76
|
export const TABLE_CELL_DIVIDER_MARKDOWN_RULE_NAME = "tableCellDivider";
|
|
71
77
|
export const QUATERNARY_HEADING_MARKDOWN_RULE_NAME = "quaternaryHeading";
|
|
72
78
|
export const CONTENTS_DIRECTIVE_MARKDOWN_RULE_NAME = "contentsDirective";
|
|
79
|
+
export const SIMPLE_XML_ELEMENT_MARKDOWN_RULE_NAME = "simpleXMLElement";
|
|
80
|
+
export const XML_ATTRIBUTE_NAME_MARKDOWN_RULE_NAME = "xmlAttributeName";
|
|
81
|
+
export const XML_ATTRIBUTE_VALUE_MARKDOWN_RULE_NAME = "xmlAttributeValue";
|
|
82
|
+
export const COMPLEX_XML_ELEMENT_MARKDOWN_RULE_NAME = "complexXMLElement";
|
|
73
83
|
export const FOOTNOTES_DIRECTIVE_MARKDOWN_RULE_NAME = "footnotesDirective";
|
|
74
84
|
export const PAGE_NUMBER_DIRECTIVE_MARKDOWN_RULE_NAME = "pageNumberDirective";
|
|
75
85
|
export const STRONGLY_EMPHASISED_TEXT_MARKDOWN_RULE_NAME = "stronglyEmphasisedText";
|
|
@@ -87,6 +97,7 @@ const markdownRuleNames = {
|
|
|
87
97
|
DIVISION_MARKDOWN_RULE_NAME,
|
|
88
98
|
FOOTNOTE_MARKDOWN_RULE_NAME,
|
|
89
99
|
NONSENSE_MARKDOWN_RULE_NAME,
|
|
100
|
+
XML_TEXT_MARKDOWN_RULE_NAME,
|
|
90
101
|
CONTAINER_MARKDOWN_RULE_NAME,
|
|
91
102
|
REFERENCE_MARKDOWN_RULE_NAME,
|
|
92
103
|
PARAGRAPH_MARKDOWN_RULE_NAME,
|
|
@@ -111,6 +122,8 @@ const markdownRuleNames = {
|
|
|
111
122
|
BLOCK_START_MARKDOWN_RULE_NAME,
|
|
112
123
|
STRONG_TEXT_MARKDOWN_RULE_NAME,
|
|
113
124
|
PAGE_NUMBER_MARKDOWN_RULE_NAME,
|
|
125
|
+
END_XML_TAG_MARKDOWN_RULE_NAME,
|
|
126
|
+
XML_TAG_NAME_MARKDOWN_RULE_NAME,
|
|
114
127
|
ORDERED_LIST_MARKDOWN_RULE_NAME,
|
|
115
128
|
ORDERED_ITEM_MARKDOWN_RULE_NAME,
|
|
116
129
|
SUB_DIVISION_MARKDOWN_RULE_NAME,
|
|
@@ -124,6 +137,8 @@ const markdownRuleNames = {
|
|
|
124
137
|
FOOTNOTE_LINK_MARKDOWN_RULE_NAME,
|
|
125
138
|
TABLE_DIVIDER_MARKDOWN_RULE_NAME,
|
|
126
139
|
FOOTNOTE_ITEM_MARKDOWN_RULE_NAME,
|
|
140
|
+
START_XML_TAG_MARKDOWN_RULE_NAME,
|
|
141
|
+
XML_ATTRIBUTE_MARKDOWN_RULE_NAME,
|
|
127
142
|
TABLE_HEAD_ROW_MARKDOWN_RULE_NAME,
|
|
128
143
|
TABLE_BODY_ROW_MARKDOWN_RULE_NAME,
|
|
129
144
|
INLINE_LISTING_MARKDOWN_RULE_NAME,
|
|
@@ -140,11 +155,16 @@ const markdownRuleNames = {
|
|
|
140
155
|
EMPTY_TABLE_CELL_MARKDOWN_RULE_NAME,
|
|
141
156
|
TERTIARY_HEADING_MARKDOWN_RULE_NAME,
|
|
142
157
|
IGNORE_DIRECTIVE_MARKDOWN_RULE_NAME,
|
|
158
|
+
COMPLETE_XML_TAG_MARKDOWN_RULE_NAME,
|
|
143
159
|
SECONDARY_HEADING_MARKDOWN_RULE_NAME,
|
|
144
160
|
INCLUDE_DIRECTIVE_MARKDOWN_RULE_NAME,
|
|
145
161
|
TABLE_CELL_DIVIDER_MARKDOWN_RULE_NAME,
|
|
146
162
|
QUATERNARY_HEADING_MARKDOWN_RULE_NAME,
|
|
147
163
|
CONTENTS_DIRECTIVE_MARKDOWN_RULE_NAME,
|
|
164
|
+
SIMPLE_XML_ELEMENT_MARKDOWN_RULE_NAME,
|
|
165
|
+
XML_ATTRIBUTE_NAME_MARKDOWN_RULE_NAME,
|
|
166
|
+
XML_ATTRIBUTE_VALUE_MARKDOWN_RULE_NAME,
|
|
167
|
+
COMPLEX_XML_ELEMENT_MARKDOWN_RULE_NAME,
|
|
148
168
|
FOOTNOTES_DIRECTIVE_MARKDOWN_RULE_NAME,
|
|
149
169
|
PAGE_NUMBER_DIRECTIVE_MARKDOWN_RULE_NAME,
|
|
150
170
|
STRONGLY_EMPHASISED_TEXT_MARKDOWN_RULE_NAME
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export function mountElement(domElement) {
|
|
4
|
+
const element = domElement.__element__;
|
|
5
|
+
|
|
6
|
+
if (!element) { ///
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const descendantElements = element.getDescendantElements(),
|
|
11
|
+
elements = [
|
|
12
|
+
element,
|
|
13
|
+
...descendantElements
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
elements.reverse(); ///
|
|
17
|
+
|
|
18
|
+
elements.forEach((element) => {
|
|
19
|
+
element.didMount && element.didMount();
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function unmountElement(domElement) {
|
|
24
|
+
const element = domElement.__element__;
|
|
25
|
+
|
|
26
|
+
if (!element) { ///
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const descendantElements = element.getDescendantElements(),
|
|
31
|
+
elements = [
|
|
32
|
+
element,
|
|
33
|
+
...descendantElements
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
elements.forEach((element) => {
|
|
37
|
+
element.willUnmount && element.willUnmount();
|
|
38
|
+
});
|
|
39
|
+
}
|