wikiparser-node 0.3.0 → 0.4.0

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.
Files changed (81) hide show
  1. package/.eslintrc.json +472 -34
  2. package/README.md +1 -1
  3. package/config/default.json +58 -30
  4. package/config/llwiki.json +22 -90
  5. package/config/moegirl.json +51 -13
  6. package/config/zhwiki.json +1269 -0
  7. package/index.js +114 -104
  8. package/lib/element.js +448 -440
  9. package/lib/node.js +335 -115
  10. package/lib/ranges.js +27 -18
  11. package/lib/text.js +146 -0
  12. package/lib/title.js +13 -5
  13. package/mixin/attributeParent.js +70 -24
  14. package/mixin/fixedToken.js +14 -6
  15. package/mixin/hidden.js +6 -4
  16. package/mixin/sol.js +27 -10
  17. package/package.json +9 -3
  18. package/parser/brackets.js +22 -17
  19. package/parser/commentAndExt.js +18 -16
  20. package/parser/converter.js +14 -13
  21. package/parser/externalLinks.js +12 -11
  22. package/parser/hrAndDoubleUnderscore.js +23 -14
  23. package/parser/html.js +10 -9
  24. package/parser/links.js +15 -14
  25. package/parser/list.js +12 -11
  26. package/parser/magicLinks.js +12 -11
  27. package/parser/quotes.js +6 -5
  28. package/parser/selector.js +175 -0
  29. package/parser/table.js +25 -18
  30. package/printed/example.json +120 -0
  31. package/src/arg.js +56 -32
  32. package/src/atom/hidden.js +5 -2
  33. package/src/atom/index.js +17 -9
  34. package/src/attribute.js +182 -100
  35. package/src/converter.js +68 -41
  36. package/src/converterFlags.js +67 -45
  37. package/src/converterRule.js +117 -65
  38. package/src/extLink.js +66 -18
  39. package/src/gallery.js +42 -15
  40. package/src/heading.js +34 -15
  41. package/src/html.js +97 -35
  42. package/src/imageParameter.js +83 -54
  43. package/src/index.js +299 -178
  44. package/src/link/category.js +20 -52
  45. package/src/link/file.js +59 -28
  46. package/src/link/galleryImage.js +21 -7
  47. package/src/link/index.js +146 -60
  48. package/src/magicLink.js +34 -12
  49. package/src/nowiki/comment.js +22 -10
  50. package/src/nowiki/dd.js +37 -22
  51. package/src/nowiki/doubleUnderscore.js +16 -7
  52. package/src/nowiki/hr.js +11 -7
  53. package/src/nowiki/index.js +16 -9
  54. package/src/nowiki/list.js +2 -2
  55. package/src/nowiki/noinclude.js +8 -4
  56. package/src/nowiki/quote.js +11 -7
  57. package/src/onlyinclude.js +19 -7
  58. package/src/parameter.js +65 -38
  59. package/src/syntax.js +26 -20
  60. package/src/table/index.js +260 -165
  61. package/src/table/td.js +98 -52
  62. package/src/table/tr.js +102 -58
  63. package/src/tagPair/ext.js +27 -19
  64. package/src/tagPair/include.js +16 -11
  65. package/src/tagPair/index.js +64 -29
  66. package/src/transclude.js +170 -93
  67. package/test/api.js +83 -0
  68. package/test/real.js +133 -0
  69. package/test/test.js +28 -0
  70. package/test/util.js +80 -0
  71. package/tool/index.js +41 -31
  72. package/typings/api.d.ts +13 -0
  73. package/typings/array.d.ts +28 -0
  74. package/typings/event.d.ts +24 -0
  75. package/typings/index.d.ts +46 -4
  76. package/typings/node.d.ts +15 -9
  77. package/typings/parser.d.ts +7 -0
  78. package/typings/tool.d.ts +3 -2
  79. package/util/debug.js +21 -18
  80. package/util/string.js +40 -27
  81. package/typings/element.d.ts +0 -28
@@ -19,10 +19,10 @@
19
19
  "flashmp3",
20
20
  "sm2",
21
21
  "score",
22
+ "seo",
22
23
  "tab",
