wikiparser-node 1.30.0 → 1.32.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 (101) hide show
  1. package/README.md +9 -4
  2. package/bundle/bundle-es8.min.js +28 -29
  3. package/bundle/bundle-lsp.min.js +34 -34
  4. package/bundle/bundle.min.js +23 -23
  5. package/dist/addon/attribute.js +166 -0
  6. package/dist/addon/link.js +92 -0
  7. package/dist/addon/table.js +12 -3
  8. package/dist/addon/token.js +5 -316
  9. package/dist/addon/transclude.js +11 -8
  10. package/dist/base.d.mts +13 -4
  11. package/dist/base.d.ts +13 -4
  12. package/dist/base.js +2 -0
  13. package/dist/base.mjs +2 -0
  14. package/dist/bin/config.js +1 -1
  15. package/dist/index.d.ts +34 -5
  16. package/dist/index.js +100 -88
  17. package/dist/internal.d.ts +6 -1
  18. package/dist/lib/document.d.ts +9 -7
  19. package/dist/lib/document.js +91 -66
  20. package/dist/lib/element.d.ts +8 -8
  21. package/dist/lib/element.js +52 -50
  22. package/dist/lib/lintConfig.js +6 -2
  23. package/dist/lib/lsp.js +120 -56
  24. package/dist/lib/node.js +21 -15
  25. package/dist/lib/redirectMap.js +1 -1
  26. package/dist/lib/text.js +17 -14
  27. package/dist/lib/title.d.ts +11 -0
  28. package/dist/lib/title.js +37 -13
  29. package/dist/mixin/elementLike.js +2 -3
  30. package/dist/mixin/syntax.js +13 -7
  31. package/dist/parser/commentAndExt.js +4 -4
  32. package/dist/parser/hrAndDoubleUnderscore.js +11 -9
  33. package/dist/parser/selector.js +16 -41
  34. package/dist/render/expand.js +216 -0
  35. package/dist/render/extension.js +141 -0
  36. package/dist/render/html.js +91 -0
  37. package/dist/render/magicWords.js +768 -0
  38. package/dist/render/syntaxhighlight.js +415 -0
  39. package/dist/src/arg.js +8 -1
  40. package/dist/src/atom.js +2 -0
  41. package/dist/src/attribute.d.ts +5 -0
  42. package/dist/src/attribute.js +59 -104
  43. package/dist/src/attributes.d.ts +5 -0
  44. package/dist/src/attributes.js +17 -51
  45. package/dist/src/converter.js +4 -2
  46. package/dist/src/converterFlags.js +8 -6
  47. package/dist/src/converterRule.js +19 -15
  48. package/dist/src/extLink.js +2 -2
  49. package/dist/src/heading.d.ts +1 -1
  50. package/dist/src/heading.js +5 -3
  51. package/dist/src/imageParameter.d.ts +0 -1
  52. package/dist/src/imageParameter.js +34 -24
  53. package/dist/src/index.d.ts +5 -5
  54. package/dist/src/index.js +37 -27
  55. package/dist/src/link/base.js +26 -36
  56. package/dist/src/link/category.d.ts +8 -1
  57. package/dist/src/link/category.js +104 -38
  58. package/dist/src/link/file.js +21 -8
  59. package/dist/src/link/galleryImage.js +2 -3
  60. package/dist/src/link/index.d.ts +1 -1
  61. package/dist/src/link/index.js +12 -33
  62. package/dist/src/multiLine/index.js +1 -1
  63. package/dist/src/nowiki/comment.js +1 -1
  64. package/dist/src/nowiki/doubleUnderscore.js +4 -2
  65. package/dist/src/nowiki/index.js +34 -31
  66. package/dist/src/nowiki/list.js +3 -1
  67. package/dist/src/nowiki/listBase.d.ts +2 -1
  68. package/dist/src/nowiki/listBase.js +22 -8
  69. package/dist/src/nowiki/quote.d.ts +1 -1
  70. package/dist/src/nowiki/quote.js +3 -3
  71. package/dist/src/onlyinclude.js +1 -1
  72. package/dist/src/paramLine.js +2 -0
  73. package/dist/src/parameter.js +1 -1
  74. package/dist/src/redirect.js +1 -1
  75. package/dist/src/table/base.js +5 -4
  76. package/dist/src/table/index.d.ts +1 -6
  77. package/dist/src/table/index.js +7 -16
  78. package/dist/src/table/td.js +12 -9
  79. package/dist/src/tag/html.js +2 -3
  80. package/dist/src/tag/index.js +8 -6
  81. package/dist/src/tagPair/ext.js +18 -41
  82. package/dist/src/tagPair/index.js +6 -4
  83. package/dist/src/tagPair/translate.d.ts +1 -0
  84. package/dist/src/tagPair/translate.js +10 -3
  85. package/dist/src/transclude.js +18 -21
  86. package/dist/util/constants.js +9 -3
  87. package/dist/util/debug.js +72 -5
  88. package/dist/util/diff.js +17 -15
  89. package/dist/util/html.js +14 -5
  90. package/dist/util/selector.js +37 -0
  91. package/dist/util/sharable.d.mts +4 -1
  92. package/dist/util/sharable.js +7 -7
  93. package/dist/util/sharable.mjs +7 -7
  94. package/dist/util/string.js +51 -20
  95. package/extensions/dist/base.js +2 -2
  96. package/extensions/editor.css +1 -1
  97. package/i18n/en.json +1 -0
  98. package/i18n/zh-hans.json +30 -29
  99. package/i18n/zh-hant.json +31 -30
  100. package/package.json +23 -16
  101. package/dist/addon/magicWords.js +0 -132
