@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 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 @peacroad/markdown-it-numbering-ul-regarded-as-ol
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 aria-label="i">a</li>
75
- <li aria-label="ii">b</li>
76
- <li aria-label="iii">c</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 role="list" class="ol-filled-circled-decimal">
96
- <li aria-label="">a</li>
97
- <li aria-label="">b</li>
98
- <li aria-label="">c</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" role="list" class="ol-circled-decimal">
118
- <li aria-label="">a</li>
119
- <li aria-label="">b</li>
120
- <li aria-label="">c</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" role="list" class="ol-decimal-with-round-round">
129
- <li aria-label="(2)">a</li>
130
- <li aria-label="(3)">b</li>
131
- <li aria-label="(4)">c</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" role="list" class="ol-decimal-with-none-round">
140
- <li aria-label="2)">a</li>
141
- <li aria-label="3)">b</li>
142
- <li aria-label="4)">c</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 aria-label="i">項目2-i</li>
159
- <li aria-label="ii">項目2-ii</li>
160
- <li aria-label="iii">項目2-iii</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 start="3" role="list" class="ol-filled-circled-decimal">
175
- <li aria-label="❸">項目❸</li>
176
- <li aria-label="❹">項目❹
177
- <ol start="2" role="list" class="ol-circled-decimal">
178
- <li aria-label="②">項目❹-②</li>
179
- <li aria-label="③">項目❹-③</li>
180
- <li aria-label="④">項目❹-④</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 aria-label="❺">項目❺</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 aria-label="i">項目2-i</li>
202
- <li aria-label="ii">項目2-ii
258
+ <li>項目2-i</li>
259
+ <li>項目2-ii
203
260
  <ol type="a" class="ol-lower-latin">
204
- <li aria-label="a">項目2-ii-a</li>
205
- <li aria-label="b">項目2-ii-b</li>
206
- <li aria-label="c">項目2-ii-c</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 aria-label="iii">項目2-iii</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 aria-label attribute and modify content.
360
- if (list.flows[lfn].symbols[sn].typesNum !== 0 || list.flows[lfn].symbols[sn].prefix || list.flows[lfn].symbols[sn].suffix) {
361
- state.tokens[cn].attrSet('aria-label', list.flows[lfn].symbols[sn].cont);
362
- }
363
-
364
- //console.log('state.tokens[cn+2]: ' + JSON.stringify(state.tokens[cn+2]));
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
- state.tokens[cn+2].content = state.tokens[cn+2].content.replace(list.flows[lfn].symbols[sn].contAll, '');
367
- state.tokens[cn+2].children[0].content = state.tokens[cn+2].children[0].content.replace(list.flows[lfn].symbols[sn].contAll, '');
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peaceroad/markdown-it-numbering-ul-regarded-as-ol",
3
- "version": "0.1.0",
3
+ "version": "0.1.3",
4
4
  "description": "This markdown-it plugin regard ul element with numbering lists as ol element.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -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
- let ms0 = exampleCont.split(/\n*\[Markdown\]\n/);
13
- let n = 1;
14
- while (n < ms0.length) {
15
- let mhs = ms0[n].split(/\n+\[HTML[^\]]*?\]\n/);
16
- let i = 1;
17
- while (i < 2) {
18
- if (mhs[i] === undefined) {
19
- mhs[i] = '';
20
- } else {
21
- mhs[i] = mhs[i].replace(/$/,'\n');
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
- i++;
38
+ ms[n] = {
39
+ "markdown": mhs[0],
40
+ "html": mhs[1],
41
+ };
42
+ n++;
24
43
  }
25
- ms[n] = {
26
- "markdown": mhs[0],
27
- "html": mhs[1],
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 >= 14) { n++; continue };
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 = md.render(m);
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
+ }