23
24
  "tabs",
24
- "combobox",
25
- "combooption"
25
+ "combobox"
26
26
  ],
27
27
  "html": [
28
28
  [
@@ -124,34 +124,47 @@
124
124
  "媒体": -2,
125
125
  "媒体文件": -2,
126
126
  "媒體": -2,
127
+ "メディア": -2,
127
128
  "special": -1,
128
129
  "特殊": -1,
130
+ "特別": -1,
129
131
  "talk": 1,
130
132
  "对话": 1,
131
133
  "對話": 1,
132
134
  "讨论": 1,
133
135
  "討論": 1,
136
+ "トーク": 1,
137
+ "ノート": 1,
134
138
  "user": 2,
135
139
  "u": 2,
136
140
  "使用者": 2,
137
141
  "用戶": 2,
138
142
  "用户": 2,
139
- "user_talk": 3,
143
+ "利用者": 2,
144
+ "user talk": 3,
140
145
  "使用者討論": 3,
141
146
  "用戶對話": 3,
142
147
  "用戶討論": 3,
143
148
  "用户对话": 3,
144
149
  "用户讨论": 3,
150
+ "利用者‐会話": 3,
151
+ "利用者・トーク": 3,
145
152
  "llwiki": 4,
153
+ "mgp": 4,
154
+ "moegirlpedia": 4,
146
155
  "萌娘百科": 4,
156
+ "萌えっ娘百科事典": 4,
147
157
  "project": 4,
148
- "llwiki_talk": 5,
158
+ "llwiki talk": 5,
149
159
  "llwiki讨论": 5,
150
160
  "llwiki討論": 5,
151
- "萌娘百科_talk": 5,
161
+ "萌娘百科 talk": 5,
152
162
  "萌娘百科讨论": 5,
153
163
  "萌娘百科討論": 5,
154
- "project_talk": 5,
164
+ "moegirlpedia talk": 5,
165
+ "萌えっ娘百科事典‐ノート": 5,
166
+ "萌えっ娘百科事典・トーク": 5,
167
+ "project talk": 5,
155
168
  "file": 6,
156
169
  "image": 6,
157
170
  "图像": 6,
@@ -159,8 +172,10 @@
159
172
  "文件": 6,
160
173
  "档案": 6,
161
174
  "檔案": 6,
162
- "file_talk": 7,
163
- "image_talk": 7,
175
+ "ファイル": 6,
176
+ "画像": 6,
177
+ "file talk": 7,
178
+ "image talk": 7,
164
179
  "图像对话": 7,
165
180
  "图像讨论": 7,
166
181
  "圖像對話": 7,
@@ -173,16 +188,22 @@
173
188
  "档案讨论": 7,
174
189
  "檔案對話": 7,
175
190
  "檔案討論": 7,
191
+ "ファイル‐ノート": 7,
192
+ "ファイル・トーク": 7,
193
+ "画像‐ノート": 7,
176
194
  "mediawiki": 8,
177
- "mediawiki_talk": 9,
195
+ "mediawiki talk": 9,
178
196
  "mediawiki讨论": 9,
179
197
  "mediawiki討論": 9,
198
+ "mediawiki‐ノート": 9,
199
+ "mediawiki・トーク": 9,
180
200
  "template": 10,
181
201
  "t": 10,
182
202
  "样板": 10,
183
203
  "模板": 10,
184
204
  "樣板": 10,
185
- "template_talk": 11,
205
+ "テンプレート": 10,
206
+ "template talk": 11,
186
207
  "样板对话": 11,
187
208
  "样板讨论": 11,
188
209
  "模板对话": 11,
@@ -191,33 +212,44 @@
191
212
  "模板討論": 11,
192
213
  "樣板對話": 11,
193
214
  "樣板討論": 11,
215
+ "template‐ノート": 11,
216
+ "テンプレート・トーク": 11,
217
+ "h": 12,
194
218
  "help": 12,
195
219
  "使用說明": 12,
196
220
  "帮助": 12,
197
221
  "幫助": 12,
198
- "help_talk": 13,
222
+ "ヘルプ": 12,
223
+ "help talk": 13,
199
224
  "使用說明討論": 13,
200
225
  "帮助对话": 13,
201
226
  "帮助讨论": 13,
202
227
  "幫助對話": 13,
203
228
  "幫助討論": 13,
229
+ "help‐ノート": 13,
230
+ "ヘルプ・トーク": 13,
204
231
  "category": 14,
205
232
  "cat": 14,
206
233
  "分类": 14,
207
234
  "分類": 14,
208
- "category_talk": 15,
235
+ "カテゴリ": 14,
236
+ "category talk": 15,
209
237
  "分类对话": 15,
210
238
  "分类讨论": 15,
211
239
  "分類對話": 15,
212
240
  "分類討論": 15,
241
+ "category‐ノート": 15,
242
+ "カテゴリ・トーク": 15,
213
243
  "widget": 274,
214
- "widget_talk": 275,
244
+ "widget talk": 275,
215
245
  "module": 828,
216
246
  "模块": 828,
217
247
  "模組": 828,
218
- "module_talk": 829,
248
+ "モジュール": 828,
249
+ "module talk": 829,
219
250
  "模块讨论": 829,
220
- "模組討論": 829
251
+ "模組討論": 829,
252
+ "モジュール・トーク": 829
221
253
  },
222
254
  "parserFunction": [
223
255
  [
@@ -349,27 +381,15 @@
349
381
  "#regex_var",
350
382
  "#regexquote",
351
383
  "#regexall",
352
- "#长度",
353
384
  "#len",
354
- "#位置",
355
- "#终端",
356
385
  "#pos",
357
- "#最近位置",
358
- "#反终端",
359
386
  "#rpos",
360
- "#截取",
361
- "#pf子",
362
387
  "#sub",
363
- "#计数",
364
388
  "#count",
365
- "#替换",
366
- "#取代",
367
389
  "#replace",
368
- "#爆炸",
369
- "#炸开",
370
- "#粉碎",
371
390
  "#explode",
372
- "#tab"
391
+ "#tab",
392
+ "#seo"
373
393
  ],
374
394
  [
375
395
  "页面数",
@@ -648,11 +668,13 @@
648
668
  "zhwiki",
649
669
  "cc",
650
670
  "cm",
671
+ "en",
651
672
  "enmoe",
652
673
  "enwp",
653
674
  "fandom",
654
675
  "ghia",
655
676
  "huiji",
677
+ "ja",
656
678
  "jamoe",
657
679
  "jawp",
658
680
  "library",
@@ -725,7 +747,13 @@
725
747
  "bottom": "bottom",
726
748
  "底部": "bottom",
727
749
  "text-bottom": "text-bottom",
728
- "文字底部": "text-bottom"
750
+ "文字底部": "text-bottom",
751
+ "lang=$1": "lang",
752
+ "语言=$1": "lang",
753
+ "page=$1": "page",
754
+ "page $1": "page",
755
+ "页数=$1": "page",
756
+ "$1页": "page"
729
757
  },
730
758
  "variants": [
731
759
  "zh",
@@ -7,14 +7,13 @@
7
7
  "poem",
8
8
  "ref",
9
9
  "references",
10
- "categorytree",
11
10
  "charinsert",
12
11
  "choose",
13
12
  "score",
13
+ "seo",
14
14
  "tab",
15
15
  "tabs",
16
- "combobox",
17
- "combooption"
16
+ "combobox"
18
17
  ],
19
18
  "html": [
20
19
  [
@@ -126,7 +125,7 @@
126
125
  "使用者": 2,
127
126
  "用戶": 2,
128
127
  "用户": 2,
129
- "user_talk": 3,
128
+ "user talk": 3,
130
129
  "使用者討論": 3,
131
130
  "用戶對話": 3,
132
131
  "用戶討論": 3,
@@ -134,10 +133,10 @@
134
133
  "用户讨论": 3,
135
134
  "llwiki": 4,
136
135
  "project": 4,
137
- "llwiki_talk": 5,
136
+ "llwiki talk": 5,
138
137
  "llwiki讨论": 5,
139
138
  "llwiki討論": 5,
140
- "project_talk": 5,
139
+ "project talk": 5,
141
140
  "file": 6,
142
141
  "image": 6,
143
142
  "图像": 6,
@@ -145,8 +144,8 @@
145
144
  "文件": 6,
146
145
  "档案": 6,
147
146
  "檔案": 6,
148
- "file_talk": 7,
149
- "image_talk": 7,
147
+ "file talk": 7,
148
+ "image talk": 7,
150
149
  "图像对话": 7,
151
150
  "图像讨论": 7,
152
151
  "圖像對話": 7,
@@ -160,14 +159,14 @@
160
159
  "檔案對話": 7,
161
160
  "檔案討論": 7,
162
161
  "mediawiki": 8,
163
- "mediawiki_talk": 9,
162
+ "mediawiki talk": 9,
164
163
  "mediawiki讨论": 9,
165
164
  "mediawiki討論": 9,
166
165
  "template": 10,
167
166
  "样板": 10,
168
167
  "模板": 10,
169
168
  "樣板": 10,
170
- "template_talk": 11,
169
+ "template talk": 11,
171
170
  "样板对话": 11,
172
171
  "样板讨论": 11,
173
172
  "模板对话": 11,
@@ -180,7 +179,7 @@
180
179
  "使用說明": 12,
181
180
  "帮助": 12,
182
181
  "幫助": 12,
183
- "help_talk": 13,
182
+ "help talk": 13,
184
183
  "使用說明討論": 13,
185
184
  "帮助对话": 13,
186
185
  "帮助讨论": 13,
@@ -189,79 +188,50 @@
189
188
  "category": 14,
190
189
  "分类": 14,
191
190
  "分類": 14,
192
- "category_talk": 15,
191
+ "category talk": 15,
193
192
  "分类对话": 15,
194
193
  "分类讨论": 15,
195
194
  "分類對話": 15,
196
195
  "分類討論": 15,
197
196
  "widget": 274,
198
- "widget_talk": 275,
197
+ "widget talk": 275,
199
198
  "module": 828,
200
199
  "模块": 828,
201
200
  "模組": 828,
202
- "module_talk": 829,
201
+ "module talk": 829,
203
202
  "模块讨论": 829,
204
203
  "模組討論": 829
205
204
  },
206
205
  "parserFunction": [
207
206
  [
208
- "名称空间",
209
207
  "ns",
210
- "名称空间e",
211
208
  "nse",
212
- "url编码",
213
209
  "urlencode",
214
- "小写首字",
215
210
  "lcfirst",
216
- "大写首字",
217
211
  "ucfirst",
218
- "小写",
219
212
  "lc",
220
- "大写",
221
213
  "uc",
222
- "本地url",
223
214
  "localurl",
224
- "本地urle",
225
215
  "localurle",
226
- "完整url",
227
216
  "fullurl",
228
- "完整url等同",
229
217
  "fullurle",
230
- "规范url",
231
218
  "canonicalurl",
232
- "规范url等同",
233
219
  "canonicalurle",
234
- "格式化数字",
235
220
  "formatnum",
236
- "语法",
237
221
  "grammar",
238
- "性别",
239
222
  "gender",
240
- "复数",
241
223
  "plural",
242
224
  "bidi",
243
- "#语言",
244
225
  "#language",
245
- "左填充",
246
226
  "padleft",
247
- "右填充",
248
227
  "padright",
249
- "锚编码",
250
228
  "anchorencode",
251
- "文件路径",
252
229
  "filepath",
253
- "页面id",
254
230
  "pageid",
255
- "界面",
256
231
  "int",
257
- "#特殊",
258
232
  "#special",
259
- "#特殊等同",
260
233
  "#speciale",
261
- "#标记",
262
234
  "#tag",
263
- "#格式化日期",
264
- "#日期格式化",
265
235
  "#formatdate",
266
236
  "#dateformat",
267
237
  "#invoke",
@@ -270,88 +240,44 @@
270
240
  "#loop",
271
241
  "#forargs",
272
242
  "#fornumargs",
273
- "#非空式",
274
- "#若",
275
- "#如果",
276
243
  "#if",
277
- "#相同式",
278
- "#匹配式",
279
- "#若相等",
280
- "#如果相等",
281
244
  "#ifeq",
282
- "#多选式",
283
- "#多条件式",
284
- "#双射式",
285
- "#开关",
286
- "#转换",
287
245
  "#switch",
288
- "#存在式",
289
- "#若有",
290
- "#如有",
291
246
  "#ifexist",
292
- "#若表达式",
293
247
  "#ifexpr",
294
- "#错误式",
295
- "#如果错误",
296
248
  "#iferror",
297
- "#时间",
298
249
  "#time",
299
- "#时间l",
300
250
  "#timel",
301
- "#计算式",
302
- "#表达式",
303
251
  "#expr",
304
252
  "#rel2abs",
305
- "#标题组成部分",
306
253
  "#titleparts",
307
- "#categorytree",
308
- "#url解码",
309
254
  "#urldecode",
310
255
  "#choose",
311
- "#调用",
312
256
  "#var",
313
257
  "#varexists",
314
258
  "#var_final",
315
259
  "#vardefine",
316
260
  "#vardefineecho",
317
- "#小工具",
318
261
  "#widget",
319
- "条目路径",
320
262
  "articlepath",
321
- "服务器",
322
263
  "server",
323
- "服务器名",
324
264
  "servername",
325
- "脚本路径",
326
265
  "scriptpath",
327
- "样式路径",
328
266
  "stylepath",
329
267
  "msgnw",
330
268
  "#regex",
331
269
  "#regex_var",
332
270
  "#regexquote",
333
271
  "#regexall",
334
- "#长度",
335
272
  "#len",
336
- "#位置",
337
- "#终端",
338
273
  "#pos",
339
- "#最近位置",
340
- "#反终端",
341
274
  "#rpos",
342
- "#截取",
343
- "#pf子",
344
275
  "#sub",
345
- "#计数",
346
276
  "#count",
347
- "#替换",
348
- "#取代",
349
277
  "#replace",
350
- "#爆炸",
351
- "#炸开",
352
- "#粉碎",
353
278
  "#explode",
354
- "#tab"
279
+ "#tab",
280
+ "#seo"
355
281
  ],
356
282
  [
357
283
  "页面数",
@@ -682,7 +608,13 @@
682
608
  "bottom": "bottom",
683
609
  "底部": "bottom",
684
610
  "text-bottom": "text-bottom",
685
- "文字底部": "text-bottom"
611
+ "文字底部": "text-bottom",
612
+ "lang=$1": "lang",
613
+ "语言=$1": "lang",
614
+ "page=$1": "page",
615
+ "page $1": "page",
616
+ "页数=$1": "page",
617
+ "$1页": "page"
686
618
  },
687
619
  "variants": [
688
620
  "zh",
@@ -119,30 +119,43 @@
119
119
  "媒体": -2,
120
120
  "媒体文件": -2,
121
121
  "媒體": -2,
122
+ "メディア": -2,
122
123
  "special": -1,
123
124
  "特殊": -1,
125
+ "特別": -1,
124
126
  "talk": 1,
125
127
  "对话": 1,
126
128
  "對話": 1,
127
129
  "讨论": 1,
128
130
  "討論": 1,
131
+ "トーク": 1,
132
+ "ノート": 1,
129
133
  "user": 2,
130
134
  "u": 2,
131
135
  "使用者": 2,
132
136
  "用戶": 2,
133
137
  "用户": 2,
134
- "user_talk": 3,
138
+ "利用者": 2,
139
+ "user talk": 3,
135
140
  "使用者討論": 3,
136
141
  "用戶對話": 3,
137
142
  "用戶討論": 3,
138
143
  "用户对话": 3,
139
144
  "用户讨论": 3,
145
+ "利用者‐会話": 3,
146
+ "利用者・トーク": 3,
147
+ "mgp": 4,
148
+ "moegirlpedia": 4,
140
149
  "萌娘百科": 4,
150
+ "萌えっ娘百科事典": 4,
141
151
  "project": 4,
142
- "萌娘百科_talk": 5,
152
+ "萌娘百科 talk": 5,
143
153
  "萌娘百科讨论": 5,
144
154
  "萌娘百科討論": 5,
145
- "project_talk": 5,
155
+ "moegirlpedia talk": 5,
156
+ "萌えっ娘百科事典‐ノート": 5,
157
+ "萌えっ娘百科事典・トーク": 5,
158
+ "project talk": 5,
146
159
  "file": 6,
147
160
  "image": 6,
148
161
  "图像": 6,
@@ -150,8 +163,10 @@
150
163
  "文件": 6,
151
164
  "档案": 6,
152
165
  "檔案": 6,
153
- "file_talk": 7,
154
- "image_talk": 7,
166
+ "ファイル": 6,
167
+ "画像": 6,
168
+ "file talk": 7,
169
+ "image talk": 7,
155
170
  "图像对话": 7,
156
171
  "图像讨论": 7,
157
172
  "圖像對話": 7,
@@ -164,16 +179,22 @@
164
179
  "档案讨论": 7,
165
180
  "檔案對話": 7,
166
181
  "檔案討論": 7,
182
+ "ファイル‐ノート": 7,
183
+ "ファイル・トーク": 7,
184
+ "画像‐ノート": 7,
167
185
  "mediawiki": 8,
168
- "mediawiki_talk": 9,
186
+ "mediawiki talk": 9,
169
187
  "mediawiki讨论": 9,
170
188
  "mediawiki討論": 9,
189
+ "mediawiki‐ノート": 9,
190
+ "mediawiki・トーク": 9,
171
191
  "template": 10,
172
192
  "t": 10,
173
193
  "样板": 10,
174
194
  "模板": 10,
175
195
  "樣板": 10,
176
- "template_talk": 11,
196
+ "テンプレート": 10,
197
+ "template talk": 11,
177
198
  "样板对话": 11,
178
199
  "样板讨论": 11,
179
200
  "模板对话": 11,
@@ -182,33 +203,44 @@
182
203
  "模板討論": 11,
183
204
  "樣板對話": 11,
184
205
  "樣板討論": 11,
206
+ "template‐ノート": 11,
207
+ "テンプレート・トーク": 11,
208
+ "h": 12,
185
209
  "help": 12,
186
210
  "使用說明": 12,
187
211
  "帮助": 12,
188
212
  "幫助": 12,
189
- "help_talk": 13,
213
+ "ヘルプ": 12,
214
+ "help talk": 13,
190
215
  "使用說明討論": 13,
191
216
  "帮助对话": 13,
192
217
  "帮助讨论": 13,
193
218
  "幫助對話": 13,
194
219
  "幫助討論": 13,
220
+ "help‐ノート": 13,
221
+ "ヘルプ・トーク": 13,
195
222
  "category": 14,
196
223
  "cat": 14,
197
224
  "分类": 14,
198
225
  "分類": 14,
199
- "category_talk": 15,
226
+ "カテゴリ": 14,
227
+ "category talk": 15,
200
228
  "分类对话": 15,
201
229
  "分类讨论": 15,
202
230
  "分類對話": 15,
203
231
  "分類討論": 15,
232
+ "category‐ノート": 15,
233
+ "カテゴリ・トーク": 15,
204
234
  "widget": 274,
205
- "widget_talk": 275,
235
+ "widget talk": 275,
206
236
  "module": 828,
207
237
  "模块": 828,
208
238
  "模組": 828,
209
- "module_talk": 829,
239
+ "モジュール": 828,
240
+ "module talk": 829,
210
241
  "模块讨论": 829,
211
- "模組討論": 829
242
+ "模組討論": 829,
243
+ "モジュール・トーク": 829
212
244
  },
213
245
  "parserFunction": [
214
246
  [
@@ -676,7 +708,13 @@
676
708
  "bottom": "bottom",
677
709
  "底部": "bottom",
678
710
  "text-bottom": "text-bottom",
679
- "文字底部": "text-bottom"
711
+ "文字底部": "text-bottom",
712
+ "lang=$1": "lang",
713
+ "语言=$1": "lang",
714
+ "page=$1": "page",
715
+ "page $1": "page",
716
+ "页数=$1": "page",
717
+ "$1页": "page"
680
718
  },
681
719
  "variants": [
682
720
  "zh",