highmark-markdown 0.0.279 → 0.0.280
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 +2227 -3002
- package/lib/elementMap.js +16 -34
- package/lib/example/view.js +2 -2
- package/lib/markdown/bnf.js +2 -2
- package/lib/markdown/entries.js +11 -23
- package/lib/node/markdown/{contents.js → directive/contents.js} +11 -11
- package/lib/node/markdown/{embee.js → directive/embee.js} +12 -12
- package/lib/node/markdown/{footnotes.js → directive/footnotes.js} +11 -11
- package/lib/node/markdown/{tableSeparator.js → directive/ignore.js} +11 -11
- package/lib/node/markdown/{include.js → directive/include.js} +11 -11
- package/lib/node/markdown/directives.js +2 -2
- package/lib/node/markdown/division.js +15 -15
- package/lib/node/markdown/error.js +22 -2
- package/lib/node/markdown/footnote.js +7 -3
- package/lib/node/markdown/orderedListItem.js +37 -3
- package/lib/node/markdown/paragraph.js +33 -2
- package/lib/node/markdown/stronglyEmphasisedText.js +2 -1
- package/lib/node/markdown/tableCell.js +2 -2
- package/lib/node/markdown/unorderedListItem.js +33 -2
- package/lib/nodeMap.js +7 -13
- package/lib/ruleNames.js +23 -53
- package/lib/tokenTypes.js +23 -48
- package/lib/utilities/childNodes.js +3 -1
- package/lib/utilities/index.js +28 -0
- package/lib/utilities/query.js +39 -48
- package/package.json +1 -1
- package/src/elementMap.js +25 -55
- package/src/example/view.js +2 -3
- package/src/markdown/bnf.js +98 -109
- package/src/markdown/entries.js +10 -22
- package/src/node/markdown/{contents.js → directive/contents.js} +3 -3
- package/src/node/markdown/{embee.js → directive/embee.js} +4 -4
- package/src/node/markdown/{footnotes.js → directive/footnotes.js} +3 -3
- package/src/node/markdown/directive/ignore.js +7 -0
- package/src/node/markdown/{include.js → directive/include.js} +3 -3
- package/src/node/markdown/directives.js +1 -2
- package/src/node/markdown/division.js +23 -24
- package/src/node/markdown/error.js +29 -1
- package/src/node/markdown/footnote.js +12 -3
- package/src/node/markdown/orderedListItem.js +48 -3
- package/src/node/markdown/paragraph.js +37 -0
- package/src/node/markdown/stronglyEmphasisedText.js +2 -0
- package/src/node/markdown/tableCell.js +1 -1
- package/src/node/markdown/unorderedListItem.js +37 -0
- package/src/nodeMap.js +15 -33
- package/src/ruleNames.js +10 -22
- package/src/tokenTypes.js +10 -20
- package/src/utilities/childNodes.js +4 -0
- package/src/utilities/index.js +13 -0
- package/src/utilities/query.js +38 -46
- package/lib/node/markdown/bullet.js +0 -120
- package/lib/node/markdown/ignore.js +0 -120
- package/lib/node/markdown/line.js +0 -137
- package/lib/node/markdown/lineBreak.js +0 -134
- package/lib/node/markdown/marker.js +0 -130
- package/lib/node/markdown/reference.js +0 -130
- package/src/node/markdown/bullet.js +0 -7
- package/src/node/markdown/ignore.js +0 -7
- package/src/node/markdown/line.js +0 -31
- package/src/node/markdown/lineBreak.js +0 -17
- package/src/node/markdown/marker.js +0 -21
- package/src/node/markdown/reference.js +0 -21
- package/src/node/markdown/tableSeparator.js +0 -7
package/src/markdown/bnf.js
CHANGED
|
@@ -5,126 +5,135 @@ const bnf = `
|
|
|
5
5
|
division ::= ( subDivision | endOfLine | error )+ ;
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
subDivision
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
| paragraph ) ;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
verticalSpace. ::= endOfLine+ ;
|
|
34
|
-
|
|
8
|
+
subDivision ::= verticalSpace ( directives
|
|
9
|
+
|
|
10
|
+
| primaryHeading
|
|
11
|
+
|
|
12
|
+
| secondaryHeading
|
|
13
|
+
|
|
14
|
+
| tertiaryHeading
|
|
15
|
+
|
|
16
|
+
| quaternaryHeading
|
|
17
|
+
|
|
18
|
+
| table
|
|
19
|
+
|
|
20
|
+
| footnote
|
|
21
|
+
|
|
22
|
+
| orderedList
|
|
23
|
+
|
|
24
|
+
| unorderedList
|
|
25
|
+
|
|
26
|
+
| blockListing
|
|
27
|
+
|
|
28
|
+
| paragraph ) ;
|
|
35
29
|
|
|
30
|
+
|
|
36
31
|
endOfLine. ::= <END_OF_LINE> ;
|
|
37
32
|
|
|
38
33
|
|
|
39
34
|
error. ::= . ;
|
|
40
35
|
|
|
41
36
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
37
|
+
verticalSpace ::= <END_OF_LINE> <END_OF_LINE>+
|
|
38
|
+
|
|
39
|
+
| <START_OF_CONTENT> <END_OF_LINE>*
|
|
40
|
+
|
|
41
|
+
;
|
|
46
42
|
|
|
47
43
|
|
|
48
|
-
|
|
44
|
+
directives ::= ( embedDirective
|
|
49
45
|
|
|
46
|
+
| ignoreDirective
|
|
50
47
|
|
|
51
|
-
|
|
48
|
+
| includeDirective
|
|
49
|
+
|
|
50
|
+
| contentsDirective
|
|
51
|
+
|
|
52
|
+
| footnotesDirective ) ( endOfLine ( embedDirective
|
|
53
|
+
|
|
54
|
+
| ignoreDirective
|
|
55
|
+
|
|
56
|
+
| includeDirective
|
|
57
|
+
|
|
58
|
+
| contentsDirective
|
|
59
|
+
|
|
60
|
+
| footnotesDirective ) )* ;
|
|
52
61
|
|
|
53
62
|
|
|
54
|
-
|
|
63
|
+
primaryHeading ::= "#" markedText ;
|
|
55
64
|
|
|
56
65
|
|
|
57
|
-
|
|
66
|
+
secondaryHeading ::= "##" markedText ;
|
|
58
67
|
|
|
59
68
|
|
|
60
|
-
|
|
69
|
+
tertiaryHeading ::= "###" markedText ;
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
quaternaryHeading ::= "####" markedText ;
|
|
61
73
|
|
|
62
74
|
|
|
63
|
-
|
|
75
|
+
table ::= tableHead <END_OF_LINE> [dashes] <END_OF_LINE> tableBody ;
|
|
64
76
|
|
|
65
77
|
|
|
66
|
-
|
|
78
|
+
footnote ::= [reference] paragraph ;
|
|
67
79
|
|
|
68
80
|
|
|
69
|
-
|
|
70
|
-
|
|
81
|
+
orderedList ::= orderedListItem ( <END_OF_LINE> orderedListItem )* ;
|
|
71
82
|
|
|
72
|
-
orderedList ::= orderedListItem+ ;
|
|
73
83
|
|
|
84
|
+
unorderedList ::= unorderedListItem ( <END_OF_LINE> unorderedListItem )* ;
|
|
74
85
|
|
|
75
|
-
unorderedList ::= unorderedListItem+ ;
|
|
76
86
|
|
|
87
|
+
blockListing ::= blockListingStart <END_OF_LINE> blockText <END_OF_LINE> blockListingEnd ;
|
|
77
88
|
|
|
78
|
-
blockListing ::= blockListingStart blockText blockListingEnd ;
|
|
79
89
|
|
|
90
|
+
paragraph ::= markedText ( <END_OF_LINE> markedText )* ;
|
|
91
|
+
|
|
80
92
|
|
|
81
|
-
|
|
93
|
+
embedDirective ::= "@"<NO_WHITESPACE>"embed" [path] ;
|
|
82
94
|
|
|
83
95
|
|
|
84
|
-
|
|
96
|
+
ignoreDirective ::= "@"<NO_WHITESPACE>"ignore" ;
|
|
85
97
|
|
|
86
98
|
|
|
87
|
-
|
|
99
|
+
includeDirective ::= "@"<NO_WHITESPACE>"include" [path] ;
|
|
88
100
|
|
|
89
101
|
|
|
90
|
-
|
|
102
|
+
contentsDirective ::= "@"<NO_WHITESPACE>"contents" [number]? ;
|
|
91
103
|
|
|
92
104
|
|
|
93
|
-
|
|
105
|
+
footnotesDirective ::= "@"<NO_WHITESPACE>"footnotes" ;
|
|
94
106
|
|
|
95
107
|
|
|
96
|
-
|
|
108
|
+
footnotesList ::= footnoteItem+ ;
|
|
97
109
|
|
|
98
110
|
|
|
99
|
-
|
|
111
|
+
footnoteItem ::= anchor paragraph ;
|
|
100
112
|
|
|
101
|
-
|
|
102
|
-
|
|
113
|
+
|
|
114
|
+
tableHead ::= tableHeadRow ;
|
|
103
115
|
|
|
104
116
|
|
|
105
|
-
|
|
117
|
+
tableBody ::= tableBodyRow ;
|
|
106
118
|
|
|
107
119
|
|
|
108
|
-
orderedListItem
|
|
120
|
+
orderedListItem ::= [marker] markedText ( <END_OF_LINE> markedText )* ;
|
|
109
121
|
|
|
110
122
|
|
|
111
|
-
unorderedListItem ::= bullet
|
|
123
|
+
unorderedListItem ::= [bullet] markedText ( <END_OF_LINE> markedText )* ;
|
|
112
124
|
|
|
113
125
|
|
|
114
|
-
blockListingStart ::= [backticks] className?
|
|
126
|
+
blockListingStart ::= [backticks] className? ;
|
|
115
127
|
|
|
116
128
|
|
|
117
|
-
blockListingEnd ::= [backticks]
|
|
129
|
+
blockListingEnd ::= [backticks] ;
|
|
118
130
|
|
|
119
131
|
|
|
120
|
-
tableHeadRow ::= [vertical-bar] tableHeadCell+
|
|
132
|
+
tableHeadRow ::= [vertical-bar] tableHeadCell+ ;
|
|
121
133
|
|
|
122
134
|
|
|
123
|
-
tableBodyRow ::= [vertical-bar] tableBodyCell+
|
|
124
|
-
|
|
135
|
+
tableBodyRow ::= [vertical-bar] tableBodyCell+ ;
|
|
125
136
|
|
|
126
|
-
blockText. ::= ( plainText | endOfLine )+ ;
|
|
127
|
-
|
|
128
137
|
|
|
129
138
|
tableHeadCell ::= emptyTableCell | tableCell ;
|
|
130
139
|
|
|
@@ -138,17 +147,14 @@ const bnf = `
|
|
|
138
147
|
tableCell. ::= markedText... [vertical-bar] ;
|
|
139
148
|
|
|
140
149
|
|
|
141
|
-
line. ::= markedText endOfLine ;
|
|
142
|
-
|
|
143
|
-
|
|
144
150
|
markedText ::= ( link
|
|
145
151
|
|
|
146
|
-
| image
|
|
147
|
-
|
|
148
152
|
| emailLink
|
|
149
153
|
|
|
150
154
|
| hyperlink
|
|
151
155
|
|
|
156
|
+
| image
|
|
157
|
+
|
|
152
158
|
| inlineListing
|
|
153
159
|
|
|
154
160
|
| stronglyEmphasisedText
|
|
@@ -163,9 +169,6 @@ const bnf = `
|
|
|
163
169
|
link. ::= "[^" [identifier] "]" ;
|
|
164
170
|
|
|
165
171
|
|
|
166
|
-
image. ::= "![" inlineText... "]"<NO_WHITESPACE>"(" [path] ")" ;
|
|
167
|
-
|
|
168
|
-
|
|
169
172
|
emailLink. ::= "[" inlineText... "]"<NO_WHITESPACE>"(" [email-address] ")"
|
|
170
173
|
|
|
171
174
|
| [email-address]
|
|
@@ -180,53 +183,49 @@ const bnf = `
|
|
|
180
183
|
;
|
|
181
184
|
|
|
182
185
|
|
|
186
|
+
image. ::= "![" inlineText... "]"<NO_WHITESPACE>"(" [path] ")" ;
|
|
187
|
+
|
|
188
|
+
|
|
183
189
|
inlineListing ::= [backticked-literal] ;
|
|
184
190
|
|
|
185
191
|
|
|
186
|
-
stronglyEmphasisedText ::=
|
|
192
|
+
stronglyEmphasisedText ::= "****" inlineText "****" ;
|
|
187
193
|
|
|
188
194
|
|
|
189
|
-
emphasisedText ::=
|
|
195
|
+
emphasisedText ::= "**" inlineText "**" ;
|
|
190
196
|
|
|
191
197
|
|
|
192
|
-
strongText ::=
|
|
198
|
+
strongText ::= "***" inlineText "***" ;
|
|
193
199
|
|
|
194
200
|
|
|
201
|
+
blockText. ::= ( plainText
|
|
202
|
+
|
|
203
|
+
| [url]
|
|
204
|
+
|
|
205
|
+
| [dashes]
|
|
206
|
+
|
|
207
|
+
| [vertical-bar]
|
|
208
|
+
|
|
209
|
+
| [email-address] )+ ( <END_OF_LINE> ( plainText
|
|
210
|
+
|
|
211
|
+
| [url]
|
|
212
|
+
|
|
213
|
+
| [dashes]
|
|
214
|
+
|
|
215
|
+
| [vertical-bar]
|
|
216
|
+
|
|
217
|
+
| [email-address] )+ )* ;
|
|
218
|
+
|
|
219
|
+
|
|
195
220
|
inlineText ::= plainText+ ;
|
|
196
221
|
|
|
197
222
|
|
|
198
223
|
plainText ::= [escaped]
|
|
199
224
|
|
|
200
|
-
| [triple-asterisk]
|
|
201
|
-
|
|
202
|
-
| [double-asterisk]
|
|
203
|
-
|
|
204
|
-
| [single-asterisk]
|
|
205
|
-
|
|
206
|
-
| [quadruple-hash]
|
|
207
|
-
|
|
208
|
-
| [triple-hash]
|
|
209
|
-
|
|
210
|
-
| [double-hash]
|
|
211
|
-
|
|
212
|
-
| [single-hash]
|
|
213
|
-
|
|
214
|
-
| [single-dash]
|
|
215
|
-
|
|
216
|
-
| [vertical-bar]
|
|
217
|
-
|
|
218
|
-
| [many-dashes]
|
|
219
|
-
|
|
220
|
-
| [two-dashes]
|
|
221
|
-
|
|
222
225
|
| [number]
|
|
223
226
|
|
|
224
227
|
| [path]
|
|
225
228
|
|
|
226
|
-
| [domain]
|
|
227
|
-
|
|
228
|
-
| [scheme]
|
|
229
|
-
|
|
230
229
|
| [identifier]
|
|
231
230
|
|
|
232
231
|
| [word]
|
|
@@ -238,21 +237,11 @@ const bnf = `
|
|
|
238
237
|
;
|
|
239
238
|
|
|
240
239
|
|
|
241
|
-
reference. ::= "[^" [identifier] "]:" ;
|
|
242
|
-
|
|
243
|
-
|
|
244
240
|
anchor. ::= [identifier] ;
|
|
245
241
|
|
|
246
242
|
|
|
247
|
-
marker. ::= [number]<NO_WHITESPACE>"." ;
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
bullet. ::= [single-dash] | [single-asterisk] ;
|
|
251
|
-
|
|
252
|
-
|
|
253
243
|
className ::= <NO_WHITESPACE>[identifier] ;
|
|
254
244
|
|
|
255
245
|
`;
|
|
256
246
|
|
|
257
247
|
export default bnf;
|
|
258
|
-
|
package/src/markdown/entries.js
CHANGED
|
@@ -5,47 +5,32 @@ const entries = [
|
|
|
5
5
|
"escaped": "^\\\\[^\\s]"
|
|
6
6
|
},
|
|
7
7
|
{
|
|
8
|
-
"
|
|
8
|
+
"asterisks": "^\\*{2,4}"
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
|
-
"
|
|
11
|
+
"hashes": "^#{1,4}"
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
|
-
"
|
|
14
|
+
"dashes": "^-{3,}"
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
|
-
"
|
|
17
|
+
"bullet": "^(?:-|\\*)"
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
|
-
"
|
|
20
|
+
"marker": "^[1-9][0-9]*\\."
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
|
-
"
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"single-hash": "^#"
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"many-dashes": "^-{3,}"
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"two-dashes": "^--"
|
|
23
|
+
"number": "^[1-9][0-9]*"
|
|
33
24
|
},
|
|
34
25
|
{
|
|
35
|
-
"
|
|
26
|
+
"backticks": "^```"
|
|
36
27
|
},
|
|
37
28
|
{
|
|
38
29
|
"vertical-bar": "^\\|"
|
|
39
30
|
},
|
|
40
|
-
{
|
|
41
|
-
"backticks": "^```"
|
|
42
|
-
},
|
|
43
31
|
{
|
|
44
32
|
"backticked-literal": "^`(?:\\\\[^\\s]|[^`\\\\\\r\\n])*`"
|
|
45
33
|
},
|
|
46
|
-
{
|
|
47
|
-
"number": "^[1-9][0-9]*"
|
|
48
|
-
},
|
|
49
34
|
{
|
|
50
35
|
"email-address": "^[a-z0-9\\-_]+(?:\\.[a-z0-9\\-_]+)*@[a-z0-9\\-_]+(?:\\.[a-z0-9\\-_]+)+"
|
|
51
36
|
},
|
|
@@ -55,6 +40,9 @@ const entries = [
|
|
|
55
40
|
{
|
|
56
41
|
"path": "^[a-z0-9\\-_]+(?:\\/[a-z0-9\\-_]+)*\\.[a-z0-9\\-_]+"
|
|
57
42
|
},
|
|
43
|
+
{
|
|
44
|
+
"reference": "\\[\\^[a-z]+(?:-[a-z]+)*\\]:"
|
|
45
|
+
},
|
|
58
46
|
{
|
|
59
47
|
"identifier": "[a-z]+(?:-[a-z]+)*"
|
|
60
48
|
},
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
import { arrayUtilities } from "necessary";
|
|
4
4
|
|
|
5
|
-
import MarkdownNode from "
|
|
5
|
+
import MarkdownNode from "../../../node/markdown";
|
|
6
6
|
|
|
7
7
|
const { fourth } = arrayUtilities;
|
|
8
8
|
|
|
9
|
-
export default class
|
|
9
|
+
export default class ContentsDirectiveMarkdownNode extends MarkdownNode {
|
|
10
10
|
asHTML(indent, context) {
|
|
11
11
|
const html = null;
|
|
12
12
|
|
|
@@ -45,5 +45,5 @@ export default class ContentsMarkdownNode extends MarkdownNode {
|
|
|
45
45
|
return minimumPosition;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(
|
|
48
|
+
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(ContentsDirectiveMarkdownNode, ruleName, childNodes, opacity); }
|
|
49
49
|
}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
import { arrayUtilities } from "necessary";
|
|
4
4
|
|
|
5
|
-
import MarkdownNode from "
|
|
6
|
-
import ReplacementNodeAndTokens from "
|
|
5
|
+
import MarkdownNode from "../../../node/markdown";
|
|
6
|
+
import ReplacementNodeAndTokens from "../../../replacementNodeAndTokens";
|
|
7
7
|
|
|
8
8
|
const { fourth } = arrayUtilities;
|
|
9
9
|
|
|
10
|
-
export default class
|
|
10
|
+
export default class EmbedDirectiveMarkdownNode extends MarkdownNode {
|
|
11
11
|
replacementNodeAndTokens(context) {
|
|
12
12
|
let replacementNodeAndTokens = null;
|
|
13
13
|
|
|
@@ -46,5 +46,5 @@ export default class EmbedMarkdownNode extends MarkdownNode {
|
|
|
46
46
|
return filePath;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(
|
|
49
|
+
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(EmbedDirectiveMarkdownNode, ruleName, childNodes, opacity); }
|
|
50
50
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import MarkdownNode from "
|
|
3
|
+
import MarkdownNode from "../../../node/markdown";
|
|
4
4
|
|
|
5
|
-
export default class
|
|
5
|
+
export default class FootnotesDirectiveMarkdownNode extends MarkdownNode {
|
|
6
6
|
asHTML(indent, context) {
|
|
7
7
|
const html = null;
|
|
8
8
|
|
|
@@ -15,5 +15,5 @@ export default class FootnotesMarkdownNode extends MarkdownNode {
|
|
|
15
15
|
return domElement;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(
|
|
18
|
+
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(FootnotesDirectiveMarkdownNode, ruleName, childNodes, opacity); }
|
|
19
19
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import MarkdownNode from "../../../node/markdown";
|
|
4
|
+
|
|
5
|
+
export default class IgnoreDirectiveMarkdownNode extends MarkdownNode {
|
|
6
|
+
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(IgnoreDirectiveMarkdownNode, ruleName, childNodes, opacity); }
|
|
7
|
+
}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
import { arrayUtilities } from "necessary";
|
|
4
4
|
|
|
5
|
-
import MarkdownNode from "
|
|
5
|
+
import MarkdownNode from "../../../node/markdown";
|
|
6
6
|
|
|
7
7
|
const { push, fourth } = arrayUtilities;
|
|
8
8
|
|
|
9
|
-
export default class
|
|
9
|
+
export default class IncludeDirectiveMarkdownNode extends MarkdownNode {
|
|
10
10
|
resolveIncludes(context) {
|
|
11
11
|
let html = null;
|
|
12
12
|
|
|
@@ -56,5 +56,5 @@ export default class IncludeMarkdownNode extends MarkdownNode {
|
|
|
56
56
|
return filePath;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(
|
|
59
|
+
static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(IncludeDirectiveMarkdownNode, ruleName, childNodes, opacity); }
|
|
60
60
|
}
|
|
@@ -4,8 +4,7 @@ import MarkdownNode from "../../node/markdown";
|
|
|
4
4
|
|
|
5
5
|
export default class DirectivesMarkdownNode extends MarkdownNode {
|
|
6
6
|
asHTML(indent, context) {
|
|
7
|
-
const
|
|
8
|
-
html = childNodesHTML; ///
|
|
7
|
+
const html = null;
|
|
9
8
|
|
|
10
9
|
return html;
|
|
11
10
|
}
|
|
@@ -6,14 +6,14 @@ import MarkdownNode from "../../node/markdown";
|
|
|
6
6
|
import ContentsListMarkdownNode from "../../node/markdown/contentsList";
|
|
7
7
|
import FootnotesListMarkdownNode from "../../node/markdown/footnotesList";
|
|
8
8
|
|
|
9
|
+
import { EMPTY_STRING } from "../../constants";
|
|
9
10
|
import { renumberLinkMarkdownNodes } from "../../utilities/footnotes";
|
|
10
11
|
import { replaceNode, replaceNodes, replaceTokens } from "../../utilities/replace";
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
import {EMPTY_STRING} from "../../constants";
|
|
12
|
+
import { headingMarkdownNodesFromNode,
|
|
13
|
+
embedDirectiveMarkdownNodesFromNode,
|
|
14
|
+
ignoreDirectiveMarkdownNodeFromNode,
|
|
15
|
+
contentsDirectiveMarkdownNodeFromNode,
|
|
16
|
+
footnotesDirectiveMarkdownNodeFromNode } from "../../utilities/query";
|
|
17
17
|
|
|
18
18
|
const { filter } = arrayUtilities;
|
|
19
19
|
|
|
@@ -40,8 +40,8 @@ export default class DivisionMarkdownNode extends MarkdownNode {
|
|
|
40
40
|
|
|
41
41
|
isIgnored() {
|
|
42
42
|
const node = this,
|
|
43
|
-
|
|
44
|
-
ignored = (
|
|
43
|
+
ignoreDirectiveMarkdownNode = ignoreDirectiveMarkdownNodeFromNode(node),
|
|
44
|
+
ignored = (ignoreDirectiveMarkdownNode !== null);
|
|
45
45
|
|
|
46
46
|
return ignored;
|
|
47
47
|
}
|
|
@@ -78,11 +78,11 @@ export default class DivisionMarkdownNode extends MarkdownNode {
|
|
|
78
78
|
let contentsCreated = false;
|
|
79
79
|
|
|
80
80
|
const node = this, ///
|
|
81
|
-
|
|
81
|
+
contentsDirectiveMarkdownNode = contentsDirectiveMarkdownNodeFromNode(node);
|
|
82
82
|
|
|
83
|
-
if (
|
|
83
|
+
if (contentsDirectiveMarkdownNode !== null) {
|
|
84
84
|
const divisionMarkdownNode = this, ///
|
|
85
|
-
headingMarkdownNodes =
|
|
85
|
+
headingMarkdownNodes = headingMarkdownNodesFromDivisionMarkdownNodeAndContentsDirectiveMarkdownNode(divisionMarkdownNode, contentsDirectiveMarkdownNode, context),
|
|
86
86
|
headingMarkdownNodesLength = headingMarkdownNodes.length;
|
|
87
87
|
|
|
88
88
|
if (headingMarkdownNodesLength === 0) {
|
|
@@ -92,9 +92,9 @@ export default class DivisionMarkdownNode extends MarkdownNode {
|
|
|
92
92
|
const { tokens } = context,
|
|
93
93
|
contentsListMarkdownNode = ContentsListMarkdownNode.fromHeadingMarkdownNodes(headingMarkdownNodes, context),
|
|
94
94
|
contentsListMarkdownNodeTokens = contentsListMarkdownNode.getTokens(),
|
|
95
|
-
childNode =
|
|
95
|
+
childNode = contentsDirectiveMarkdownNode, ///
|
|
96
96
|
parentNode = this.findParentNode(childNode),
|
|
97
|
-
replacedNode =
|
|
97
|
+
replacedNode = contentsDirectiveMarkdownNode, ///
|
|
98
98
|
replacementNode = contentsListMarkdownNode, ///
|
|
99
99
|
replacementTokens = contentsListMarkdownNodeTokens; ///
|
|
100
100
|
|
|
@@ -110,10 +110,9 @@ export default class DivisionMarkdownNode extends MarkdownNode {
|
|
|
110
110
|
|
|
111
111
|
createFootnotes(context) {
|
|
112
112
|
const node = this, ///
|
|
113
|
-
|
|
114
|
-
footnotesMarkdownNodesLength = footnotesMarkdownNodes.length;
|
|
113
|
+
footnotesDirectiveMarkdownNode = footnotesDirectiveMarkdownNodeFromNode(node);
|
|
115
114
|
|
|
116
|
-
if (
|
|
115
|
+
if (footnotesDirectiveMarkdownNode !== null) {
|
|
117
116
|
const divisionMarkdownNode = this, ///
|
|
118
117
|
footnotesListMarkdownNode = FootnotesListMarkdownNode.fromDivisionMarkdownNode(divisionMarkdownNode, context);
|
|
119
118
|
|
|
@@ -129,10 +128,10 @@ export default class DivisionMarkdownNode extends MarkdownNode {
|
|
|
129
128
|
|
|
130
129
|
resolveEmbeddings(context) {
|
|
131
130
|
const node = this, ///
|
|
132
|
-
|
|
131
|
+
embedDirectiveMarkdownNodes = embedDirectiveMarkdownNodesFromNode(node);
|
|
133
132
|
|
|
134
|
-
|
|
135
|
-
const replacementNodeAndTokens =
|
|
133
|
+
embedDirectiveMarkdownNodes.map((embedDirectiveMarkdownNode) => {
|
|
134
|
+
const replacementNodeAndTokens = embedDirectiveMarkdownNode.replacementNodeAndTokens(context);
|
|
136
135
|
|
|
137
136
|
if (replacementNodeAndTokens !== null) {
|
|
138
137
|
let tokens;
|
|
@@ -145,9 +144,9 @@ export default class DivisionMarkdownNode extends MarkdownNode {
|
|
|
145
144
|
|
|
146
145
|
({ tokens } = context);
|
|
147
146
|
|
|
148
|
-
const childNode =
|
|
147
|
+
const childNode = embedDirectiveMarkdownNode, ///
|
|
149
148
|
parentNode = this.findParentNode(childNode),
|
|
150
|
-
replacedNode =
|
|
149
|
+
replacedNode = embedDirectiveMarkdownNode; ///
|
|
151
150
|
|
|
152
151
|
replaceNodes(replacementNodes, replacedNode, parentNode);
|
|
153
152
|
|
|
@@ -197,10 +196,10 @@ ${childNodesHTML}${indent}${closingTag}
|
|
|
197
196
|
}
|
|
198
197
|
}
|
|
199
198
|
|
|
200
|
-
function
|
|
199
|
+
function headingMarkdownNodesFromDivisionMarkdownNodeAndContentsDirectiveMarkdownNode(divisionMarkdownNode, contentsDirectiveMarkdownNode, context) {
|
|
201
200
|
const headingMarkdownNodes = [],
|
|
202
|
-
minimumPosition =
|
|
203
|
-
maximumLevel =
|
|
201
|
+
minimumPosition = contentsDirectiveMarkdownNode.minimumPosition(context),
|
|
202
|
+
maximumLevel = contentsDirectiveMarkdownNode.maximumLevel(context),
|
|
204
203
|
node = divisionMarkdownNode; ///
|
|
205
204
|
|
|
206
205
|
headingMarkdownNodesFromNode(node, headingMarkdownNodes);
|
|
@@ -4,9 +4,37 @@ import MarkdownNode from "../../node/markdown";
|
|
|
4
4
|
import contentMixins from "../../mixins/content";
|
|
5
5
|
|
|
6
6
|
class ErrorMarkdownNode extends MarkdownNode {
|
|
7
|
+
asHTML(indent, context) {
|
|
8
|
+
indent = this.adjustIndent(indent);
|
|
9
|
+
|
|
10
|
+
const childNodesHTML = this.childNodesAsHTML(indent, context),
|
|
11
|
+
startingTag = this.startingTag(context),
|
|
12
|
+
closingTag = this.closingTag(context),
|
|
13
|
+
html = `${indent}${startingTag}${childNodesHTML}${closingTag}
|
|
14
|
+
`;
|
|
15
|
+
|
|
16
|
+
return html;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
createDOMElement(context) {
|
|
20
|
+
const tagName = this.tagName(context),
|
|
21
|
+
className = this.className(context),
|
|
22
|
+
domElement = document.createElement(tagName);
|
|
23
|
+
|
|
24
|
+
Object.assign(domElement, {
|
|
25
|
+
className
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
this.setDOMElement(domElement);
|
|
29
|
+
|
|
30
|
+
this.createChildNodeDOMElements(context);
|
|
31
|
+
|
|
32
|
+
return domElement;
|
|
33
|
+
}
|
|
34
|
+
|
|
7
35
|
childNodesAsHTML(indent, context) {
|
|
8
36
|
const content = this.content(context),
|
|
9
|
-
childNodesHTML = content;
|
|
37
|
+
childNodesHTML = content;
|
|
10
38
|
|
|
11
39
|
return childNodesHTML;
|
|
12
40
|
}
|