@peaceroad/markdown-it-numbering-ul-regarded-as-ol 0.1.0 → 0.1.3
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/README.md +101 -43
- package/index.js +82 -10
- package/package.json +1 -1
- package/test/examples-spantitle-omit-typeNumber.txt +201 -0
- package/test/examples-spantitle.txt +201 -0
- package/test/test.js +80 -21
package/README.md
CHANGED
|
@@ -12,6 +12,27 @@ Input Markdown:
|
|
|
12
12
|
|
|
13
13
|
Output HTML:
|
|
14
14
|
|
|
15
|
+
```html
|
|
16
|
+
<ol type="i" class="ol-lower-roman">
|
|
17
|
+
<li>a</li>
|
|
18
|
+
<li>b</li>
|
|
19
|
+
<li>c</li>
|
|
20
|
+
</ol>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Using Option `omitTypeNumber: false` output HTML:
|
|
24
|
+
|
|
25
|
+
```html
|
|
26
|
+
<ol type="i" class="ol-lower-roman">
|
|
27
|
+
<li><span class="li-num">i<span class="li-num-joint">.</span></span> a</li>
|
|
28
|
+
<li><span class="li-num">ii<span class="li-num-joint">.</span></span> b</li>
|
|
29
|
+
<li><span class="li-num">iii<span class="li-num-joint">.</span></span> c</li>
|
|
30
|
+
</ol>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Using Option `describeListNumber: false` and `unsetListRole: false` output HTML:
|
|
34
|
+
|
|
35
|
+
|
|
15
36
|
```html
|
|
16
37
|
<ol type="i" class="ol-lower-roman">
|
|
17
38
|
<li aria-label="i">a</li>
|
|
@@ -25,7 +46,23 @@ Notice. HTML output is still unstable.
|
|
|
25
46
|
## Install
|
|
26
47
|
|
|
27
48
|
```
|
|
28
|
-
npm i @
|
|
49
|
+
npm i @peaceroad/markdown-it-numbering-ul-regarded-as-ol
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Option
|
|
53
|
+
|
|
54
|
+
```js
|
|
55
|
+
const mdNumUl = require('@peaceroad/markdown-it-numbering-ul-regarded-as-ol');
|
|
56
|
+
md.use(mdNumUl);
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
When using options:
|
|
60
|
+
|
|
61
|
+
```js
|
|
62
|
+
md.use(mdNumUl, {
|
|
63
|
+
describeListNumber: false,
|
|
64
|
+
unsetListRole: false,
|
|
65
|
+
});
|
|
29
66
|
```
|
|
30
67
|
|
|
31
68
|
## Example
|
|
@@ -71,9 +108,9 @@ npm i @peacroad/markdown-it-numbering-ul-regarded-as-ol
|
|
|
71
108
|
- iii. c
|
|
72
109
|
[HTML]
|
|
73
110
|
<ol type="i" class="ol-lower-roman">
|
|
74
|
-
<li
|
|
75
|
-
<li
|
|
76
|
-
<li
|
|
111
|
+
<li>a</li>
|
|
112
|
+
<li>b</li>
|
|
113
|
+
<li>c</li>
|
|
77
114
|
</ol>
|
|
78
115
|
|
|
79
116
|
[Markdown]
|
|
@@ -92,10 +129,10 @@ npm i @peacroad/markdown-it-numbering-ul-regarded-as-ol
|
|
|
92
129
|
- ❷ b
|
|
93
130
|
- ❸ c
|
|
94
131
|
[HTML]
|
|
95
|
-
<ol
|
|
96
|
-
<li
|
|
97
|
-
<li
|
|
98
|
-
<li
|
|
132
|
+
<ol class="ol-filled-circled-decimal">
|
|
133
|
+
<li><span class="li-num">❶</span> a</li>
|
|
134
|
+
<li><span class="li-num">❷</span> b</li>
|
|
135
|
+
<li><span class="li-num">❸</span> c</li>
|
|
99
136
|
</ol>
|
|
100
137
|
|
|
101
138
|
[Markdown]
|
|
@@ -114,10 +151,10 @@ npm i @peacroad/markdown-it-numbering-ul-regarded-as-ol
|
|
|
114
151
|
- ③ b
|
|
115
152
|
- ④ c
|
|
116
153
|
[HTML]
|
|
117
|
-
<ol start="2"
|
|
118
|
-
<li
|
|
119
|
-
<li
|
|
120
|
-
<li
|
|
154
|
+
<ol start="2" class="ol-circled-decimal">
|
|
155
|
+
<li><span class="li-num">②</span> a</li>
|
|
156
|
+
<li><span class="li-num">③</span> b</li>
|
|
157
|
+
<li><span class="li-num">④</span> c</li>
|
|
121
158
|
</ol>
|
|
122
159
|
|
|
123
160
|
[Markdown]
|
|
@@ -125,10 +162,10 @@ npm i @peacroad/markdown-it-numbering-ul-regarded-as-ol
|
|
|
125
162
|
- (3). b
|
|
126
163
|
- (4). c
|
|
127
164
|
[HTML]
|
|
128
|
-
<ol start="2"
|
|
129
|
-
<li
|
|
130
|
-
<li
|
|
131
|
-
<li
|
|
165
|
+
<ol start="2" class="ol-decimal-with-round-round">
|
|
166
|
+
<li><span class="li-num">(2)</span> a</li>
|
|
167
|
+
<li><span class="li-num">(3)</span> b</li>
|
|
168
|
+
<li><span class="li-num">(4)</span> c</li>
|
|
132
169
|
</ol>
|
|
133
170
|
|
|
134
171
|
[Markdown]
|
|
@@ -136,10 +173,10 @@ npm i @peacroad/markdown-it-numbering-ul-regarded-as-ol
|
|
|
136
173
|
- 3). b
|
|
137
174
|
- 4). c
|
|
138
175
|
[HTML]
|
|
139
|
-
<ol start="2"
|
|
140
|
-
<li
|
|
141
|
-
<li
|
|
142
|
-
<li
|
|
176
|
+
<ol start="2" class="ol-decimal-with-none-round">
|
|
177
|
+
<li><span class="li-num">2)</span> a</li>
|
|
178
|
+
<li><span class="li-num">3)</span> b</li>
|
|
179
|
+
<li><span class="li-num">4)</span> c</li>
|
|
143
180
|
</ol>
|
|
144
181
|
|
|
145
182
|
|
|
@@ -155,32 +192,52 @@ npm i @peacroad/markdown-it-numbering-ul-regarded-as-ol
|
|
|
155
192
|
<li>項目1</li>
|
|
156
193
|
<li>項目2
|
|
157
194
|
<ol type="i" class="ol-lower-roman">
|
|
158
|
-
<li
|
|
159
|
-
<li
|
|
160
|
-
<li
|
|
195
|
+
<li>項目2-i</li>
|
|
196
|
+
<li>項目2-ii</li>
|
|
197
|
+
<li>項目2-iii</li>
|
|
161
198
|
</ol>
|
|
162
199
|
</li>
|
|
163
200
|
<li>項目3</li>
|
|
164
201
|
</ol>
|
|
165
202
|
|
|
166
203
|
[Markdown]
|
|
167
|
-
-
|
|
168
|
-
-
|
|
169
|
-
-
|
|
170
|
-
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
204
|
+
- i. 項目i
|
|
205
|
+
- ii. 項目ii
|
|
206
|
+
1. 項目ii-1
|
|
207
|
+
2. 項目ii-2
|
|
208
|
+
3. 項目ii-3
|
|
209
|
+
- iii. 項目iii
|
|
173
210
|
[HTML]
|
|
174
|
-
<ol
|
|
175
|
-
<li
|
|
176
|
-
<li
|
|
177
|
-
<ol
|
|
178
|
-
<li
|
|
179
|
-
<li
|
|
180
|
-
<li
|
|
211
|
+
<ol type="i" class="ol-lower-roman">
|
|
212
|
+
<li>項目i</li>
|
|
213
|
+
<li>項目ii
|
|
214
|
+
<ol class="ol-decimal">
|
|
215
|
+
<li>項目ii-1</li>
|
|
216
|
+
<li>項目ii-2</li>
|
|
217
|
+
<li>項目ii-3</li>
|
|
181
218
|
</ol>
|
|
182
219
|
</li>
|
|
183
|
-
<li
|
|
220
|
+
<li>項目iii</li>
|
|
221
|
+
</ol>
|
|
222
|
+
|
|
223
|
+
[Markdown]
|
|
224
|
+
- ❸ 項目❸
|
|
225
|
+
- ❹ 項目❹
|
|
226
|
+
- ② 項目❹-②
|
|
227
|
+
- ③ 項目❹-③
|
|
228
|
+
- ④ 項目❹-④
|
|
229
|
+
- ❺ 項目❺
|
|
230
|
+
[HTML]
|
|
231
|
+
<ol start="3" class="ol-filled-circled-decimal">
|
|
232
|
+
<li><span class="li-num">❸</span> 項目❸</li>
|
|
233
|
+
<li><span class="li-num">❹</span> 項目❹
|
|
234
|
+
<ol start="2" class="ol-circled-decimal">
|
|
235
|
+
<li><span class="li-num">②</span> 項目❹-②</li>
|
|
236
|
+
<li><span class="li-num">③</span> 項目❹-③</li>
|
|
237
|
+
<li><span class="li-num">④</span> 項目❹-④</li>
|
|
238
|
+
</ol>
|
|
239
|
+
</li>
|
|
240
|
+
<li><span class="li-num">❺</span> 項目❺</li>
|
|
184
241
|
</ol>
|
|
185
242
|
|
|
186
243
|
[Markdown]
|
|
@@ -198,17 +255,18 @@ npm i @peacroad/markdown-it-numbering-ul-regarded-as-ol
|
|
|
198
255
|
<li>項目1</li>
|
|
199
256
|
<li>項目2
|
|
200
257
|
<ol type="i" class="ol-lower-roman">
|
|
201
|
-
<li
|
|
202
|
-
<li
|
|
258
|
+
<li>項目2-i</li>
|
|
259
|
+
<li>項目2-ii
|
|
203
260
|
<ol type="a" class="ol-lower-latin">
|
|
204
|
-
<li
|
|
205
|
-
<li
|
|
206
|
-
<li
|
|
261
|
+
<li>項目2-ii-a</li>
|
|
262
|
+
<li>項目2-ii-b</li>
|
|
263
|
+
<li>項目2-ii-c</li>
|
|
207
264
|
</ol>
|
|
208
265
|
</li>
|
|
209
|
-
<li
|
|
266
|
+
<li>項目2-iii</li>
|
|
210
267
|
</ol>
|
|
211
268
|
</li>
|
|
212
269
|
<li>項目3</li>
|
|
213
270
|
</ol>
|
|
271
|
+
|
|
214
272
|
```
|
package/index.js
CHANGED
|
@@ -3,7 +3,13 @@
|
|
|
3
3
|
module.exports = function numbering_ul_regarded_as_ol_plugin(md, option) {
|
|
4
4
|
|
|
5
5
|
let opt = {
|
|
6
|
-
noChangeBulletOneOrderedList: true,
|
|
6
|
+
//noChangeBulletOneOrderedList: true,
|
|
7
|
+
unsetListRole: true,
|
|
8
|
+
describeListNumber: true,
|
|
9
|
+
omitTypeNumber: true,
|
|
10
|
+
desdribelistNumterTitle: false,
|
|
11
|
+
listNumberTitleLang: 'en',
|
|
12
|
+
|
|
7
13
|
};
|
|
8
14
|
if (option !== undefined) {
|
|
9
15
|
for (let o in option) {
|
|
@@ -286,7 +292,7 @@ module.exports = function numbering_ul_regarded_as_ol_plugin(md, option) {
|
|
|
286
292
|
}
|
|
287
293
|
|
|
288
294
|
//Set role attribute.
|
|
289
|
-
if(!isOlTypes && isParent[1] === 'numbering_bullet') {
|
|
295
|
+
if(!opt.unsetListRole && !isOlTypes && isParent[1] === 'numbering_bullet') {
|
|
290
296
|
state.tokens[cn].attrSet('role', 'list');
|
|
291
297
|
}
|
|
292
298
|
|
|
@@ -356,15 +362,81 @@ module.exports = function numbering_ul_regarded_as_ol_plugin(md, option) {
|
|
|
356
362
|
}
|
|
357
363
|
}
|
|
358
364
|
|
|
359
|
-
//Set
|
|
360
|
-
if (
|
|
361
|
-
state.
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
+
//Set list num span element.
|
|
366
|
+
if (opt.describeListNumber) {
|
|
367
|
+
const listNumBeforeToken = new state.Token('text', '', 0);
|
|
368
|
+
const listNumOpenToken = new state.Token('span_open', 'span', 1);
|
|
369
|
+
listNumOpenToken.attrSet('class', 'li-num');
|
|
370
|
+
if (opt.desdribelistNumterTitle) {
|
|
371
|
+
let listNumTitle = 'List number';
|
|
372
|
+
if (opt.listNumberTitleLang === 'ja') {
|
|
373
|
+
listNumTitle = '項目番号';
|
|
374
|
+
}
|
|
375
|
+
listNumOpenToken.attrSet('title', listNumTitle);
|
|
376
|
+
}
|
|
377
|
+
const listNumContToken = new state.Token('text', '', 0);
|
|
378
|
+
listNumContToken.content = list.flows[lfn].symbols[sn].cont;
|
|
379
|
+
const listNumCloseToken = new state.Token('span_close', 'span', -1);
|
|
380
|
+
|
|
381
|
+
const listNumJointOpenToken = new state.Token('span_open', 'span', 1);
|
|
382
|
+
listNumJointOpenToken.attrSet('class', 'li-num-joint');
|
|
383
|
+
const listNumJointContToken = new state.Token('text', '', 0);
|
|
384
|
+
listNumJointContToken.content = list.flows[lfn].symbols[sn].joint.replace(/ *$/, '');
|
|
385
|
+
const listNumJointCloseToken = new state.Token('span_close', 'span', -1);
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
let otn = 0;
|
|
389
|
+
let isOlTypes = false;
|
|
390
|
+
while (otn < olTypes.length) {
|
|
391
|
+
isOlTypes = types[list.flows[lfn].symbols[sn].typesNum].name === olTypes[otn][1] && !list.flows[lfn].symbols[sn].prefix && !list.flows[lfn].symbols[sn].suffix;
|
|
392
|
+
if (isOlTypes) break;
|
|
393
|
+
otn++;
|
|
394
|
+
}
|
|
395
|
+
if (opt.omitTypeNumber && isOlTypes) {
|
|
396
|
+
state.tokens[cn+2].content = state.tokens[cn+2].content.replace(list.flows[lfn].symbols[sn].contAll, '');
|
|
397
|
+
state.tokens[cn+2].children[0].content = state.tokens[cn+2].children[0].content.replace(list.flows[lfn].symbols[sn].contAll, '');
|
|
398
|
+
} else {
|
|
399
|
+
|
|
400
|
+
//console.log(state.tokens[cn+2]);
|
|
401
|
+
if (list.flows[lfn].symbols[sn].typesNum !== 0 || list.flows[lfn].symbols[sn].prefix || list.flows[lfn].symbols[sn].suffix) {
|
|
402
|
+
//console.log(state.tokens[cn+2]);
|
|
403
|
+
|
|
404
|
+
state.tokens[cn+2].content = state.tokens[cn+2].content.replace(list.flows[lfn].symbols[sn].contAll, ' ');
|
|
405
|
+
state.tokens[cn+2].children[0].content = state.tokens[cn+2].children[0].content.replace(list.flows[lfn].symbols[sn].contAll, ' ');
|
|
406
|
+
|
|
407
|
+
//console.log(list.flows[lfn].symbols[sn])
|
|
408
|
+
if (/\. */.test(list.flows[lfn].symbols[sn].joint)) {
|
|
409
|
+
if (/\)/.test(list.flows[lfn].symbols[sn].suffix)) {
|
|
410
|
+
state.tokens[cn+2].children.splice(0, 0, listNumOpenToken, listNumContToken, listNumCloseToken);
|
|
411
|
+
} else {
|
|
412
|
+
state.tokens[cn+2].children.splice(0, 0, listNumOpenToken, listNumContToken, listNumJointOpenToken, listNumJointContToken,listNumJointCloseToken, listNumCloseToken);
|
|
413
|
+
}
|
|
414
|
+
} else {
|
|
415
|
+
state.tokens[cn+2].children.splice(0, 0, listNumOpenToken, listNumContToken, listNumCloseToken);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
// console.log('state.tokens[cn+2].content: ' + state.tokens[cn+2].content);
|
|
421
|
+
//state.tokens[cn+2].content = state.tokens[cn+2].content.replace(list.flows[lfn].symbols[sn].contAll, '');
|
|
422
|
+
//console.log(list.flows[lfn].symbols[sn]);
|
|
423
|
+
// console.log('state.tokens[cn+2].content: ' + state.tokens[cn+2].content);
|
|
424
|
+
// state.tokens[cn+2].children[0].content = '';//;
|
|
425
|
+
|
|
426
|
+
//const listContToken = new state.Token('text', '', 0);
|
|
427
|
+
//listContToken.content = state.tokens[cn+2].children[0].content.replace(list.flows[lfn].symbols[sn].contAll, '');
|
|
428
|
+
//console.log('check: ' + state.tokens[cn+2].children[0].content.replace(list.flows[lfn].symbols[sn].contAll, ''));
|
|
429
|
+
//state.tokens[cn+2].children.splice(0, 0, listContToken);
|
|
365
430
|
|
|
366
|
-
|
|
367
|
-
|
|
431
|
+
} else {
|
|
432
|
+
//set aria-label attribute and modify content.
|
|
433
|
+
if (list.flows[lfn].symbols[sn].typesNum !== 0 || list.flows[lfn].symbols[sn].prefix || list.flows[lfn].symbols[sn].suffix) {
|
|
434
|
+
state.tokens[cn].attrSet('aria-label', list.flows[lfn].symbols[sn].cont);
|
|
435
|
+
}
|
|
436
|
+
state.tokens[cn+2].content = state.tokens[cn+2].content.replace(list.flows[lfn].symbols[sn].contAll, '');
|
|
437
|
+
state.tokens[cn+2].children[0].content = state.tokens[cn+2].children[0].content.replace(list.flows[lfn].symbols[sn].contAll, '');
|
|
438
|
+
|
|
439
|
+
}
|
|
368
440
|
}
|
|
369
441
|
lfn++;
|
|
370
442
|
}
|
package/package.json
CHANGED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
[Markdown]
|
|
2
|
+
1. a
|
|
3
|
+
2. b
|
|
4
|
+
3. c
|
|
5
|
+
[HTML]
|
|
6
|
+
<ol class="ol-decimal">
|
|
7
|
+
<li>a</li>
|
|
8
|
+
<li>b</li>
|
|
9
|
+
<li>c</li>
|
|
10
|
+
</ol>
|
|
11
|
+
|
|
12
|
+
[Markdown]
|
|
13
|
+
3. a
|
|
14
|
+
4. b
|
|
15
|
+
5. c
|
|
16
|
+
[HTML]
|
|
17
|
+
<ol start="3" class="ol-decimal">
|
|
18
|
+
<li>a</li>
|
|
19
|
+
<li>b</li>
|
|
20
|
+
<li>c</li>
|
|
21
|
+
</ol>
|
|
22
|
+
|
|
23
|
+
[Markdown]
|
|
24
|
+
1. a
|
|
25
|
+
3. b
|
|
26
|
+
4. c
|
|
27
|
+
[HTML]
|
|
28
|
+
<ol class="ol-decimal">
|
|
29
|
+
<li>a</li>
|
|
30
|
+
<li value="3">b</li>
|
|
31
|
+
<li>c</li>
|
|
32
|
+
</ol>
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
[Markdown]
|
|
36
|
+
- i. a
|
|
37
|
+
- ii. b
|
|
38
|
+
- iii. c
|
|
39
|
+
[HTML]
|
|
40
|
+
<ol type="i" class="ol-lower-roman">
|
|
41
|
+
<li>a</li>
|
|
42
|
+
<li>b</li>
|
|
43
|
+
<li>c</li>
|
|
44
|
+
</ol>
|
|
45
|
+
|
|
46
|
+
[Markdown]
|
|
47
|
+
- a
|
|
48
|
+
- b
|
|
49
|
+
- c
|
|
50
|
+
[HTML]
|
|
51
|
+
<ul>
|
|
52
|
+
<li>a</li>
|
|
53
|
+
<li>b</li>
|
|
54
|
+
<li>c</li>
|
|
55
|
+
</ul>
|
|
56
|
+
|
|
57
|
+
[Markdown]
|
|
58
|
+
- ❶ a
|
|
59
|
+
- ❷ b
|
|
60
|
+
- ❸ c
|
|
61
|
+
[HTML]
|
|
62
|
+
<ol class="ol-filled-circled-decimal">
|
|
63
|
+
<li><span class="li-num">❶</span> a</li>
|
|
64
|
+
<li><span class="li-num">❷</span> b</li>
|
|
65
|
+
<li><span class="li-num">❸</span> c</li>
|
|
66
|
+
</ol>
|
|
67
|
+
|
|
68
|
+
[Markdown]
|
|
69
|
+
2. a
|
|
70
|
+
3. b
|
|
71
|
+
4. c
|
|
72
|
+
[HTML]
|
|
73
|
+
<ol start="2" class="ol-decimal">
|
|
74
|
+
<li>a</li>
|
|
75
|
+
<li>b</li>
|
|
76
|
+
<li>c</li>
|
|
77
|
+
</ol>
|
|
78
|
+
|
|
79
|
+
[Markdown]
|
|
80
|
+
- ② a
|
|
81
|
+
- ③ b
|
|
82
|
+
- ④ c
|
|
83
|
+
[HTML]
|
|
84
|
+
<ol start="2" class="ol-circled-decimal">
|
|
85
|
+
<li><span class="li-num">②</span> a</li>
|
|
86
|
+
<li><span class="li-num">③</span> b</li>
|
|
87
|
+
<li><span class="li-num">④</span> c</li>
|
|
88
|
+
</ol>
|
|
89
|
+
|
|
90
|
+
[Markdown]
|
|
91
|
+
- (2). a
|
|
92
|
+
- (3). b
|
|
93
|
+
- (4). c
|
|
94
|
+
[HTML]
|
|
95
|
+
<ol start="2" class="ol-decimal-with-round-round">
|
|
96
|
+
<li><span class="li-num">(2)</span> a</li>
|
|
97
|
+
<li><span class="li-num">(3)</span> b</li>
|
|
98
|
+
<li><span class="li-num">(4)</span> c</li>
|
|
99
|
+
</ol>
|
|
100
|
+
|
|
101
|
+
[Markdown]
|
|
102
|
+
- 2). a
|
|
103
|
+
- 3). b
|
|
104
|
+
- 4). c
|
|
105
|
+
[HTML]
|
|
106
|
+
<ol start="2" class="ol-decimal-with-none-round">
|
|
107
|
+
<li><span class="li-num">2)</span> a</li>
|
|
108
|
+
<li><span class="li-num">3)</span> b</li>
|
|
109
|
+
<li><span class="li-num">4)</span> c</li>
|
|
110
|
+
</ol>
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
[Markdown]
|
|
114
|
+
1. 項目1
|
|
115
|
+
2. 項目2
|
|
116
|
+
- i. 項目2-i
|
|
117
|
+
- ii. 項目2-ii
|
|
118
|
+
- iii. 項目2-iii
|
|
119
|
+
3. 項目3
|
|
120
|
+
[HTML]
|
|
121
|
+
<ol class="ol-decimal">
|
|
122
|
+
<li>項目1</li>
|
|
123
|
+
<li>項目2
|
|
124
|
+
<ol type="i" class="ol-lower-roman">
|
|
125
|
+
<li>項目2-i</li>
|
|
126
|
+
<li>項目2-ii</li>
|
|
127
|
+
<li>項目2-iii</li>
|
|
128
|
+
</ol>
|
|
129
|
+
</li>
|
|
130
|
+
<li>項目3</li>
|
|
131
|
+
</ol>
|
|
132
|
+
|
|
133
|
+
[Markdown]
|
|
134
|
+
- i. 項目i
|
|
135
|
+
- ii. 項目ii
|
|
136
|
+
1. 項目ii-1
|
|
137
|
+
2. 項目ii-2
|
|
138
|
+
3. 項目ii-3
|
|
139
|
+
- iii. 項目iii
|
|
140
|
+
[HTML]
|
|
141
|
+
<ol type="i" class="ol-lower-roman">
|
|
142
|
+
<li>項目i</li>
|
|
143
|
+
<li>項目ii
|
|
144
|
+
<ol class="ol-decimal">
|
|
145
|
+
<li>項目ii-1</li>
|
|
146
|
+
<li>項目ii-2</li>
|
|
147
|
+
<li>項目ii-3</li>
|
|
148
|
+
</ol>
|
|
149
|
+
</li>
|
|
150
|
+
<li>項目iii</li>
|
|
151
|
+
</ol>
|
|
152
|
+
|
|
153
|
+
[Markdown]
|
|
154
|
+
- ❸ 項目❸
|
|
155
|
+
- ❹ 項目❹
|
|
156
|
+
- ② 項目❹-②
|
|
157
|
+
- ③ 項目❹-③
|
|
158
|
+
- ④ 項目❹-④
|
|
159
|
+
- ❺ 項目❺
|
|
160
|
+
[HTML]
|
|
161
|
+
<ol start="3" class="ol-filled-circled-decimal">
|
|
162
|
+
<li><span class="li-num">❸</span> 項目❸</li>
|
|
163
|
+
<li><span class="li-num">❹</span> 項目❹
|
|
164
|
+
<ol start="2" class="ol-circled-decimal">
|
|
165
|
+
<li><span class="li-num">②</span> 項目❹-②</li>
|
|
166
|
+
<li><span class="li-num">③</span> 項目❹-③</li>
|
|
167
|
+
<li><span class="li-num">④</span> 項目❹-④</li>
|
|
168
|
+
</ol>
|
|
169
|
+
</li>
|
|
170
|
+
<li><span class="li-num">❺</span> 項目❺</li>
|
|
171
|
+
</ol>
|
|
172
|
+
|
|
173
|
+
[Markdown]
|
|
174
|
+
1. 項目1
|
|
175
|
+
2. 項目2
|
|
176
|
+
- i. 項目2-i
|
|
177
|
+
- ii. 項目2-ii
|
|
178
|
+
- a. 項目2-ii-a
|
|
179
|
+
- b. 項目2-ii-b
|
|
180
|
+
- c. 項目2-ii-c
|
|
181
|
+
- iii. 項目2-iii
|
|
182
|
+
3. 項目3
|
|
183
|
+
[HTML]
|
|
184
|
+
<ol class="ol-decimal">
|
|
185
|
+
<li>項目1</li>
|
|
186
|
+
<li>項目2
|
|
187
|
+
<ol type="i" class="ol-lower-roman">
|
|
188
|
+
<li>項目2-i</li>
|
|
189
|
+
<li>項目2-ii
|
|
190
|
+
<ol type="a" class="ol-lower-latin">
|
|
191
|
+
<li>項目2-ii-a</li>
|
|
192
|
+
<li>項目2-ii-b</li>
|
|
193
|
+
<li>項目2-ii-c</li>
|
|
194
|
+
</ol>
|
|
195
|
+
</li>
|
|
196
|
+
<li>項目2-iii</li>
|
|
197
|
+
</ol>
|
|
198
|
+
</li>
|
|
199
|
+
<li>項目3</li>
|
|
200
|
+
</ol>
|
|
201
|
+
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
[Markdown]
|
|
2
|
+
1. a
|
|
3
|
+
2. b
|
|
4
|
+
3. c
|
|
5
|
+
[HTML]
|
|
6
|
+
<ol class="ol-decimal">
|
|
7
|
+
<li>a</li>
|
|
8
|
+
<li>b</li>
|
|
9
|
+
<li>c</li>
|
|
10
|
+
</ol>
|
|
11
|
+
|
|
12
|
+
[Markdown]
|
|
13
|
+
3. a
|
|
14
|
+
4. b
|
|
15
|
+
5. c
|
|
16
|
+
[HTML]
|
|
17
|
+
<ol start="3" class="ol-decimal">
|
|
18
|
+
<li>a</li>
|
|
19
|
+
<li>b</li>
|
|
20
|
+
<li>c</li>
|
|
21
|
+
</ol>
|
|
22
|
+
|
|
23
|
+
[Markdown]
|
|
24
|
+
1. a
|
|
25
|
+
3. b
|
|
26
|
+
4. c
|
|
27
|
+
[HTML]
|
|
28
|
+
<ol class="ol-decimal">
|
|
29
|
+
<li>a</li>
|
|
30
|
+
<li value="3">b</li>
|
|
31
|
+
<li>c</li>
|
|
32
|
+
</ol>
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
[Markdown]
|
|
36
|
+
- i. a
|
|
37
|
+
- ii. b
|
|
38
|
+
- iii. c
|
|
39
|
+
[HTML]
|
|
40
|
+
<ol type="i" class="ol-lower-roman">
|
|
41
|
+
<li><span class="li-num">i<span class="li-num-joint">.</span></span> a</li>
|
|
42
|
+
<li><span class="li-num">ii<span class="li-num-joint">.</span></span> b</li>
|
|
43
|
+
<li><span class="li-num">iii<span class="li-num-joint">.</span></span> c</li>
|
|
44
|
+
</ol>
|
|
45
|
+
|
|
46
|
+
[Markdown]
|
|
47
|
+
- a
|
|
48
|
+
- b
|
|
49
|
+
- c
|
|
50
|
+
[HTML]
|
|
51
|
+
<ul>
|
|
52
|
+
<li>a</li>
|
|
53
|
+
<li>b</li>
|
|
54
|
+
<li>c</li>
|
|
55
|
+
</ul>
|
|
56
|
+
|
|
57
|
+
[Markdown]
|
|
58
|
+
- ❶ a
|
|
59
|
+
- ❷ b
|
|
60
|
+
- ❸ c
|
|
61
|
+
[HTML]
|
|
62
|
+
<ol class="ol-filled-circled-decimal">
|
|
63
|
+
<li><span class="li-num">❶</span> a</li>
|
|
64
|
+
<li><span class="li-num">❷</span> b</li>
|
|
65
|
+
<li><span class="li-num">❸</span> c</li>
|
|
66
|
+
</ol>
|
|
67
|
+
|
|
68
|
+
[Markdown]
|
|
69
|
+
2. a
|
|
70
|
+
3. b
|
|
71
|
+
4. c
|
|
72
|
+
[HTML]
|
|
73
|
+
<ol start="2" class="ol-decimal">
|
|
74
|
+
<li>a</li>
|
|
75
|
+
<li>b</li>
|
|
76
|
+
<li>c</li>
|
|
77
|
+
</ol>
|
|
78
|
+
|
|
79
|
+
[Markdown]
|
|
80
|
+
- ② a
|
|
81
|
+
- ③ b
|
|
82
|
+
- ④ c
|
|
83
|
+
[HTML]
|
|
84
|
+
<ol start="2" class="ol-circled-decimal">
|
|
85
|
+
<li><span class="li-num">②</span> a</li>
|
|
86
|
+
<li><span class="li-num">③</span> b</li>
|
|
87
|
+
<li><span class="li-num">④</span> c</li>
|
|
88
|
+
</ol>
|
|
89
|
+
|
|
90
|
+
[Markdown]
|
|
91
|
+
- (2). a
|
|
92
|
+
- (3). b
|
|
93
|
+
- (4). c
|
|
94
|
+
[HTML]
|
|
95
|
+
<ol start="2" class="ol-decimal-with-round-round">
|
|
96
|
+
<li><span class="li-num">(2)</span> a</li>
|
|
97
|
+
<li><span class="li-num">(3)</span> b</li>
|
|
98
|
+
<li><span class="li-num">(4)</span> c</li>
|
|
99
|
+
</ol>
|
|
100
|
+
|
|
101
|
+
[Markdown]
|
|
102
|
+
- 2). a
|
|
103
|
+
- 3). b
|
|
104
|
+
- 4). c
|
|
105
|
+
[HTML]
|
|
106
|
+
<ol start="2" class="ol-decimal-with-none-round">
|
|
107
|
+
<li><span class="li-num">2)</span> a</li>
|
|
108
|
+
<li><span class="li-num">3)</span> b</li>
|
|
109
|
+
<li><span class="li-num">4)</span> c</li>
|
|
110
|
+
</ol>
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
[Markdown]
|
|
114
|
+
1. 項目1
|
|
115
|
+
2. 項目2
|
|
116
|
+
- i. 項目2-i
|
|
117
|
+
- ii. 項目2-ii
|
|
118
|
+
- iii. 項目2-iii
|
|
119
|
+
3. 項目3
|
|
120
|
+
[HTML]
|
|
121
|
+
<ol class="ol-decimal">
|
|
122
|
+
<li>項目1</li>
|
|
123
|
+
<li>項目2
|
|
124
|
+
<ol type="i" class="ol-lower-roman">
|
|
125
|
+
<li><span class="li-num">i<span class="li-num-joint">.</span></span> 項目2-i</li>
|
|
126
|
+
<li><span class="li-num">ii<span class="li-num-joint">.</span></span> 項目2-ii</li>
|
|
127
|
+
<li><span class="li-num">iii<span class="li-num-joint">.</span></span> 項目2-iii</li>
|
|
128
|
+
</ol>
|
|
129
|
+
</li>
|
|
130
|
+
<li>項目3</li>
|
|
131
|
+
</ol>
|
|
132
|
+
|
|
133
|
+
[Markdown]
|
|
134
|
+
- i. 項目i
|
|
135
|
+
- ii. 項目ii
|
|
136
|
+
1. 項目ii-1
|
|
137
|
+
2. 項目ii-2
|
|
138
|
+
3. 項目ii-3
|
|
139
|
+
- iii. 項目iii
|
|
140
|
+
[HTML]
|
|
141
|
+
<ol type="i" class="ol-lower-roman">
|
|
142
|
+
<li><span class="li-num">i<span class="li-num-joint">.</span></span> 項目i</li>
|
|
143
|
+
<li><span class="li-num">ii<span class="li-num-joint">.</span></span> 項目ii
|
|
144
|
+
<ol class="ol-decimal">
|
|
145
|
+
<li>項目ii-1</li>
|
|
146
|
+
<li>項目ii-2</li>
|
|
147
|
+
<li>項目ii-3</li>
|
|
148
|
+
</ol>
|
|
149
|
+
</li>
|
|
150
|
+
<li><span class="li-num">iii<span class="li-num-joint">.</span></span> 項目iii</li>
|
|
151
|
+
</ol>
|
|
152
|
+
|
|
153
|
+
[Markdown]
|
|
154
|
+
- ❸ 項目❸
|
|
155
|
+
- ❹ 項目❹
|
|
156
|
+
- ② 項目❹-②
|
|
157
|
+
- ③ 項目❹-③
|
|
158
|
+
- ④ 項目❹-④
|
|
159
|
+
- ❺ 項目❺
|
|
160
|
+
[HTML]
|
|
161
|
+
<ol start="3" class="ol-filled-circled-decimal">
|
|
162
|
+
<li><span class="li-num">❸</span> 項目❸</li>
|
|
163
|
+
<li><span class="li-num">❹</span> 項目❹
|
|
164
|
+
<ol start="2" class="ol-circled-decimal">
|
|
165
|
+
<li><span class="li-num">②</span> 項目❹-②</li>
|
|
166
|
+
<li><span class="li-num">③</span> 項目❹-③</li>
|
|
167
|
+
<li><span class="li-num">④</span> 項目❹-④</li>
|
|
168
|
+
</ol>
|
|
169
|
+
</li>
|
|
170
|
+
<li><span class="li-num">❺</span> 項目❺</li>
|
|
171
|
+
</ol>
|
|
172
|
+
|
|
173
|
+
[Markdown]
|
|
174
|
+
1. 項目1
|
|
175
|
+
2. 項目2
|
|
176
|
+
- i. 項目2-i
|
|
177
|
+
- ii. 項目2-ii
|
|
178
|
+
- a. 項目2-ii-a
|
|
179
|
+
- b. 項目2-ii-b
|
|
180
|
+
- c. 項目2-ii-c
|
|
181
|
+
- iii. 項目2-iii
|
|
182
|
+
3. 項目3
|
|
183
|
+
[HTML]
|
|
184
|
+
<ol class="ol-decimal">
|
|
185
|
+
<li>項目1</li>
|
|
186
|
+
<li>項目2
|
|
187
|
+
<ol type="i" class="ol-lower-roman">
|
|
188
|
+
<li><span class="li-num">i<span class="li-num-joint">.</span></span> 項目2-i</li>
|
|
189
|
+
<li><span class="li-num">ii<span class="li-num-joint">.</span></span> 項目2-ii
|
|
190
|
+
<ol type="a" class="ol-lower-latin">
|
|
191
|
+
<li><span class="li-num">a<span class="li-num-joint">.</span></span> 項目2-ii-a</li>
|
|
192
|
+
<li><span class="li-num">b<span class="li-num-joint">.</span></span> 項目2-ii-b</li>
|
|
193
|
+
<li><span class="li-num">c<span class="li-num-joint">.</span></span> 項目2-ii-c</li>
|
|
194
|
+
</ol>
|
|
195
|
+
</li>
|
|
196
|
+
<li><span class="li-num">iii<span class="li-num-joint">.</span></span> 項目2-iii</li>
|
|
197
|
+
</ol>
|
|
198
|
+
</li>
|
|
199
|
+
<li>項目3</li>
|
|
200
|
+
</ol>
|
|
201
|
+
|
package/test/test.js
CHANGED
|
@@ -3,40 +3,99 @@ const fs = require('fs');
|
|
|
3
3
|
const md = require('markdown-it')();
|
|
4
4
|
const mdNumUl = require('../index.js');
|
|
5
5
|
|
|
6
|
-
md.use(mdNumUl
|
|
6
|
+
md.use(mdNumUl, {
|
|
7
|
+
describeListNumber: false,
|
|
8
|
+
unsetListRole: false,
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
const md2 = require('markdown-it')();
|
|
12
|
+
md2.use(mdNumUl, {
|
|
13
|
+
omitTypeNumber: false,
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
const md3 = require('markdown-it')();
|
|
17
|
+
md3.use(mdNumUl);
|
|
18
|
+
|
|
19
|
+
let example = __dirname + '/examples.txt';
|
|
20
|
+
let mdPath = __dirname + '/examples.md';
|
|
7
21
|
|
|
8
|
-
const example = __dirname + '/examples.txt';
|
|
9
|
-
const mdPath = __dirname + '/examples.md';
|
|
10
|
-
const exampleCont = fs.readFileSync(example, 'utf-8').trim();
|
|
11
22
|
let ms = [];
|
|
12
|
-
|
|
13
|
-
let
|
|
14
|
-
|
|
15
|
-
let
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
const setMs = (example, ms) => {
|
|
24
|
+
let exampleCont = fs.readFileSync(example, 'utf-8').trim();
|
|
25
|
+
let ms0 = exampleCont.split(/\n*\[Markdown\]\n/);
|
|
26
|
+
let n = 1;
|
|
27
|
+
while (n < ms0.length) {
|
|
28
|
+
let mhs = ms0[n].split(/\n+\[HTML[^\]]*?\]\n/);
|
|
29
|
+
let i = 1;
|
|
30
|
+
while (i < 2) {
|
|
31
|
+
if (mhs[i] === undefined) {
|
|
32
|
+
mhs[i] = '';
|
|
33
|
+
} else {
|
|
34
|
+
mhs[i] = mhs[i].replace(/$/,'\n');
|
|
35
|
+
}
|
|
36
|
+
i++;
|
|
22
37
|
}
|
|
23
|
-
|
|
38
|
+
ms[n] = {
|
|
39
|
+
"markdown": mhs[0],
|
|
40
|
+
"html": mhs[1],
|
|
41
|
+
};
|
|
42
|
+
n++;
|
|
24
43
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
44
|
+
return;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
setMs(example, ms);
|
|
48
|
+
|
|
49
|
+
let n = 1;
|
|
50
|
+
while(n < ms.length) {
|
|
51
|
+
//if (n >= 5) { n++; continue };
|
|
52
|
+
console.log('Test: ' + n + ' >>>');
|
|
53
|
+
//console.log(ms[n].markdown);
|
|
54
|
+
|
|
55
|
+
const m = ms[n].markdown;
|
|
56
|
+
const h = md.render(m);
|
|
57
|
+
try {
|
|
58
|
+
assert.strictEqual(h, ms[n].html);
|
|
59
|
+
} catch(e) {
|
|
60
|
+
console.log('incorrect: ');
|
|
61
|
+
console.log('H: ' + h +'C: ' + ms[n].html);
|
|
28
62
|
};
|
|
29
63
|
n++;
|
|
30
64
|
}
|
|
31
65
|
|
|
66
|
+
example = __dirname + '/examples-spantitle.txt';
|
|
67
|
+
ms = [];
|
|
68
|
+
setMs(example, ms);
|
|
69
|
+
|
|
32
70
|
n = 1;
|
|
33
71
|
while(n < ms.length) {
|
|
34
|
-
//if (n >=
|
|
72
|
+
//if (n >= 5) { n++; continue };
|
|
35
73
|
console.log('Test: ' + n + ' >>>');
|
|
36
74
|
//console.log(ms[n].markdown);
|
|
37
75
|
|
|
38
76
|
const m = ms[n].markdown;
|
|
39
|
-
const h =
|
|
77
|
+
const h = md2.render(m);
|
|
78
|
+
try {
|
|
79
|
+
assert.strictEqual(h, ms[n].html);
|
|
80
|
+
} catch(e) {
|
|
81
|
+
console.log('incorrect: ');
|
|
82
|
+
console.log('H: ' + h +'C: ' + ms[n].html);
|
|
83
|
+
};
|
|
84
|
+
n++;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
example = __dirname + '/examples-spantitle-omit-typeNumber.txt';
|
|
88
|
+
ms = [];
|
|
89
|
+
setMs(example, ms);
|
|
90
|
+
|
|
91
|
+
n = 1;
|
|
92
|
+
while(n < ms.length) {
|
|
93
|
+
//if (n >= 5) { n++; continue };
|
|
94
|
+
console.log('Test: ' + n + ' >>>');
|
|
95
|
+
//console.log(ms[n].markdown);
|
|
96
|
+
|
|
97
|
+
const m = ms[n].markdown;
|
|
98
|
+
const h = md3.render(m);
|
|
40
99
|
try {
|
|
41
100
|
assert.strictEqual(h, ms[n].html);
|
|
42
101
|
} catch(e) {
|
|
@@ -44,4 +103,4 @@ while(n < ms.length) {
|
|
|
44
103
|
console.log('H: ' + h +'C: ' + ms[n].html);
|
|
45
104
|
};
|
|
46
105
|
n++;
|
|
47
|
-
}
|
|
106
|
+
}
|