package/README.md CHANGED
@@ -13,15 +13,19 @@
13
13
 
14
14
  WikiParser-Node is an offline [Wikitext](https://www.mediawiki.org/wiki/Wikitext) parser developed by Bhsd for the [Node.js](https://nodejs.org/) environment. It can parse almost all wiki syntax and generate an [Abstract Syntax Tree (AST)](https://en.wikipedia.org/wiki/Abstract_syntax_tree) ([Try it online](https://bhsd-harry.github.io/wikiparser-node/#editor)). It also allows for easy querying and modification of the AST, and returns the modified wikitext.
15
15
 
16
+ Although WikiParser-Node is not originally designed to convert Wikitext to HTML, it provides a limited capability to do so. [Here](https://bhsd-harry.github.io/wikiparser-website/) is a list of example HTML pages rendered using this package.
17
+
16
18
  # Other Versions
17
19
 
18
20
  ## Mini (also known as [WikiLint](https://www.npmjs.com/package/wikilint))
19
21
 
20
- This version provides a [CLI](https://en.wikipedia.org/wiki/Command-line_interface), but only retains the parsing functionality and linting functionality. The parsed AST cannot be modified. It is used for the [Wikitext LSP](https://www.npmjs.com/package/wikitext-lsp) the [WikiParser Language Server](https://marketplace.visualstudio.com/items?itemName=Bhsd.vscode-extension-wikiparser) VS Code extension.
22
+ This version provides a [CLI](https://en.wikipedia.org/wiki/Command-line_interface), but only retains the parsing functionality and linting functionality. The parsed AST cannot be modified. It powers the [Wikitext LSP](https://www.npmjs.com/package/wikitext-lsp), which provides multiple language services for editors such as [VS Code](https://marketplace.visualstudio.com/items?itemName=Bhsd.vscode-extension-wikiparser), [Sublime Text](https://lsp.sublimetext.io/language_servers/#mediawiki), and [Helix](https://github.com/helix-editor/helix/wiki/Language-Server-Configurations#wikitext).
23
+
24
+ A list of available linting rules can be found [here](https://github.com/bhsd-harry/wikiparser-node/wiki/Rules).
21
25
 
22
26
  ## Browser-compatible
23
27
 
24
- A browser-compatible version, which can be used for code highlighting or as a linting plugin in conjunction with editors such as [CodeMirror](https://www.npmjs.com/package/@bhsd/codemirror-mediawiki) and [Monaco](https://www.npmjs.com/package/monaco-wiki). ([Usage example](https://bhsd-harry.github.io/wikiparser-node))
28
+ A browser-compatible version, which can be used for code highlighting or as a linting plugin in conjunction with editors such as [CodeMirror](https://www.npmjs.com/package/@bhsd/codemirror-mediawiki) and [Monaco](https://www.npmjs.com/package/monaco-wiki) ([Usage example](https://bhsd-harry.github.io/wikiparser-node)). It has been integrated into the MediaWiki official [CodeMirror extension](https://www.mediawiki.org/wiki/Extension:CodeMirror) since Release 1.45.
25
29
 
26
30
  # Installation
27
31
 
@@ -94,7 +98,7 @@ A full database dump (`*.xml.bz2`) [scan](https://www.npmjs.com/package/lint-wik
94
98
  ## HTML conversion
95
99
 
96
100
  <details>
97
- <summary>Expand</summary>
101
+ <summary>Expand</summary>
98
102
 
99
103
  ### Extension
100
104
 
@@ -102,7 +106,7 @@ A full database dump (`*.xml.bz2`) [scan](https://www.npmjs.com/package/lint-wik
102
106
 
103
107
  ### Transclusion
104
108
 
105
- 1. Most parser functions are not supported.
109
+ 1. Some parser functions are not supported.
106
110
 
107
111
  ### Heading
108
112
 
@@ -122,6 +126,7 @@ A full database dump (`*.xml.bz2`) [scan](https://www.npmjs.com/package/lint-wik
122
126
 
123
127
  1. Link trail is not supported ([Example](https://bhsd-harry.github.io/wikiparser-node/tests.html#1.%20Interaction%20of%20linktrail%20and%20template%20encapsulation)).
124
128
  1. Block elements inside a link should break it into multiple links ([Example](http://bhsd-harry.github.io/wikiparser-node/tests.html#%3Cpre%3E%20inside%20a%20link)).
129
+ 1. Invalid or missing images (Examples [1](https://bhsd-harry.github.io/wikiparser-node/tests.html#Fuzz%20testing%3A%20image%20with%20bogus%20manual%20thumbnail), [2](https://bhsd-harry.github.io/wikiparser-node/tests.html#Gallery%20with%20line%20not%20in%20the%20file%20namespace)).
125
130
 
126
131
  ### External link
127
132