wikiparser-node 1.12.7 → 1.13.0-b

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 (174) hide show
  1. package/bundle/bundle.min.js +37 -0
  2. package/config/default.json +36 -31
  3. package/config/enwiki.json +23 -830
  4. package/config/llwiki.json +21 -56
  5. package/config/moegirl.json +21 -65
  6. package/config/zhwiki.json +41 -495
  7. package/extensions/dist/base.js +163 -0
  8. package/extensions/dist/codejar.js +53 -0
  9. package/extensions/dist/editor.js +159 -0
  10. package/extensions/dist/highlight.js +30 -0
  11. package/extensions/dist/lint.js +72 -0
  12. package/extensions/editor.css +59 -0
  13. package/extensions/ui.css +162 -0
  14. package/package.json +32 -25
  15. package/config/.schema.json +0 -203
  16. package/dist/addon/table.js +0 -494
  17. package/dist/addon/token.js +0 -392
  18. package/dist/addon/transclude.js +0 -184
  19. package/dist/base.d.ts +0 -82
  20. package/dist/base.js +0 -40
  21. package/dist/index.d.ts +0 -33
  22. package/dist/index.js +0 -275
  23. package/dist/internal.d.ts +0 -47
  24. package/dist/lib/element.d.ts +0 -125
  25. package/dist/lib/element.js +0 -377
  26. package/dist/lib/node.d.ts +0 -173
  27. package/dist/lib/node.js +0 -478
  28. package/dist/lib/range.d.ts +0 -105
  29. package/dist/lib/range.js +0 -406
  30. package/dist/lib/ranges.d.ts +0 -28
  31. package/dist/lib/ranges.js +0 -126
  32. package/dist/lib/rect.d.ts +0 -18
  33. package/dist/lib/rect.js +0 -36
  34. package/dist/lib/text.d.ts +0 -58
  35. package/dist/lib/text.js +0 -414
  36. package/dist/lib/title.d.ts +0 -49
  37. package/dist/lib/title.js +0 -253
  38. package/dist/mixin/attributesParent.d.ts +0 -49
  39. package/dist/mixin/attributesParent.js +0 -80
  40. package/dist/mixin/fixed.d.ts +0 -5
  41. package/dist/mixin/fixed.js +0 -32
  42. package/dist/mixin/flagsParent.d.ts +0 -43
  43. package/dist/mixin/flagsParent.js +0 -64
  44. package/dist/mixin/hidden.d.ts +0 -7
  45. package/dist/mixin/hidden.js +0 -39
  46. package/dist/mixin/magicLinkParent.d.ts +0 -19
  47. package/dist/mixin/magicLinkParent.js +0 -43
  48. package/dist/mixin/singleLine.d.ts +0 -5
  49. package/dist/mixin/singleLine.js +0 -25
  50. package/dist/mixin/sol.d.ts +0 -6
  51. package/dist/mixin/sol.js +0 -45
  52. package/dist/mixin/syntax.d.ts +0 -8
  53. package/dist/mixin/syntax.js +0 -46
  54. package/dist/parser/braces.js +0 -152
  55. package/dist/parser/commentAndExt.js +0 -84
  56. package/dist/parser/converter.js +0 -41
  57. package/dist/parser/externalLinks.js +0 -39
  58. package/dist/parser/hrAndDoubleUnderscore.js +0 -44
  59. package/dist/parser/html.js +0 -40
  60. package/dist/parser/links.js +0 -103
  61. package/dist/parser/list.js +0 -116
  62. package/dist/parser/magicLinks.js +0 -55
  63. package/dist/parser/quotes.js +0 -69
  64. package/dist/parser/redirect.js +0 -28
  65. package/dist/parser/selector.js +0 -393
  66. package/dist/parser/table.js +0 -125
  67. package/dist/src/arg.d.ts +0 -49
  68. package/dist/src/arg.js +0 -220
  69. package/dist/src/atom.d.ts +0 -14
  70. package/dist/src/atom.js +0 -54
  71. package/dist/src/attribute.d.ts +0 -64
  72. package/dist/src/attribute.js +0 -482
  73. package/dist/src/attributes.d.ts +0 -103
  74. package/dist/src/attributes.js +0 -380
  75. package/dist/src/converter.d.ts +0 -28
  76. package/dist/src/converter.js +0 -153
  77. package/dist/src/converterFlags.d.ts +0 -80
  78. package/dist/src/converterFlags.js +0 -241
  79. package/dist/src/converterRule.d.ts +0 -71
  80. package/dist/src/converterRule.js +0 -218
  81. package/dist/src/extLink.d.ts +0 -36
  82. package/dist/src/extLink.js +0 -223
  83. package/dist/src/gallery.d.ts +0 -51
  84. package/dist/src/gallery.js +0 -166
  85. package/dist/src/heading.d.ts +0 -44
  86. package/dist/src/heading.js +0 -222
  87. package/dist/src/hidden.d.ts +0 -9
  88. package/dist/src/hidden.js +0 -82
  89. package/dist/src/html.d.ts +0 -61
  90. package/dist/src/html.js +0 -344
  91. package/dist/src/imageParameter.d.ts +0 -60
  92. package/dist/src/imageParameter.js +0 -262
  93. package/dist/src/imagemap.d.ts +0 -47
  94. package/dist/src/imagemap.js +0 -148
  95. package/dist/src/imagemapLink.d.ts +0 -35
  96. package/dist/src/imagemapLink.js +0 -99
  97. package/dist/src/index.d.ts +0 -136
  98. package/dist/src/index.js +0 -790
  99. package/dist/src/link/base.d.ts +0 -52
  100. package/dist/src/link/base.js +0 -258
  101. package/dist/src/link/category.d.ts +0 -22
  102. package/dist/src/link/category.js +0 -36
  103. package/dist/src/link/file.d.ts +0 -102
  104. package/dist/src/link/file.js +0 -345
  105. package/dist/src/link/galleryImage.d.ts +0 -29
  106. package/dist/src/link/galleryImage.js +0 -133
  107. package/dist/src/link/index.d.ts +0 -39
  108. package/dist/src/link/index.js +0 -100
  109. package/dist/src/link/redirectTarget.d.ts +0 -27
  110. package/dist/src/link/redirectTarget.js +0 -71
  111. package/dist/src/magicLink.d.ts +0 -57
  112. package/dist/src/magicLink.js +0 -261
  113. package/dist/src/nested.d.ts +0 -40
  114. package/dist/src/nested.js +0 -108
  115. package/dist/src/nowiki/base.d.ts +0 -28
  116. package/dist/src/nowiki/base.js +0 -90
  117. package/dist/src/nowiki/comment.d.ts +0 -14
  118. package/dist/src/nowiki/comment.js +0 -123
  119. package/dist/src/nowiki/dd.d.ts +0 -8
  120. package/dist/src/nowiki/dd.js +0 -74
  121. package/dist/src/nowiki/doubleUnderscore.d.ts +0 -15
  122. package/dist/src/nowiki/doubleUnderscore.js +0 -101
  123. package/dist/src/nowiki/hr.d.ts +0 -5
  124. package/dist/src/nowiki/hr.js +0 -72
  125. package/dist/src/nowiki/index.d.ts +0 -14
  126. package/dist/src/nowiki/index.js +0 -30
  127. package/dist/src/nowiki/list.d.ts +0 -5
  128. package/dist/src/nowiki/list.js +0 -67
  129. package/dist/src/nowiki/listBase.d.ts +0 -23
  130. package/dist/src/nowiki/listBase.js +0 -100
  131. package/dist/src/nowiki/noinclude.d.ts +0 -6
  132. package/dist/src/nowiki/noinclude.js +0 -77
  133. package/dist/src/nowiki/quote.d.ts +0 -14
  134. package/dist/src/nowiki/quote.js +0 -149
  135. package/dist/src/onlyinclude.d.ts +0 -13
  136. package/dist/src/onlyinclude.js +0 -60
  137. package/dist/src/paramTag/index.d.ts +0 -28
  138. package/dist/src/paramTag/index.js +0 -80
  139. package/dist/src/paramTag/inputbox.d.ts +0 -8
  140. package/dist/src/paramTag/inputbox.js +0 -24
  141. package/dist/src/parameter.d.ts +0 -60
  142. package/dist/src/parameter.js +0 -267
  143. package/dist/src/pre.d.ts +0 -28
  144. package/dist/src/pre.js +0 -62
  145. package/dist/src/redirect.d.ts +0 -30
  146. package/dist/src/redirect.js +0 -128
  147. package/dist/src/syntax.d.ts +0 -15
  148. package/dist/src/syntax.js +0 -87
  149. package/dist/src/table/base.d.ts +0 -28
  150. package/dist/src/table/base.js +0 -81
  151. package/dist/src/table/index.d.ts +0 -230
  152. package/dist/src/table/index.js +0 -506
  153. package/dist/src/table/td.d.ts +0 -72
  154. package/dist/src/table/td.js +0 -375
  155. package/dist/src/table/tr.d.ts +0 -30
  156. package/dist/src/table/tr.js +0 -61
  157. package/dist/src/table/trBase.d.ts +0 -49
  158. package/dist/src/table/trBase.js +0 -165
  159. package/dist/src/tagPair/ext.d.ts +0 -29
  160. package/dist/src/tagPair/ext.js +0 -229
  161. package/dist/src/tagPair/include.d.ts +0 -33
  162. package/dist/src/tagPair/include.js +0 -132
  163. package/dist/src/tagPair/index.d.ts +0 -23
  164. package/dist/src/tagPair/index.js +0 -130
  165. package/dist/src/transclude.d.ts +0 -159
  166. package/dist/src/transclude.js +0 -598
  167. package/dist/util/constants.js +0 -26
  168. package/dist/util/debug.js +0 -95
  169. package/dist/util/diff.js +0 -83
  170. package/dist/util/html.js +0 -146
  171. package/dist/util/lint.js +0 -32
  172. package/dist/util/string.js +0 -107
  173. package/errors/README +0 -3
  174. package/printed/README +0 -3
