highmark-markdown 0.0.78 → 0.0.81
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 +104 -106
- package/lib/example/view.js +2 -2
- package/lib/markdown/bnf.js +2 -2
- package/lib/markdown/entries.js +3 -3
- package/lib/markdown/parser.js +4 -4
- package/lib/node/markdown/{endOfLine.js → subDivision.js} +14 -16
- package/lib/nodeMap.js +4 -4
- package/lib/ruleNameToHTMLMap.js +4 -4
- package/lib/ruleNames.js +6 -6
- package/lib/tokenTypes.js +6 -6
- package/package.json +1 -1
- package/src/example/view.js +0 -10
- package/src/markdown/bnf.js +38 -43
- package/src/markdown/entries.js +2 -2
- package/src/markdown/parser.js +3 -3
- package/src/node/markdown/subDivision.js +29 -0
- package/src/nodeMap.js +5 -6
- package/src/ruleNameToHTMLMap.js +5 -5
- package/src/ruleNames.js +2 -2
- package/src/tokenTypes.js +2 -2
- package/src/node/markdown/endOfLine.js +0 -28
package/lib/tokenTypes.js
CHANGED
|
@@ -27,9 +27,6 @@ _export(exports, {
|
|
|
27
27
|
ESCAPED_TOKEN_TYPE: function() {
|
|
28
28
|
return ESCAPED_TOKEN_TYPE;
|
|
29
29
|
},
|
|
30
|
-
FEW_DASHES_TOKEN_TYPE: function() {
|
|
31
|
-
return FEW_DASHES_TOKEN_TYPE;
|
|
32
|
-
},
|
|
33
30
|
IDENTIFIER_TOKEN_TYPE: function() {
|
|
34
31
|
return IDENTIFIER_TOKEN_TYPE;
|
|
35
32
|
},
|
|
@@ -66,6 +63,9 @@ _export(exports, {
|
|
|
66
63
|
TRIPLE_HASH_TOKEN_TYPE: function() {
|
|
67
64
|
return TRIPLE_HASH_TOKEN_TYPE;
|
|
68
65
|
},
|
|
66
|
+
TWO_DASHES_TOKEN_TYPE: function() {
|
|
67
|
+
return TWO_DASHES_TOKEN_TYPE;
|
|
68
|
+
},
|
|
69
69
|
UNASSIGNED_TOKEN_TYPE: function() {
|
|
70
70
|
return UNASSIGNED_TOKEN_TYPE;
|
|
71
71
|
},
|
|
@@ -89,7 +89,7 @@ var ESCAPED_TOKEN_TYPE = "escaped";
|
|
|
89
89
|
var BACKTICKS_TOKEN_TYPE = "backticks";
|
|
90
90
|
var IDENTIFIER_TOKEN_TYPE = "identifier";
|
|
91
91
|
var UNASSIGNED_TOKEN_TYPE = "unassigned";
|
|
92
|
-
var
|
|
92
|
+
var TWO_DASHES_TOKEN_TYPE = "two-dashes";
|
|
93
93
|
var MANY_DASHES_TOKEN_TYPE = "many-dashes";
|
|
94
94
|
var SINGLE_DASH_TOKEN_TYPE = "single-dash";
|
|
95
95
|
var SINGLE_HASH_TOKEN_TYPE = "single-hash";
|
|
@@ -112,7 +112,7 @@ var tokenTypes = {
|
|
|
112
112
|
BACKTICKS_TOKEN_TYPE: BACKTICKS_TOKEN_TYPE,
|
|
113
113
|
IDENTIFIER_TOKEN_TYPE: IDENTIFIER_TOKEN_TYPE,
|
|
114
114
|
UNASSIGNED_TOKEN_TYPE: UNASSIGNED_TOKEN_TYPE,
|
|
115
|
-
|
|
115
|
+
TWO_DASHES_TOKEN_TYPE: TWO_DASHES_TOKEN_TYPE,
|
|
116
116
|
MANY_DASHES_TOKEN_TYPE: MANY_DASHES_TOKEN_TYPE,
|
|
117
117
|
SINGLE_DASH_TOKEN_TYPE: SINGLE_DASH_TOKEN_TYPE,
|
|
118
118
|
SINGLE_HASH_TOKEN_TYPE: SINGLE_HASH_TOKEN_TYPE,
|
|
@@ -127,4 +127,4 @@ var tokenTypes = {
|
|
|
127
127
|
};
|
|
128
128
|
var _default = tokenTypes;
|
|
129
129
|
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b2tlblR5cGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgV09SRF9UT0tFTl9UWVBFID0gXCJ3b3JkXCI7XG5leHBvcnQgY29uc3QgUEFUSF9UT0tFTl9UWVBFID0gXCJwYXRoXCI7XG5leHBvcnQgY29uc3QgRE9NQUlOX1RPS0VOX1RZUEUgPSBcImRvbWFpblwiO1xuZXhwb3J0IGNvbnN0IFNDSEVNRV9UT0tFTl9UWVBFID0gXCJzY2hlbWVcIjtcbmV4cG9ydCBjb25zdCBOVU1CRVJfVE9LRU5fVFlQRSA9IFwibnVtYmVyXCI7XG5leHBvcnQgY29uc3QgU1BFQ0lBTF9UT0tFTl9UWVBFID0gXCJzcGVjaWFsXCI7XG5leHBvcnQgY29uc3QgRVNDQVBFRF9UT0tFTl9UWVBFID0gXCJlc2NhcGVkXCI7XG5leHBvcnQgY29uc3QgQkFDS1RJQ0tTX1RPS0VOX1RZUEUgPSBcImJhY2t0aWNrc1wiO1xuZXhwb3J0IGNvbnN0IElERU5USUZJRVJfVE9LRU5fVFlQRSA9IFwiaWRlbnRpZmllclwiO1xuZXhwb3J0IGNvbnN0IFVOQVNTSUdORURfVE9LRU5fVFlQRSA9IFwidW5hc3NpZ25lZFwiO1xuZXhwb3J0IGNvbnN0IFRXT19EQVNIRVNfVE9LRU5fVFlQRSA9IFwidHdvLWRhc2hlc1wiO1xuZXhwb3J0IGNvbnN0IE1BTllfREFTSEVTX1RPS0VOX1RZUEUgPSBcIm1hbnktZGFzaGVzXCI7XG5leHBvcnQgY29uc3QgU0lOR0xFX0RBU0hfVE9LRU5fVFlQRSA9IFwic2luZ2xlLWRhc2hcIjtcbmV4cG9ydCBjb25zdCBTSU5HTEVfSEFTSF9UT0tFTl9UWVBFID0gXCJzaW5nbGUtaGFzaFwiO1xuZXhwb3J0IGNvbnN0IERPVUJMRV9IQVNIX1RPS0VOX1RZUEUgPSBcImRvdWJsZS1oYXNoXCI7XG5leHBvcnQgY29uc3QgVFJJUExFX0hBU0hfVE9LRU5fVFlQRSA9IFwidHJpcGxlLWhhc2hcIjtcbmV4cG9ydCBjb25zdCBWRVJUSUNBTF9CQVJfVE9LRU5fVFlQRSA9IFwidmVydGljYWwtYmFyXCI7XG5leHBvcnQgY29uc3QgUVVBRFJVUExFX0hBU0hfVE9LRU5fVFlQRSA9IFwicXVhZHJ1cGxlLWhhc2hcIjtcbmV4cG9ydCBjb25zdCBTSU5HTEVfQVNURVJJU0tfVE9LRU5fVFlQRSA9IFwic2luZ2xlLWFzdGVyaXNrXCI7XG5leHBvcnQgY29uc3QgRE9VQkxFX0FTVEVSSVNLX1RPS0VOX1RZUEUgPSBcImRvdWJsZS1hc3Rlcmlza1wiO1xuZXhwb3J0IGNvbnN0IFRSSVBMRV9BU1RFUklTS19UT0tFTl9UWVBFID0gXCJ0cmlwbGUtYXN0ZXJpc2tcIjtcbmV4cG9ydCBjb25zdCBCQUNLVElDS0VEX0xJVEVSQUxfVE9LRU5fVFlQRSA9IFwiYmFja3RpY2tlZC1saXRlcmFsXCI7XG5cbmNvbnN0IHRva2VuVHlwZXMgPSB7XG4gIFdPUkRfVE9LRU5fVFlQRSxcbiAgUEFUSF9UT0tFTl9UWVBFLFxuICBET01BSU5fVE9LRU5fVFlQRSxcbiAgU0NIRU1FX1RPS0VOX1RZUEUsXG4gIE5VTUJFUl9UT0tFTl9UWVBFLFxuICBTUEVDSUFMX1RPS0VOX1RZUEUsXG4gIEVTQ0FQRURfVE9LRU5fVFlQRSxcbiAgQkFDS1RJQ0tTX1RPS0VOX1RZUEUsXG4gIElERU5USUZJRVJfVE9LRU5fVFlQRSxcbiAgVU5BU1NJR05FRF9UT0tFTl9UWVBFLFxuICBUV09fREFTSEVTX1RPS0VOX1RZUEUsXG4gIE1BTllfREFTSEVTX1RPS0VOX1RZUEUsXG4gIFNJTkdMRV9EQVNIX1RPS0VOX1RZUEUsXG4gIFNJTkdMRV9IQVNIX1RPS0VOX1RZUEUsXG4gIERPVUJMRV9IQVNIX1RPS0VOX1RZUEUsXG4gIFRSSVBMRV9IQVNIX1RPS0VOX1RZUEUsXG4gIFZFUlRJQ0FMX0JBUl9UT0tFTl9UWVBFLFxuICBRVUFEUlVQTEVfSEFTSF9UT0tFTl9UWVBFLFxuICBTSU5HTEVfQVNURVJJU0tfVE9LRU5fVFlQRSxcbiAgRE9VQkxFX0FTVEVSSVNLX1RPS0VOX1RZUEUsXG4gIFRSSVBMRV9BU1RFUklTS19UT0tFTl9UWVBFLFxuICBCQUNLVElDS0VEX0xJVEVSQUxfVE9LRU5fVFlQRVxufTtcblxuZXhwb3J0IGRlZmF1bHQgdG9rZW5UeXBlcztcbiJdLCJuYW1lcyI6WyJCQUNLVElDS0VEX0xJVEVSQUxfVE9LRU5fVFlQRSIsIkJBQ0tUSUNLU19UT0tFTl9UWVBFIiwiRE9NQUlOX1RPS0VOX1RZUEUiLCJET1VCTEVfQVNURVJJU0tfVE9LRU5fVFlQRSIsIkRPVUJMRV9IQVNIX1RPS0VOX1RZUEUiLCJFU0NBUEVEX1RPS0VOX1RZUEUiLCJJREVOVElGSUVSX1RPS0VOX1RZUEUiLCJNQU5ZX0RBU0hFU19UT0tFTl9UWVBFIiwiTlVNQkVSX1RPS0VOX1RZUEUiLCJQQVRIX1RPS0VOX1RZUEUiLCJRVUFEUlVQTEVfSEFTSF9UT0tFTl9UWVBFIiwiU0NIRU1FX1RPS0VOX1RZUEUiLCJTSU5HTEVfQVNURVJJU0tfVE9LRU5fVFlQRSIsIlNJTkdMRV9EQVNIX1RPS0VOX1RZUEUiLCJTSU5HTEVfSEFTSF9UT0tFTl9UWVBFIiwiU1BFQ0lBTF9UT0tFTl9UWVBFIiwiVFJJUExFX0FTVEVSSVNLX1RPS0VOX1RZUEUiLCJUUklQTEVfSEFTSF9UT0tFTl9UWVBFIiwiVFdPX0RBU0hFU19UT0tFTl9UWVBFIiwiVU5BU1NJR05FRF9UT0tFTl9UWVBFIiwiVkVSVElDQUxfQkFSX1RPS0VOX1RZUEUiLCJXT1JEX1RPS0VOX1RZUEUiLCJ0b2tlblR5cGVzIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQXVCYUEsNkJBQTZCO2VBQTdCQTs7SUFkQUMsb0JBQW9CO2VBQXBCQTs7SUFMQUMsaUJBQWlCO2VBQWpCQTs7SUFpQkFDLDBCQUEwQjtlQUExQkE7O0lBTEFDLHNCQUFzQjtlQUF0QkE7O0lBUkFDLGtCQUFrQjtlQUFsQkE7O0lBRUFDLHFCQUFxQjtlQUFyQkE7O0lBR0FDLHNCQUFzQjtlQUF0QkE7O0lBUEFDLGlCQUFpQjtlQUFqQkE7O0lBSEFDLGVBQWU7ZUFBZkE7O0lBZ0JBQyx5QkFBeUI7ZUFBekJBOztJQWRBQyxpQkFBaUI7ZUFBakJBOztJQWVBQywwQkFBMEI7ZUFBMUJBOztJQU5BQyxzQkFBc0I7ZUFBdEJBOztJQUNBQyxzQkFBc0I7ZUFBdEJBOztJQVJBQyxrQkFBa0I7ZUFBbEJBOztJQWVBQywwQkFBMEI7ZUFBMUJBOztJQUxBQyxzQkFBc0I7ZUFBdEJBOztJQUxBQyxxQkFBcUI7ZUFBckJBOztJQURBQyxxQkFBcUI7ZUFBckJBOztJQU9BQyx1QkFBdUI7ZUFBdkJBOztJQWhCQUMsZUFBZTtlQUFmQTs7SUFnRGIsT0FBMEI7ZUFBMUI7OztBQWhETyxJQUFNQSxrQkFBa0I7QUFDeEIsSUFBTVosa0JBQWtCO0FBQ3hCLElBQU1QLG9CQUFvQjtBQUMxQixJQUFNUyxvQkFBb0I7QUFDMUIsSUFBTUgsb0JBQW9CO0FBQzFCLElBQU1PLHFCQUFxQjtBQUMzQixJQUFNVixxQkFBcUI7QUFDM0IsSUFBTUosdUJBQXVCO0FBQzdCLElBQU1LLHdCQUF3QjtBQUM5QixJQUFNYSx3QkFBd0I7QUFDOUIsSUFBTUQsd0JBQXdCO0FBQzlCLElBQU1YLHlCQUF5QjtBQUMvQixJQUFNTSx5QkFBeUI7QUFDL0IsSUFBTUMseUJBQXlCO0FBQy9CLElBQU1WLHlCQUF5QjtBQUMvQixJQUFNYSx5QkFBeUI7QUFDL0IsSUFBTUcsMEJBQTBCO0FBQ2hDLElBQU1WLDRCQUE0QjtBQUNsQyxJQUFNRSw2QkFBNkI7QUFDbkMsSUFBTVQsNkJBQTZCO0FBQ25DLElBQU1hLDZCQUE2QjtBQUNuQyxJQUFNaEIsZ0NBQWdDO0FBRTdDLElBQU1zQixhQUFhO0lBQ2pCRCxpQkFBQUE7SUFDQVosaUJBQUFBO0lBQ0FQLG1CQUFBQTtJQUNBUyxtQkFBQUE7SUFDQUgsbUJBQUFBO0lBQ0FPLG9CQUFBQTtJQUNBVixvQkFBQUE7SUFDQUosc0JBQUFBO0lBQ0FLLHVCQUFBQTtJQUNBYSx1QkFBQUE7SUFDQUQsdUJBQUFBO0lBQ0FYLHdCQUFBQTtJQUNBTSx3QkFBQUE7SUFDQUMsd0JBQUFBO0lBQ0FWLHdCQUFBQTtJQUNBYSx3QkFBQUE7SUFDQUcseUJBQUFBO0lBQ0FWLDJCQUFBQTtJQUNBRSw0QkFBQUE7SUFDQVQsNEJBQUFBO0lBQ0FhLDRCQUFBQTtJQUNBaEIsK0JBQUFBO0FBQ0Y7SUFFQSxXQUFlc0IifQ==
|
package/package.json
CHANGED
package/src/example/view.js
CHANGED
|
@@ -123,17 +123,7 @@ class View extends Element {
|
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
static initialMarkdown = `
|
|
126
|
-
Occam grammars [^occam-grammars].
|
|
127
126
|
|
|
128
|
-
Occam grammars [^occam-grammars].
|
|
129
|
-
|
|
130
|
-
[^bnf]: [https://en.wikipedia.org/wiki/Backus-Naur_form](https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form)
|
|
131
|
-
|
|
132
|
-
[^juliamono]: https://juliamono.netlify.app/
|
|
133
|
-
|
|
134
|
-
[^occam-grammars]: https://github.com/djalbat/occam-grammars
|
|
135
|
-
|
|
136
|
-
[^regular-expressions]: https://en.wikipedia.org/wiki/Regular_expression
|
|
137
127
|
`;
|
|
138
128
|
|
|
139
129
|
static tagName = "div";
|
package/src/markdown/bnf.js
CHANGED
|
@@ -2,35 +2,38 @@
|
|
|
2
2
|
|
|
3
3
|
const bnf = `
|
|
4
4
|
|
|
5
|
-
division ::= (
|
|
5
|
+
division ::= ( subDivision | verticalSpace | error )+ ;
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
subDivision.. ::= ( primaryHeading
|
|
6
9
|
|
|
7
10
|
| secondaryHeading
|
|
8
|
-
|
|
11
|
+
|
|
9
12
|
| tertiaryHeading
|
|
10
|
-
|
|
13
|
+
|
|
11
14
|
| quaternaryHeading
|
|
12
|
-
|
|
15
|
+
|
|
13
16
|
| orderedList
|
|
14
|
-
|
|
17
|
+
|
|
15
18
|
| unorderedList
|
|
16
|
-
|
|
19
|
+
|
|
17
20
|
| blockListing
|
|
18
|
-
|
|
21
|
+
|
|
19
22
|
| table
|
|
20
|
-
|
|
23
|
+
|
|
21
24
|
| footnote
|
|
22
|
-
|
|
25
|
+
|
|
23
26
|
| lineBreak
|
|
24
|
-
|
|
25
|
-
| paragraph
|
|
26
|
-
|
|
27
|
-
| verticalSpace
|
|
28
|
-
|
|
29
|
-
| error )+
|
|
30
|
-
|
|
31
|
-
;
|
|
27
|
+
|
|
28
|
+
| paragraph ) <END_OF_LINE> ;
|
|
32
29
|
|
|
33
30
|
|
|
31
|
+
verticalSpace. ::= <END_OF_LINE>+ ;
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
error. ::= . ;
|
|
35
|
+
|
|
36
|
+
|
|
34
37
|
primaryHeading ::= [single-hash] line ;
|
|
35
38
|
|
|
36
39
|
|
|
@@ -52,41 +55,32 @@ const bnf = `
|
|
|
52
55
|
blockListing ::= blockListingStart blockText blockListingEnd ;
|
|
53
56
|
|
|
54
57
|
|
|
55
|
-
footnotesList ::= footnoteItem+ ;
|
|
56
|
-
|
|
57
|
-
|
|
58
58
|
table ::= tableHead tableSeparator tableBody ;
|
|
59
59
|
|
|
60
60
|
|
|
61
61
|
footnote ::= reference paragraph ;
|
|
62
62
|
|
|
63
63
|
|
|
64
|
-
lineBreak
|
|
64
|
+
lineBreak ::= [two-dashes] <END_OF_LINE> ;
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
paragraph ::= line+ ;
|
|
68
68
|
|
|
69
69
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
orderedListItem ::= [number]<NO_WHITESPACE>"." line ;
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
unorderedListItem ::= ( [single-dash] | [single-asterisk] ) line ;
|
|
74
74
|
|
|
75
75
|
|
|
76
|
-
blockListingStart ::= [backticks] className?
|
|
76
|
+
blockListingStart ::= [backticks] className? <END_OF_LINE> ;
|
|
77
77
|
|
|
78
78
|
|
|
79
|
-
blockListingEnd ::= [backticks]
|
|
79
|
+
blockListingEnd ::= [backticks] <END_OF_LINE> ;
|
|
80
80
|
|
|
81
81
|
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
blockText ::= ( plainText | <END_OF_LINE> )+ ;
|
|
84
83
|
|
|
85
|
-
orderedListItem. ::= [number]<NO_WHITESPACE>"." line ;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
unorderedListItem. ::= ( [single-dash] | [single-asterisk] ) line ;
|
|
89
|
-
|
|
90
84
|
|
|
91
85
|
tableHead ::= tableHeadRow ;
|
|
92
86
|
|
|
@@ -94,13 +88,13 @@ const bnf = `
|
|
|
94
88
|
tableBody ::= tableBodyRow+ ;
|
|
95
89
|
|
|
96
90
|
|
|
97
|
-
tableSeparator. ::= [many-dashes]
|
|
91
|
+
tableSeparator. ::= [many-dashes] <END_OF_LINE> ;
|
|
98
92
|
|
|
99
93
|
|
|
100
|
-
tableHeadRow ::= [vertical-bar] tableHeadCell+
|
|
94
|
+
tableHeadRow ::= [vertical-bar] tableHeadCell+ <END_OF_LINE> ;
|
|
101
95
|
|
|
102
96
|
|
|
103
|
-
tableBodyRow ::= [vertical-bar] tableBodyCell+
|
|
97
|
+
tableBodyRow ::= [vertical-bar] tableBodyCell+ <END_OF_LINE> ;
|
|
104
98
|
|
|
105
99
|
|
|
106
100
|
tableHeadCell. ::= emptyTableCell | tableCell ;
|
|
@@ -115,7 +109,7 @@ const bnf = `
|
|
|
115
109
|
tableCell ::= markedText... [vertical-bar] ;
|
|
116
110
|
|
|
117
111
|
|
|
118
|
-
line. ::= markedText
|
|
112
|
+
line. ::= markedText <END_OF_LINE> ;
|
|
119
113
|
|
|
120
114
|
|
|
121
115
|
markedText ::= ( link
|
|
@@ -195,7 +189,7 @@ const bnf = `
|
|
|
195
189
|
|
|
196
190
|
| [many-dashes]
|
|
197
191
|
|
|
198
|
-
| [
|
|
192
|
+
| [two-dashes]
|
|
199
193
|
|
|
200
194
|
| [number]
|
|
201
195
|
|
|
@@ -219,9 +213,6 @@ const bnf = `
|
|
|
219
213
|
reference. ::= "[^" [identifier] "]:" ;
|
|
220
214
|
|
|
221
215
|
|
|
222
|
-
blockText. ::= ( plainText | endOfLine )+ ;
|
|
223
|
-
|
|
224
|
-
|
|
225
216
|
inlineText ::= plainText+ ;
|
|
226
217
|
|
|
227
218
|
|
|
@@ -237,8 +228,12 @@ const bnf = `
|
|
|
237
228
|
className ::= <NO_WHITESPACE>[identifier] ;
|
|
238
229
|
|
|
239
230
|
|
|
240
|
-
|
|
231
|
+
footnotesList ::= footnoteItem+ ;
|
|
232
|
+
|
|
241
233
|
|
|
234
|
+
footnoteItem ::= anchor paragraph ;
|
|
235
|
+
|
|
236
|
+
|
|
242
237
|
`;
|
|
243
238
|
|
|
244
239
|
export default bnf;
|
package/src/markdown/entries.js
CHANGED
package/src/markdown/parser.js
CHANGED
|
@@ -18,7 +18,7 @@ export default class MarkdownParser extends CommonParser {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
const { nodeMap } = Class,
|
|
21
|
-
markdownParser = CommonParser.fromNothing(
|
|
21
|
+
markdownParser = CommonParser.fromNothing(Class);
|
|
22
22
|
|
|
23
23
|
setNonTerminalNodes(markdownParser, nodeMap);
|
|
24
24
|
|
|
@@ -33,7 +33,7 @@ export default class MarkdownParser extends CommonParser {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
const { nodeMap } = Class,
|
|
36
|
-
markdownParser = CommonParser.fromBNF(
|
|
36
|
+
markdownParser = CommonParser.fromBNF(Class, bnf);
|
|
37
37
|
|
|
38
38
|
setNonTerminalNodes(markdownParser, nodeMap);
|
|
39
39
|
|
|
@@ -48,7 +48,7 @@ export default class MarkdownParser extends CommonParser {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
const { nodeMap } = Class,
|
|
51
|
-
markdownParser = CommonParser.fromRules(
|
|
51
|
+
markdownParser = CommonParser.fromRules(Class, rules);
|
|
52
52
|
|
|
53
53
|
setNonTerminalNodes(markdownParser, nodeMap);
|
|
54
54
|
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { arrayUtilities } from "necessary";
|
|
4
|
+
|
|
5
|
+
import MarkdownNode from "../../node/markdown";
|
|
6
|
+
|
|
7
|
+
const { first } = arrayUtilities;
|
|
8
|
+
|
|
9
|
+
export default class SubDivisionMarkdownNode extends MarkdownNode {
|
|
10
|
+
asHTML(indent, context) {
|
|
11
|
+
const childNodes = this.getChildNodes(),
|
|
12
|
+
firstChildNode = first(childNodes),
|
|
13
|
+
firstChildNodeHTML = firstChildNode.asHTML(indent, context),
|
|
14
|
+
html = firstChildNodeHTML; ///
|
|
15
|
+
|
|
16
|
+
return html;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
createDOMElement(context) {
|
|
20
|
+
const childNodes = this.getChildNodes(),
|
|
21
|
+
firstChildNode = first(childNodes),
|
|
22
|
+
firstChildNodeDOMElement = firstChildNode.createDOMElement(context),
|
|
23
|
+
domElement = firstChildNodeDOMElement; ///
|
|
24
|
+
|
|
25
|
+
return domElement;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(SubDivisionMarkdownNode, ruleName, childNodes, opacity); }
|
|
29
|
+
}
|
package/src/nodeMap.js
CHANGED
|
@@ -20,11 +20,11 @@ import TableBodyMarkdownNode from "./node/markdown/tableBody";
|
|
|
20
20
|
import BlockTextMarkdownNode from "./node/markdown/blockText";
|
|
21
21
|
import ClassNameMarkdownNode from "./node/markdown/className";
|
|
22
22
|
import PlainTextMarkdownNode from "./node/markdown/plainText";
|
|
23
|
-
import
|
|
23
|
+
import EmailLinkMarkdownNode from "./node/markdown/emailLink";
|
|
24
24
|
import MarkedTextMarkdownNode from "./node/markdown/markedText";
|
|
25
25
|
import InlineTextMarkdownNode from "./node/markdown/inlineText";
|
|
26
26
|
import StrongTextMarkdownNode from "./node/markdown/strongText";
|
|
27
|
-
import
|
|
27
|
+
import SubDivisionMarkdownNode from "./node/markdown/subDivision";
|
|
28
28
|
import OrderedListMarkdownNode from "./node/markdown/orderedList";
|
|
29
29
|
import BlockListingMarkdownNode from "./node/markdown/blockListing";
|
|
30
30
|
import FootnoteItemMarkdownNode from "./node/markdown/footnoteItem";
|
|
@@ -71,10 +71,10 @@ import {
|
|
|
71
71
|
CLASS_NAME_RULE_NAME,
|
|
72
72
|
PLAIN_TEXT_RULE_NAME,
|
|
73
73
|
EMAIL_LINK_RULE_NAME,
|
|
74
|
-
END_OF_LINE_RULE_NAME,
|
|
75
74
|
MARKED_TEXT_RULE_NAME,
|
|
76
75
|
INLINE_TEXT_RULE_NAME,
|
|
77
76
|
STRONG_TEXT_RULE_NAME,
|
|
77
|
+
SUB_DIVISION_RULE_NAME,
|
|
78
78
|
ORDERED_LIST_RULE_NAME,
|
|
79
79
|
BLOCK_LISTING_RULE_NAME,
|
|
80
80
|
FOOTNOTE_ITEM_RULE_NAME,
|
|
@@ -97,8 +97,7 @@ import {
|
|
|
97
97
|
QUATERNARY_HEADING_RULE_NAME,
|
|
98
98
|
BLOCK_LISTING_START_RULE_NAME,
|
|
99
99
|
UNORDERED_LIST_ITEM_RULE_NAME,
|
|
100
|
-
STRONGLY_EMPHASISED_TEXT_RULE_NAME
|
|
101
|
-
} from "./ruleNames";
|
|
100
|
+
STRONGLY_EMPHASISED_TEXT_RULE_NAME } from "./ruleNames";
|
|
102
101
|
|
|
103
102
|
const nodeMap = {
|
|
104
103
|
[URL_RULE_NAME]: URLMarkdownNode,
|
|
@@ -122,10 +121,10 @@ const nodeMap = {
|
|
|
122
121
|
[CLASS_NAME_RULE_NAME]: ClassNameMarkdownNode,
|
|
123
122
|
[PLAIN_TEXT_RULE_NAME]: PlainTextMarkdownNode,
|
|
124
123
|
[EMAIL_LINK_RULE_NAME]: EmailLinkMarkdownNode,
|
|
125
|
-
[END_OF_LINE_RULE_NAME]: EndOfLineMarkdownNode,
|
|
126
124
|
[MARKED_TEXT_RULE_NAME]: MarkedTextMarkdownNode,
|
|
127
125
|
[INLINE_TEXT_RULE_NAME]: InlineTextMarkdownNode,
|
|
128
126
|
[STRONG_TEXT_RULE_NAME]: StrongTextMarkdownNode,
|
|
127
|
+
[SUB_DIVISION_RULE_NAME]: SubDivisionMarkdownNode,
|
|
129
128
|
[ORDERED_LIST_RULE_NAME]: OrderedListMarkdownNode,
|
|
130
129
|
[BLOCK_LISTING_RULE_NAME]: BlockListingMarkdownNode,
|
|
131
130
|
[FOOTNOTE_ITEM_RULE_NAME]: FootnoteItemMarkdownNode,
|
package/src/ruleNameToHTMLMap.js
CHANGED
|
@@ -21,10 +21,10 @@ import { URL_RULE_NAME,
|
|
|
21
21
|
CLASS_NAME_RULE_NAME,
|
|
22
22
|
PLAIN_TEXT_RULE_NAME,
|
|
23
23
|
EMAIL_LINK_RULE_NAME,
|
|
24
|
-
END_OF_LINE_RULE_NAME,
|
|
25
24
|
MARKED_TEXT_RULE_NAME,
|
|
26
25
|
INLINE_TEXT_RULE_NAME,
|
|
27
26
|
STRONG_TEXT_RULE_NAME,
|
|
27
|
+
SUB_DIVISION_RULE_NAME,
|
|
28
28
|
ORDERED_LIST_RULE_NAME,
|
|
29
29
|
BLOCK_LISTING_RULE_NAME,
|
|
30
30
|
FOOTNOTE_ITEM_RULE_NAME,
|
|
@@ -133,10 +133,6 @@ const ruleNameToHTMLMap = {
|
|
|
133
133
|
tagName: "a",
|
|
134
134
|
className: "email"
|
|
135
135
|
},
|
|
136
|
-
[END_OF_LINE_RULE_NAME]: {
|
|
137
|
-
tagName: null,
|
|
138
|
-
className: null
|
|
139
|
-
},
|
|
140
136
|
[MARKED_TEXT_RULE_NAME]: {
|
|
141
137
|
tagName: null,
|
|
142
138
|
className: null
|
|
@@ -149,6 +145,10 @@ const ruleNameToHTMLMap = {
|
|
|
149
145
|
tagName: "strong",
|
|
150
146
|
className: null
|
|
151
147
|
},
|
|
148
|
+
[SUB_DIVISION_RULE_NAME]: {
|
|
149
|
+
tagName: null,
|
|
150
|
+
className: null
|
|
151
|
+
},
|
|
152
152
|
[ORDERED_LIST_RULE_NAME]: {
|
|
153
153
|
tagName: "ol",
|
|
154
154
|
className: null
|
package/src/ruleNames.js
CHANGED
|
@@ -21,10 +21,10 @@ export const BLOCK_TEXT_RULE_NAME = "blockText";
|
|
|
21
21
|
export const CLASS_NAME_RULE_NAME = "className";
|
|
22
22
|
export const PLAIN_TEXT_RULE_NAME = "plainText";
|
|
23
23
|
export const EMAIL_LINK_RULE_NAME = "emailLink";
|
|
24
|
-
export const END_OF_LINE_RULE_NAME = "endOfLine";
|
|
25
24
|
export const MARKED_TEXT_RULE_NAME = "markedText";
|
|
26
25
|
export const INLINE_TEXT_RULE_NAME = "inlineText";
|
|
27
26
|
export const STRONG_TEXT_RULE_NAME = "strongText";
|
|
27
|
+
export const SUB_DIVISION_RULE_NAME = "subDivision";
|
|
28
28
|
export const ORDERED_LIST_RULE_NAME = "orderedList";
|
|
29
29
|
export const BLOCK_LISTING_RULE_NAME = "blockListing";
|
|
30
30
|
export const FOOTNOTE_ITEM_RULE_NAME = "footnoteItem";
|
|
@@ -71,10 +71,10 @@ const ruleNames = {
|
|
|
71
71
|
CLASS_NAME_RULE_NAME,
|
|
72
72
|
PLAIN_TEXT_RULE_NAME,
|
|
73
73
|
EMAIL_LINK_RULE_NAME,
|
|
74
|
-
END_OF_LINE_RULE_NAME,
|
|
75
74
|
MARKED_TEXT_RULE_NAME,
|
|
76
75
|
INLINE_TEXT_RULE_NAME,
|
|
77
76
|
STRONG_TEXT_RULE_NAME,
|
|
77
|
+
SUB_DIVISION_RULE_NAME,
|
|
78
78
|
ORDERED_LIST_RULE_NAME,
|
|
79
79
|
BLOCK_LISTING_RULE_NAME,
|
|
80
80
|
FOOTNOTE_ITEM_RULE_NAME,
|
package/src/tokenTypes.js
CHANGED
|
@@ -10,7 +10,7 @@ export const ESCAPED_TOKEN_TYPE = "escaped";
|
|
|
10
10
|
export const BACKTICKS_TOKEN_TYPE = "backticks";
|
|
11
11
|
export const IDENTIFIER_TOKEN_TYPE = "identifier";
|
|
12
12
|
export const UNASSIGNED_TOKEN_TYPE = "unassigned";
|
|
13
|
-
export const
|
|
13
|
+
export const TWO_DASHES_TOKEN_TYPE = "two-dashes";
|
|
14
14
|
export const MANY_DASHES_TOKEN_TYPE = "many-dashes";
|
|
15
15
|
export const SINGLE_DASH_TOKEN_TYPE = "single-dash";
|
|
16
16
|
export const SINGLE_HASH_TOKEN_TYPE = "single-hash";
|
|
@@ -34,7 +34,7 @@ const tokenTypes = {
|
|
|
34
34
|
BACKTICKS_TOKEN_TYPE,
|
|
35
35
|
IDENTIFIER_TOKEN_TYPE,
|
|
36
36
|
UNASSIGNED_TOKEN_TYPE,
|
|
37
|
-
|
|
37
|
+
TWO_DASHES_TOKEN_TYPE,
|
|
38
38
|
MANY_DASHES_TOKEN_TYPE,
|
|
39
39
|
SINGLE_DASH_TOKEN_TYPE,
|
|
40
40
|
SINGLE_HASH_TOKEN_TYPE,
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import MarkdownNode from "../../node/markdown";
|
|
4
|
-
import contentMixins from "../../mixins/content";
|
|
5
|
-
|
|
6
|
-
class EndOfLineMarkdownNode extends MarkdownNode {
|
|
7
|
-
asHTML(indent, context) {
|
|
8
|
-
const content = this.content(context),
|
|
9
|
-
html = content; ///
|
|
10
|
-
|
|
11
|
-
return html;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
createDOMElement(context) {
|
|
15
|
-
const content = this.content(context),
|
|
16
|
-
domElement = document.createTextNode(content);
|
|
17
|
-
|
|
18
|
-
this.setDOMElement(domElement);
|
|
19
|
-
|
|
20
|
-
return domElement;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(EndOfLineMarkdownNode, ruleName, childNodes, opacity); }
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
Object.assign(EndOfLineMarkdownNode.prototype, contentMixins);
|
|
27
|
-
|
|
28
|
-
export default EndOfLineMarkdownNode;
|