@@ -0,0 +1,162 @@
1
+ .wikiparse-container {
2
+ position: relative;
3
+ -webkit-text-size-adjust: none;
4
+ }
5
+ .wikiparser {
6
+ white-space: pre-wrap;
7
+ overflow-wrap: break-word;
8
+ word-break: break-all;
9
+ font-family: monospace;
10
+ border: 1.5px solid #dedede;
11
+ background-color: #fff;
12
+ }
13
+ /* wikiparse.highlight或wikiparse.codejar */
14
+ .wikiparser.wikiparse-container {
15
+ padding: 4px 0;
16
+ overflow-y: auto;
17
+ }
18
+ .wikiparse-container > .wpb-root {
19
+ padding: 0 6px;
20
+ display: block;
21
+ position: relative;
22
+ overflow-y: hidden !important;
23
+ }
24
+
25
+ .wikiparser-line-numbers {
26
+ position: absolute;
27
+ top: 0;
28
+ left: 0;
29
+ display: inline-block;
30
+ background-color: #f5f5f5;
31
+ color: #6c6c6c;
32
+ border-right: 1px solid #ddd;
33
+ padding: 4px 0;
34
+ }
35
+ .wikiparser-line-numbers > span {
36
+ display: inline-block;
37
+ width: calc(100% - .5ch);
38
+ text-align: right;
39
+ }
40
+ .wikiparser-sizer {
41
+ position: absolute;
42
+ top: 0;
43
+ left: 0;
44
+ right: 0;
45
+ visibility: hidden;
46
+ z-index: -1;
47
+ padding: 0 6px;
48
+ }
49
+ .wpb-root[contenteditable] > .wikiparser-sizer {
50
+ overflow-y: scroll;
51
+ }
52
+
53
+ .wpb-table-inter {
54
+ color: #d73333;
55
+ font-weight: normal;
56
+ text-decoration: underline wavy 1px;
57
+ }
58
+
59
+ .wpb-hidden, .wpb-noinclude, .wpb-include, .wpb-comment, .wpb-attr-dirty {
60
+ color: #7b8c8f;
61
+ font-weight: normal;
62
+ font-style: italic;
63
+ }
64
+
65
+ .wpb-ext, .wpb-html {
66
+ color: #14866d;
67
+ font-weight: bold;
68
+ }
69
+ .wpb-ext-attrs, .wpb-html-attrs {
70
+ font-weight: normal;
71
+ }
72
+ .wpb-ext-attr > .wpb-attr-value, .wpb-html-attr > .wpb-attr-value {
73
+ color: #179b1c;
74
+ }
75
+ .wpb-ext-inner {
76
+ color: initial;
77
+ font-weight: normal;
78
+ background-color: rgba(0, 0, 0, .03);
79
+ }
80
+
81
+ .wpb-arg {
82
+ color: #ac6600;
83
+ font-weight: bold;
84
+ }
85
+ .wpb-arg-default {
86
+ color: #ad9300;
87
+ font-weight: normal;
88
+ }
89
+
90
+ .wpb-template {
91
+ color: #80c;
92
+ font-weight: bold;
93
+ background-color: rgba(119, 0, 170, .03);
94
+ }
95
+ .wpb-magic-word {
96
+ color: #a11;
97
+ font-weight: bold;
98
+ background-color: rgba(170, 17, 17, .03);
99
+ }
100
+ .wpb-invoke-module, .wpb-invoke-function {
101
+ color: #bf3e13;
102
+ font-weight: normal;
103
+ }
104
+ .wpb-parameter {
105
+ font-weight: normal;
106
+ }
107
+ .wpb-template > .wpb-parameter,
108
+ .wpb-invoke-function ~ .wpb-parameter {
109
+ color: #b0c;
110
+ }
111
+ .wpb-parameter-value {
112
+ color: initial;
113
+ }
114
+
115
+ .wpb-heading, .wpb-image-parameter {
116
+ color: #0076dd;
117
+ }
118
+ .wpb-heading-title {
119
+ color: initial;
120
+ font-weight: bold;
121
+ }
122
+
123
+ .wpb-table, .wpb-tr, .wpb-td {
124
+ color: #d08;
125
+ font-weight: bold;
126
+ }
127
+ .wpb-table-attrs {
128
+ font-weight: normal;
129
+ }
130
+ .wpb-table-attr > .wpb-attr-value {
131
+ color: #f500d4;
132
+ }
133
+ .wpb-td-inner {
134
+ color: initial;
135
+ font-weight: normal;
136
+ }
137
+
138
+ .wpb-double-underscore, .wpb-hr, .wpb-quote, .wpb-list, .wpb-dd, .wpb-redirect-syntax {
139
+ color: #0076dd;
140
+ font-weight: bold;
141
+ background-color: #eee;
142
+ }
143
+
144
+ .wpb-link, .wpb-category, .wpb-file, .wpb-gallery-image, .wpb-imagemap-image, .wpb-redirect-target,
145
+ .wpb-ext-link, .wpb-free-ext-link, .wpb-magic-link {
146
+ color: #000aaa;
147
+ background-color: rgba(34, 17, 153, .03);
148
+ }
149
+ .wpb-link-text, .wpb-image-caption, .wpb-ext-link-text {
150
+ color: initial;
151
+ }
152
+
153
+ .wpb-converter {
154
+ color: #b68;
155
+ font-weight: bold;
156
+ }
157
+ .wpb-converter-rule {
158
+ font-weight: normal;
159
+ }
160
+ .wpb-converter-rule-from, .wpb-converter-rule-to, .wpb-converter-noconvert {
161
+ color: initial;
162
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wikiparser-node",
3
- "version": "1.12.7",
3
+ "version": "1.13.0-b",
4
4
  "description": "A Node.js parser for MediaWiki markup with AST",
5
5
  "keywords": [
6
6
  "mediawiki",
@@ -14,48 +14,55 @@
14
14
  "license": "GPL-3.0",
15
15
  "author": "Bhsd",
16
16
  "files": [
17
- "/errors/README",
18
- "/printed/README",
17
+ "/bundle/bundle.min.js",
18
+ "/extensions/dist/",
19
+ "/extensions/*.css",
20
+ "!/extensions/dist/gh-page.js",
21
+ "!/extensions/gh-page.css",
22
+ "!/extensions/dist/parserTests.js",
23
+ "!/extensions/test-page.css",
19
24
  "/config/",
20
25
  "/i18n/",
21
- "/dist/",
22
- "!/dist/[bt]*/"
26
+ "!/config/.schema.json"
23
27
  ],
24
- "main": "./dist/index.js",
25
- "types": "./dist/index.d.ts",
28
+ "browser": "/bundle/bundle.min.js",
29
+ "main": "./bundle/bundle.min.js",
30
+ "types": "./extensions/typings.d.ts",
26
31
  "repository": {
27
32
  "type": "git",
28
33
  "url": "git+https://github.com/bhsd-harry/wikiparser-node.git"
29
34
  },
30
35
  "scripts": {
31
- "toc": "node ./dist/bin/toc.js",
32
- "declaration": "grep -rl --include='*.d.ts' '@private' dist/ | xargs bash sed.sh -i -E '/^\\s+\\/\\*\\* @private/,+1d'; grep -rl --include='*.d.ts' '/util/' dist/ | xargs bash sed.sh -i -E '/^import .+\\/util\\//d'; bash sed.sh -i -E 's/abstract (lint|print|text)\\b/\\1/' dist/lib/node.d.ts; node ./dist/bin/declaration.js",
33
- "prepublishOnly": "npm run build:core",
34
- "build:core": "bash build.sh",
35
- "build": "npm run build:core && node ./dist/bin/parserTests.js",
36
+ "prepublishOnly": "npm run build",
37
+ "build:core": "esbuild index.ts --bundle --minify --target=es2018 --sourcemap --outfile=bundle/bundle.min.js && eslint --no-eslintrc -c .eslintrc.browser.cjs bundle/bundle.min.js",
38
+ "build:ext": "bash build-ext.sh",
39
+ "build:test": "npm run build:core && tsc --project tsconfig.dist.json",
40
+ "build": "npm run build:core && npm run build:ext",
36
41
  "diff": "bash diff.sh",
37
42
  "diff:stat": "f() { git diff --stat --ignore-all-space --color=always $1 $2 -- . ':!extensions/' ':!bin/' | grep '\\.ts'; }; f",
38
- "lint:ts": "tsc --noEmit && eslint --cache .",
43
+ "lint:ts": "tsc --noEmit && tsc --noEmit --project extensions/tsconfig.json && tsc --noEmit --project extensions/tsconfig.codejar.json && eslint --cache .",
39
44
  "lint:json": "v8r -s config/.schema.json config/*.json",
40
- "lint": "npm run lint:ts && npm run lint:json",
41
- "prof": "node dist/test/prof.js",
42
- "test": "node dist/test/test.js",
43
- "test:parser": "node dist/test/parserTests.js",
45
+ "lint:css": "stylelint extensions/*.css",
46
+ "lint": "npm run lint:ts && npm run lint:json && npm run lint:css",
47
+ "server": "npm run test:end; http-server .. -c-1 --cors &",
48
+ "test": " node --enable-source-maps dist/test/test.js",
49
+ "test:parser": "node --enable-source-maps dist/test/parserTests.js",
50
+ "test:server": "npm run build && bash sed.sh -i 's|importScripts.*|importScripts(\"http://127.0.0.1:8080/wikiparser-node/bundle/bundle.min.js\");|' extensions/dist/base.js; npm run server",
44
51
  "test:end": "pkill -x http-server",
45
- "test:real": "node dist/test/real.js"
46
- },
47
- "dependencies": {
48
- "chalk": "^4.1.2"
52
+ "test:real": "node --enable-source-maps dist/test/real.js"
49
53
  },
50
54
  "devDependencies": {
51
- "@bhsd/common": "^0.0.0",
55
+ "@bhsd/codemirror-mediawiki": "^2.17.4",
56
+ "@bhsd/common": "^0.1.1",
52
57
  "@codemirror/lint": "^6.8.0",
53
58
  "@types/node": "^20.11.6",
54
- "codejar-async": "^4.2.0",
55
- "monaco-editor": "^0.51.0",
59
+ "@types/prismjs": "^1.26.3",
60
+ "chalk": "^4.1.2",
61
+ "codejar-async": "^4.2.3",
62
+ "monaco-editor": "^0.52.0",
56
63
  "v8r": "^3.0.0"
57
64
  },
58
65
  "engines": {
59
- "node": "^20.9.0"
66
+ "node": ">=20.9.0"
60
67
  }
61
68
  }
@@ -1,203 +0,0 @@
1
- {
2
- "type": "object",
3
- "properties": {
4
- "ext": {
5
- "description": "extension tags",
6
- "type": "array",
7
- "items": {
8
- "type": "string",
9
- "pattern": "^[a-z\\d_]+$"
10
- }
11
- },
12
- "html": {
13
- "description": "valid HTML tags",
14
- "type": "array",
15
- "items": {
16
- "type": "array",
17
- "items": {
18
- "type": "string",
19
- "pattern": "^[a-z\\d]+$"
20
- }
21
- },
22
- "minItems": 3,
23
- "maxItems": 3
24
- },
25
- "namespaces": {
26
- "description": "formatted namespaces",
27
- "type": "object",
28
- "patternProperties": {
29
- "^-?\\d+$": {
30
- "type": "string"
31
- }
32
- },
33
- "additionalProperties": false
34
- },
35
- "nsid": {
36
- "description": "namespace IDs",
37
- "type": "object",
38
- "required": [
39
- "file",
40
- "category"
41
- ],
42
- "additionalProperties": {
43
- "type": "integer"
44
- }
45
- },
46
- "parserFunction": {
47
- "type": "array",
48
- "prefixItems": [
49
- {
50
- "description": "case-insensitive parser functions",
51
- "type": "object",
52
- "additionalProperties": {
53
- "type": "string"
54
- }
55
- },
56
- {
57
- "description": "case-sensitive parser functions",
58
- "type": "array",
59
- "allOf": [
60
- {
61
- "contains": {
62
- "const": "!"
63
- }
64
- },
65
- {
66
- "contains": {
67
- "const": "="
68
- }
69
- }
70
- ],
71
- "items": {
72
- "type": "string"
73
- }
74
- },
75
- {
76
- "description": "msg and raw",
77
- "type": "array",
78
- "items": {
79
- "type": "string"
80
- }
81
- },
82
- {
83
- "description": "subst and safesubst",
84
- "type": "array",
85
- "items": {
86
- "type": "string"
87
- }
88
- }
89
- ],
90
- "minItems": 4,
91
- "maxItems": 4
92
- },
93
- "doubleUnderscore": {
94
- "description": "behavior switches",
95
- "type": "array",
96
- "prefixItems": [
97
- {
98
- "description": "case-insensitive behavior switches",
99
- "type": "array",
100
- "items": {
101
- "type": "string"
102
- }
103
- },
104
- {
105
- "description": "case-sensitive behavior switches",
106
- "type": "array",
107
- "items": {
108
- "type": "string"
109
- }
110
- },
111
- {
112
- "description": "case-insensitive behavior switches",
113
- "type": "object",
114
- "additionalProperties": {
115
- "type": "string"
116
- }
117
- }
118
- ],
119
- "minItems": 2,
120
- "maxItems": 3
121
- },
122
- "protocol": {
123
- "description": "external link protocols",
124
- "type": "string",
125
- "pattern": "^[a-z:/]+(?:\\|[a-z:/]+)*$"
126
- },
127
- "interwiki": {
128
- "type": "array",
129
- "items": {
130
- "type": "string"
131
- }
132
- },
133
- "img": {
134
- "description": "image-related magic words",
135
- "type": "object",
136
- "additionalProperties": {
137
- "type": "string",
138
- "pattern": "^[-a-z]+$"
139
- }
140
- },
141
- "redirection": {
142
- "description": "magic words for redirection",
143
- "type": "array",
144
- "items": {
145
- "type": "string",
146
- "pattern": "^#.+$"
147
- }
148
- },
149
- "variants": {
150
- "description": "variants for language conversion",
151
- "type": "array",
152
- "items": {
153
- "type": "string",
154
- "pattern": "^[-a-z]+$"
155
- }
156
- },
157
- "conversionTable": {
158
- "description": "table of unidirectional conversions",
159
- "type": "array",
160
- "items": {
161
- "type": "array",
162
- "items": {
163
- "type": "string",
164
- "pattern": "^[^ <>[\\]{}|]+$"
165
- },
166
- "minItems": 2,
167
- "maxItems": 2
168
- }
169
- },
170
- "redirects": {
171
- "description": "table of redirects",
172
- "type": "array",
173
- "items": {
174
- "type": "array",
175
- "items": {
176
- "type": "string",
177
- "pattern": "^[^ <>[\\]{}|]+$"
178
- },
179
- "minItems": 2,
180
- "maxItems": 2
181
- }
182
- },
183
- "articlePath": {
184
- "description": "base URL of internal links",
185
- "type": "string",
186
- "pattern": "\\$1"
187
- }
188
- },
189
- "required": [
190
- "ext",
191
- "html",
192
- "namespaces",
193
- "nsid",
194
- "parserFunction",
195
- "doubleUnderscore",
196
- "protocol",
197
- "interwiki",
198
- "img",
199
- "redirection",
200
- "variants"
201
- ],
202
- "additionalProperties": false
203
- }