wikiplus-highlight 3.2.9 → 3.2.11

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
@@ -5,31 +5,10 @@
5
5
  [![jsDelivr hits (npm)](https://img.shields.io/jsdelivr/npm/hm/wikiplus-highlight)](https://www.npmjs.com/package/wikiplus-highlight)
6
6
  [![Codacy Badge](https://app.codacy.com/project/badge/Grade/12c4209a299b4a378759f425abe445af)](https://app.codacy.com/gh/bhsd-harry/Wikiplus-highlight/dashboard)
7
7
 
8
- **Wikiplus-highlight** 是由 Bhsd 编写的一款 [Wikiplus](https://github.com/Wikiplus/Wikiplus) 语法高亮插件,它主要基于 MediaWiki 内置的 [JavaScript 模块](https://www.mediawiki.org/wiki/ResourceLoader/Core_modules)和 [CodeMirror](https://codemirror.net/) 编写。
9
-
10
- <details>
11
- <summary>展开</summary>
8
+ **Wikiplus-highlight** 是由 Bhsd 编写的一款 [Wikiplus](https://www.npmjs.com/package/wikiplus-core) 语法高亮插件,它主要基于 MediaWiki 内置的 [JavaScript 模块](https://www.mediawiki.org/wiki/ResourceLoader/Core_modules)和 [CodeMirror](https://codemirror.net/) 编写。
12
9
 
13
10
  - [使用方法](#使用方法)
14
11
  - [更多插件](#更多插件)
15
- - [高亮当前行](#高亮当前行)
16
- - [显示不可见字符](#显示不可见字符)
17
- - [显示空白字符](#显示空白字符)
18
- - [显示尾随空格](#显示尾随空格)
19
- - [匹配括号](#匹配括号)
20
- - [自动闭合括号和引号](#自动闭合括号和引号)
21
- - [代码折叠](#代码折叠)
22
- - [自动填充](#自动填充)
23
- - [匹配标签](#匹配标签)
24
- - [HTML/URL编码快捷键](#htmlurl编码快捷键)
25
- - [快速打开链接](#快速打开链接)
26
- - [语法检查](#语法检查)
27
- - [添加 WikiEditor 工具栏](#添加-wikieditor-工具栏)
28
- - [使用 Monaco Editor](#使用-monaco-editor)
29
- - [调整缩进](#调整缩进)
30
- - [Supported languages](#supported-languages)
31
-
32
- </details>
33
12
 
34
13
  ## 使用方法
35
14
 
@@ -45,102 +24,18 @@ mw.loader.load('//cdn.jsdelivr.net/npm/wikiplus-highlight');
45
24
  mw.loader.load('//unpkg.com/wikiplus-highlight');
46
25
  ```
47
26
 
48
- ## 更多插件
49
-
50
- 使用 *[Vector](https://www.mediawiki.org/wiki/Skin:Vector)* 皮肤或 MediaWiki 1.35 及以上的 *[Minerva Neue](https://www.mediawiki.org/wiki/Skin:Minerva_Neue)* 皮肤时,在右上角的【更多】菜单将添加一个【CodeMirror插件】选项,点击后可以选择想要加载的 CodeMirror 插件。其他桌面版皮肤(包括 *[Timeless](https://www.mediawiki.org/wiki/Skin:Timeless)*、*[MonoBook](https://www.mediawiki.org/wiki/Skin:MonoBook)* 和 *[Citizen](https://www.mediawiki.org/wiki/Skin:Citizen)*)会在类似性质的菜单中插入这一选项。修改插件设置后将立刻生效。
51
-
52
- ### 高亮当前行
53
-
54
- 使用这一插件时,光标所在行将添加浅青色背景。
55
-
56
- ### 显示不可见字符
57
-
58
- 使用这一插件时,不可见字符将以红色小圆点的形式显示。
59
-
60
- ### 显示空白字符
61
-
62
- 使用这一插件时,空格将以小圆点的形式显示,制表符将以箭头的形式显示。
63
-
64
- ### 显示尾随空格
65
-
66
- 使用这一插件时,每一行的尾随空格将添加橙红色背景。
67
-
68
- ### 高亮与选中文字相同的内容
69
-
70
- 使用这一插件时,与当前选中文字相同的内容将添加浅绿色背景。
71
-
72
- ### 匹配括号
73
-
74
- 匹配的括号对会添加青色背景,未匹配的单个括号会添加暗红色背景。
75
-
76
- ### 自动闭合括号和引号
77
-
78
- MediaWiki 模式下自动闭合生效的字符包括 `(`、`[`、`{` 和 `"`,其他模式还额外包括 `'`。如果在选中部分文字的情况下键入这些字符,选中的文字会被成对的括号或引号包裹。
79
-
80
- ### 代码折叠
81
-
82
- MediaWiki 模式下,光标移动至模板、解析器函数或扩展标签内部时会在光标上方出现一个 `-` 标记,点击即可折叠模板和解析器函数的参数或扩展标签内部的文本。折叠后使用一个带有虚线边框的 `⋯` 标记占位,点击该标记将重新展开折叠的代码部分。除此以外,可折叠的代码行行号左侧会出现箭头 `⌄` 作为折叠按钮。同时添加以下快捷键:
83
-
84
- - `Ctrl` + `Shift` + `[`/`Cmd` + `Alt` + `[`: 折叠选中的文字(如果可行)
85
- - `Ctrl` + `Shift` + `]`/`Cmd` + `Alt` + `]`: 展开选中的文字
86
- - `Ctrl` + `Alt` + `[`: 折叠所有可折叠的代码
87
- - `Ctrl` + `Alt` + `]`: 展开所有折叠的代码
88
-
89
- ### 自动填充
90
-
91
- MediaWiki 模式下可自动填充魔术字(包括状态开关和解析器函数)、标签名、标签属性名、URL 协议和图片参数。此外按下 `Shift` + `Enter` 还可触发页面名称和模板参数(需要 [TemplateData](https://www.mediawiki.org/wiki/Extension:TemplateData) 扩展)的自动填充。JavaScript 和 CSS 模式下可自动填充关键字和常数。
27
+ 如果需要使用特定版本的 [CodeMirror-MediaWiki](https://www.npmjs.com/package/@bhsd/codemirror-mediawiki) 或 [Monaco-Wiki](https://www.npmjs.com/package/monaco-wiki) 进行高亮,需要在加载 Wikiplus-highlight 前指定,例如:
92
28
 
93
- ### 匹配标签
94
-
95
- 仅用于 MediaWiki 模式,匹配的标签对或自封闭标签会添加青色背景,未匹配的标签会添加暗红色背景。注意被高亮标记为错误的标签不会进行匹配。
96
-
97
- ### HTML/URL编码快捷键
98
-
99
- 仅用于 MediaWiki 模式,添加以下快捷键:
100
-
101
- - `Ctrl`/`Cmd` + `[`: 将选中的文字转换为HTML实体
102
- - `Ctrl`/`Cmd` + `]`: 将选中的文字解码或转换为URL编码
103
-
104
- ### 快速打开链接
105
-
106
- 仅用于 MediaWiki 模式,按住 `Ctrl`/`Cmd` 并点击被高亮标记为内部链接、模板标题或外部链接的文字时,会在新标签页打开对应页面。
107
-
108
- ### 颜色选择器
109
-
110
- 仅用于 CSS 和 MediaWiki 模式,表示颜色的文字左侧会出现一个方块提供颜色预览,点击后会弹出一个颜色选择器,选择颜色后会自动修改对应的文字内容。
111
-
112
- ### 预览 `<ref>` 定义
113
-
114
- 仅用于 MediaWiki 模式,将鼠标悬停在带有 `name` 属性的 `<ref>` 标签上时会显示对应的内容。
115
-
116
- ### 语法检查
117
-
118
- 开启后将在编辑框内提示可能存在的语法错误。
119
-
120
- |模式|语法检查库|
121
- |:-:|:-:|
122
- |MediaWiki|[WikiParser-Node](https://github.com/bhsd-harry/wikiparser-node)|
123
- |JavaScript|[ESLint](https://eslint.org/)|
124
- |CSS|[Stylelint](https://stylelint.io/)|
125
- |JSON|[JSON.parse](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse)|
126
- |Lua|[luaparse](https://npmjs.com/package/luaparse)|
127
-
128
- ### 添加 WikiEditor 工具栏
129
-
130
- 工具栏遵从当前网站安装的 [WikiEditor](https://www.mediawiki.org/wiki/Extension:WikiEditor) 扩展的版本。
131
-
132
- ### 使用 Monaco Editor
133
-
134
- 不使用默认的 [CodeMirror 6](https://codemirror.net/) 编辑器,而是使用 [Monaco Editor](https://microsoft.github.io/monaco-editor/)。
135
-
136
- ### 调整缩进
137
-
138
- 这是一个设置选项。默认设置下使用 Tab 进行缩进。
29
+ ```js
30
+ mw.libs.wphl = {
31
+ cmVersion: '3', // 使用 CodeMirror-MediaWiki 3.x.x 版本
32
+ monacoVersion: '1', // 使用 Monaco-Wiki 1.x.x 版本
33
+ };
34
+ mw.loader.load('//cdn.jsdelivr.net/npm/wikiplus-highlight');
35
+ ```
139
36
 
140
- ## Supported languages
37
+ ## 更多插件
141
38
 
142
- - English (en)
143
- - 中文(简体) (zh-hans)
144
- - 中文(繁體) (zh-hant)
39
+ 使用 *[Vector](https://www.mediawiki.org/wiki/Skin:Vector)* 皮肤或 MediaWiki 1.35 及以上的 *[Minerva Neue](https://www.mediawiki.org/wiki/Skin:Minerva_Neue)* 皮肤时,在右上角的【更多】菜单将添加一个【CodeMirror插件】选项,点击后可以选择想要加载的 CodeMirror 插件。其他桌面版皮肤(包括 *[Timeless](https://www.mediawiki.org/wiki/Skin:Timeless)*、*[MonoBook](https://www.mediawiki.org/wiki/Skin:MonoBook)* 和 *[Citizen](https://www.mediawiki.org/wiki/Skin:Citizen)*)会在类似性质的菜单中插入这一选项。修改插件设置后将立刻生效。
145
40
 
146
- [GNU General Public License 3.0](https://www.gnu.org/licenses/gpl-3.0-standalone.html)
41
+ 详细的插件列表和说明请参见 [CodeMirror-MediaWiki](https://www.npmjs.com/package/@bhsd/codemirror-mediawiki) 文档 [1](https://www.npmjs.com/package/@bhsd/codemirror-mediawiki#extensions) 和 [2](https://github.com/bhsd-harry/codemirror-mediawiki/blob/npm/mw/README.md#extensions)
package/dist/main.min.js CHANGED
@@ -1,4 +1,4 @@
1
- (()=>{var w="https://testingcf.jsdelivr.net",h=t=>JSON.parse(String(localStorage.getItem(t))),{wgPageName:C,wgNamespaceNumber:l,wgPageContentModel:p}=mw.config.get(),E={wikitext:"mediawiki"},M={css:"css",js:"javascript",json:"json"},S={828:"lua",274:"html"},j=async t=>{var a;let e;if(typeof _WikiplusPages=="object"?e=_WikiplusPages:typeof Pages=="object"&&(e=Pages),e){const r=Object.values(e).filter(({sectionCache:i})=>Object.values(i).includes(t));r.some(({title:i})=>!i.endsWith("/doc"))&&await mw.loader.using("mediawiki.Title");const s=new Set(r.map(({title:i})=>{var u,m,d;if(i.endsWith("/doc"))return"template";const c=new mw.Title(i),o=c.getNamespaceId();if(o%2)return"mediawiki";const n=(d=M[(m=(u=c.getExtension())==null?void 0:u.toLowerCase())!=null?m:""])!=null?d:S[o];switch(n){case"javascript":return o===8||o===2300?"gadget":n;case"css":return o===2||o===8||o===2300?n:"sanitized-css";case void 0:return o===10||o===2?"template":"mediawiki";default:return n}}));if(s.size===1){const[i]=s,c=r.length===1?r[0].title:void 0;return i==="gadget"?["javascript",8]:i==="template"?["mediawiki",10,c]:[i,void 0,c]}else if(s.size===2){if(s.has("javascript")&&s.has("gadget"))return["javascript"];if(s.has("mediawiki")&&s.has("template"))return["mediawiki"]}}return l!==274&&p!=="Scribunto"||C.endsWith("/doc")?[(a=E[p])!=null?a:p,p==="javascript"?l:void 0]:(await mw.loader.using("oojs-ui-windows"),await OO.ui.confirm(mw.msg("cm-mw-contentmodel"),{actions:[{label:l===274?"Widget":"Lua"},{label:"Wikitext",action:"accept"}]})?["mediawiki"]:[l===274?"html":"lua"])},k=()=>(document.getElementById("Wikiplus-Quickedit-Submit").dispatchEvent(new MouseEvent("click")),!0),v=()=>(document.querySelector("#Wikiplus-Quickedit-MinorEdit").checked=!0,k()),y=()=>{const t=h("Wikiplus_Settings"),e=t&&(t.esc_to_exit_quickedit||t.escToExitQuickEdit);return e===!0||e==="true"?(document.getElementById("Wikiplus-Quickedit-Back").dispatchEvent(new MouseEvent("click")),!0):!1},W=async(t,e)=>{var s,i;const a=await CodeMirror6.fromTextArea(t,...e?["json"]:await j(t.value));((i=(s=a.view)==null?void 0:s.dom)!=null?i:a.editor.getDomNode()).id="Wikiplus-CodeMirror",e||(a.editor?(a.editor.addCommand(monaco.KeyMod.CtrlCmd|monaco.KeyCode.KeyS,k),a.editor.addCommand(monaco.KeyMod.CtrlCmd|monaco.KeyMod.Shift|monaco.KeyCode.KeyS,v),a.editor.addCommand(monaco.KeyCode.Escape,y)):a.extraKeys([{key:"Mod-S",run:k},{key:"Shift-Mod-S",run:v},{key:"Esc",run:y}]));const r=document.querySelector("#Wikiplus-Quickedit-Jump > a");r&&(r.href="#Wikiplus-CodeMirror")};(async()=>{var a;const{libs:t}=mediaWiki,{wphl:e}=t;if(!(e!=null&&e.version)){const r="3.2.9";t.wphl={version:r,...e};const s=`npm/@bhsd/codemirror-mediawiki@${(a=t.wphl.cmVersion)!=null?a:"latest"}/dist/wiki.min.js`,i="npm/wikiplus-highlight";typeof CodeMirror6!="function"&&await $.ajax(`${w}/${s}`,{dataType:"script",cache:!0}),new MutationObserver(o=>{var f;const n="#Wikiplus-Quickedit, #Wikiplus-Setting-Input",[u]=$(o.flatMap(({addedNodes:g})=>[...g])).find(n);u&&W(u,u.id==="Wikiplus-Setting-Input");const[m]=$(o.flatMap(({removedNodes:g})=>[...g])).find(n),d=(f=CodeMirror6.instances)==null?void 0:f.get(m);typeof(d==null?void 0:d.destroy)=="function"&&d.destroy()}).observe(document.body,{childList:!0}),mw.loader.load(`${w}/${i}@${r}/styles.min.css`,"text/css")}})();/**
1
+ (()=>{var v="https://testingcf.jsdelivr.net",y=i=>JSON.parse(String(localStorage.getItem(i))),{wgPageName:h,wgNamespaceNumber:l,wgPageContentModel:p}=mw.config.get(),M={wikitext:"mediawiki"},C={css:"css",js:"javascript",json:"json"},S={828:"lua",274:"html"},W=async i=>{var o;let e;if(typeof _WikiplusPages=="object"?e=_WikiplusPages:typeof Pages=="object"&&(e=Pages),e){const s=Object.values(e).filter(({sectionCache:t})=>Object.values(t).includes(i));s.some(({title:t})=>!t.endsWith("/doc"))&&await mw.loader.using("mediawiki.Title");const a=new Set(s.map(({title:t})=>{var m,c,u;if(t.endsWith("/doc"))return"template";const n=new mw.Title(t),r=n.getNamespaceId();if(r%2)return"mediawiki";const d=(u=C[(c=(m=n.getExtension())==null?void 0:m.toLowerCase())!=null?c:""])!=null?u:S[r];switch(d){case"javascript":return r===8||r===2300?"gadget":d;case"css":return r===2||r===8||r===2300?d:"sanitized-css";case void 0:return r===10||r===2?"template":"mediawiki";default:return d}}));if(a.size===1){const[t]=a,n=s.length===1?s[0].title:void 0;return t==="gadget"?["javascript",8]:t==="template"?["mediawiki",10,n]:[t,void 0,n]}else if(a.size===2){if(a.has("javascript")&&a.has("gadget"))return["javascript"];if(a.has("mediawiki")&&a.has("template"))return["mediawiki"]}}return l!==274&&p!=="Scribunto"||h.endsWith("/doc")?[(o=M[p])!=null?o:p,p==="javascript"?l:void 0]:(await mw.loader.using("oojs-ui-windows"),await OO.ui.confirm(mw.msg("cm-mw-contentmodel"),{actions:[{label:l===274?"Widget":"Lua"},{label:"Wikitext",action:"accept"}]})?["mediawiki"]:[l===274?"html":"lua"])},f=(()=>(document.getElementById("Wikiplus-Quickedit-Submit").dispatchEvent(new MouseEvent("click")),!0)),k=(()=>(document.querySelector("#Wikiplus-Quickedit-MinorEdit").checked=!0,f())),w=(()=>{const i=y("Wikiplus_Settings"),e=i&&(i.esc_to_exit_quickedit||i.escToExitQuickEdit);return e===!0||e==="true"?(document.getElementById("Wikiplus-Quickedit-Back").dispatchEvent(new MouseEvent("click")),!0):!1}),b=async(i,e)=>{var a,t;const o=await CodeMirror6.fromTextArea(i,...e?["json"]:await W(i.value));((t=(a=o.view)==null?void 0:a.dom)!=null?t:o.editor.getDomNode()).id="Wikiplus-CodeMirror",e||(o.editor?(o.editor.addCommand(monaco.KeyMod.CtrlCmd|monaco.KeyCode.KeyS,f),o.editor.addCommand(monaco.KeyMod.CtrlCmd|monaco.KeyMod.Shift|monaco.KeyCode.KeyS,k),o.editor.addCommand(monaco.KeyCode.Escape,w)):o.extraKeys([{key:"Mod-S",run:f},{key:"Shift-Mod-S",run:k},{key:"Esc",run:w}]));const s=document.querySelector("#Wikiplus-Quickedit-Jump > a");s&&(s.href="#Wikiplus-CodeMirror")};(async()=>{var o;if(!mw.config.get("wgIsArticle")||mw.config.get("wgAction")!=="view")return;const{libs:i}=mediaWiki,{wphl:e}=i;if(!(e!=null&&e.version)){const s="3.2.11";i.wphl={version:s,...e};const a=`npm/@bhsd/codemirror-mediawiki@${(o=i.wphl.cmVersion)!=null?o:"latest"}/dist/wiki.min.js`;typeof CodeMirror6!="function"&&await $.ajax(`${v}/${a}`,{dataType:"script",cache:!0}),new MutationObserver(n=>{var u;const r="#Wikiplus-Quickedit, #Wikiplus-Setting-Input",[d]=$(n.flatMap(({addedNodes:g})=>[...g])).find(r);d&&b(d,d.id==="Wikiplus-Setting-Input");const[m]=$(n.flatMap(({removedNodes:g})=>[...g])).find(r),c=(u=CodeMirror6.instances)==null?void 0:u.get(m);typeof(c==null?void 0:c.destroy)=="function"&&c.destroy()}).observe(document.body,{childList:!0}),mw.loader.addStyleTag("#Wikiplus-CodeMirror{border:1px solid #c8ccd1;clear:both}div.Wikiplus-InterBox{z-index:100}")}})();/**
2
2
  * @name Wikiplus-highlight Wikiplus编辑器的CodeMirror语法高亮扩展
3
3
  * @author Bhsd <https://github.com/bhsd-harry>
4
4
  * @license GPL-3.0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../build/Wikiplus-highlight/main.js"],
4
- "sourcesContent": ["// ../browser/dist/index.js\nvar CDN = \"https://testingcf.jsdelivr.net\";\nvar getObject = (key) => JSON.parse(String(localStorage.getItem(key)));\n\n// src/core.ts\nvar {\n wgPageName: page,\n wgNamespaceNumber: ns,\n wgPageContentModel: contentmodel\n} = mw.config.get();\nvar CONTENTMODELS = {\n wikitext: \"mediawiki\"\n};\nvar EXTS = {\n css: \"css\",\n js: \"javascript\",\n json: \"json\"\n};\nvar NAMESPACES = {\n 828: \"lua\",\n 274: \"html\"\n};\nvar getPageMode = async (value) => {\n let WikiplusPages;\n if (typeof _WikiplusPages === \"object\") {\n WikiplusPages = _WikiplusPages;\n } else if (typeof Pages === \"object\") {\n WikiplusPages = Pages;\n }\n if (WikiplusPages) {\n const pages = Object.values(WikiplusPages).filter(({ sectionCache }) => Object.values(sectionCache).includes(value));\n if (pages.some(({ title }) => !title.endsWith(\"/doc\"))) {\n await mw.loader.using(\"mediawiki.Title\");\n }\n const modes = new Set(pages.map(({ title }) => {\n if (title.endsWith(\"/doc\")) {\n return \"template\";\n }\n const t = new mw.Title(title), namespace = t.getNamespaceId();\n if (namespace % 2) {\n return \"mediawiki\";\n }\n const mode = EXTS[t.getExtension()?.toLowerCase() ?? \"\"] ?? NAMESPACES[namespace];\n switch (mode) {\n case \"javascript\":\n return namespace === 8 || namespace === 2300 ? \"gadget\" : mode;\n case \"css\":\n return namespace === 2 || namespace === 8 || namespace === 2300 ? mode : \"sanitized-css\";\n case void 0:\n return namespace === 10 || namespace === 2 ? \"template\" : \"mediawiki\";\n default:\n return mode;\n }\n }));\n if (modes.size === 1) {\n const [mode] = modes, title = pages.length === 1 ? pages[0].title : void 0;\n if (mode === \"gadget\") {\n return [\"javascript\", 8];\n }\n return mode === \"template\" ? [\"mediawiki\", 10, title] : [mode, void 0, title];\n } else if (modes.size === 2) {\n if (modes.has(\"javascript\") && modes.has(\"gadget\")) {\n return [\"javascript\"];\n } else if (modes.has(\"mediawiki\") && modes.has(\"template\")) {\n return [\"mediawiki\"];\n }\n }\n }\n if (ns !== 274 && contentmodel !== \"Scribunto\" || page.endsWith(\"/doc\")) {\n return [CONTENTMODELS[contentmodel] ?? contentmodel, contentmodel === \"javascript\" ? ns : void 0];\n }\n await mw.loader.using(\"oojs-ui-windows\");\n if (await OO.ui.confirm(mw.msg(\"cm-mw-contentmodel\"), {\n actions: [{ label: ns === 274 ? \"Widget\" : \"Lua\" }, { label: \"Wikitext\", action: \"accept\" }]\n })) {\n return [\"mediawiki\"];\n }\n return [ns === 274 ? \"html\" : \"lua\"];\n};\nvar submit = (\n /** 提交编辑 */\n () => {\n document.getElementById(\"Wikiplus-Quickedit-Submit\").dispatchEvent(new MouseEvent(\"click\"));\n return true;\n }\n);\nvar submitMinor = (\n /** 提交小编辑 */\n () => {\n document.querySelector(\"#Wikiplus-Quickedit-MinorEdit\").checked = true;\n return submit();\n }\n);\nvar escapeEdit = (\n /** 按下Esc键退出编辑 */\n () => {\n const settings = getObject(\"Wikiplus_Settings\"), escToExitQuickEdit = settings && (settings[\"esc_to_exit_quickedit\"] || settings[\"escToExitQuickEdit\"]);\n if (escToExitQuickEdit === true || escToExitQuickEdit === \"true\") {\n document.getElementById(\"Wikiplus-Quickedit-Back\").dispatchEvent(new MouseEvent(\"click\"));\n return true;\n }\n return false;\n }\n);\nvar renderEditor = async (target, setting) => {\n const cm = await CodeMirror6.fromTextArea(\n target,\n ...setting ? [\"json\"] : await getPageMode(target.value)\n );\n (cm.view?.dom ?? cm.editor.getDomNode()).id = \"Wikiplus-CodeMirror\";\n if (!setting) {\n if (cm.editor) {\n cm.editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS, submit);\n cm.editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyMod.Shift | monaco.KeyCode.KeyS, submitMinor);\n cm.editor.addCommand(monaco.KeyCode.Escape, escapeEdit);\n } else {\n cm.extraKeys([\n { key: \"Mod-S\", run: submit },\n { key: \"Shift-Mod-S\", run: submitMinor },\n { key: \"Esc\", run: escapeEdit }\n ]);\n }\n }\n const jump = document.querySelector(\"#Wikiplus-Quickedit-Jump > a\");\n if (jump) {\n jump.href = \"#Wikiplus-CodeMirror\";\n }\n};\n\n// src/main.ts\n(async () => {\n const { libs } = mediaWiki, { wphl } = libs;\n if (!wphl?.version) {\n const version = \"3.2.9\";\n libs.wphl = { version, ...wphl };\n const MW_CDN = `npm/@bhsd/codemirror-mediawiki@${libs.wphl.cmVersion ?? \"latest\"}/dist/wiki.min.js`, REPO_CDN = \"npm/wikiplus-highlight\";\n if (typeof CodeMirror6 !== \"function\") {\n await $.ajax(`${CDN}/${MW_CDN}`, { dataType: \"script\", cache: true });\n }\n const observer = new MutationObserver((records) => {\n const selector = \"#Wikiplus-Quickedit, #Wikiplus-Setting-Input\", [added] = $(records.flatMap(({ addedNodes }) => [...addedNodes])).find(selector);\n if (added) {\n void renderEditor(added, added.id === \"Wikiplus-Setting-Input\");\n }\n const [removed] = $(records.flatMap(({ removedNodes }) => [...removedNodes])).find(selector), cm = CodeMirror6.instances?.get(removed);\n if (typeof cm?.destroy === \"function\") {\n cm.destroy();\n }\n });\n observer.observe(document.body, { childList: true });\n mw.loader.load(`${CDN}/${REPO_CDN}@${version}/styles.min.css`, \"text/css\");\n }\n})();\n/**\n * @name Wikiplus-highlight Wikiplus编辑器的CodeMirror语法高亮扩展\n * @author Bhsd <https://github.com/bhsd-harry>\n * @license GPL-3.0\n */\n"],
5
- "mappings": "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",
6
- "names": ["CDN", "getObject", "key", "page", "ns", "contentmodel", "CONTENTMODELS", "EXTS", "NAMESPACES", "getPageMode", "value", "_a", "WikiplusPages", "pages", "sectionCache", "title", "modes", "_b", "_c", "t", "namespace", "mode", "submit", "submitMinor", "escapeEdit", "settings", "escToExitQuickEdit", "renderEditor", "target", "setting", "cm", "jump", "libs", "wphl", "version", "MW_CDN", "REPO_CDN", "records", "selector", "added", "addedNodes", "removed", "removedNodes"]
4
+ "sourcesContent": ["// ../browser/dist/index.js\nvar CDN = \"https://testingcf.jsdelivr.net\";\nvar getObject = (key) => JSON.parse(String(localStorage.getItem(key)));\n\n// src/core.ts\nvar {\n wgPageName: page,\n wgNamespaceNumber: ns,\n wgPageContentModel: contentmodel\n} = mw.config.get();\nvar CONTENTMODELS = {\n wikitext: \"mediawiki\"\n};\nvar EXTS = {\n css: \"css\",\n js: \"javascript\",\n json: \"json\"\n};\nvar NAMESPACES = {\n 828: \"lua\",\n 274: \"html\"\n};\nvar getPageMode = async (value) => {\n let WikiplusPages;\n if (typeof _WikiplusPages === \"object\") {\n WikiplusPages = _WikiplusPages;\n } else if (typeof Pages === \"object\") {\n WikiplusPages = Pages;\n }\n if (WikiplusPages) {\n const pages = Object.values(WikiplusPages).filter(({ sectionCache }) => Object.values(sectionCache).includes(value));\n if (pages.some(({ title }) => !title.endsWith(\"/doc\"))) {\n await mw.loader.using(\"mediawiki.Title\");\n }\n const modes = new Set(pages.map(({ title }) => {\n if (title.endsWith(\"/doc\")) {\n return \"template\";\n }\n const t = new mw.Title(title), namespace = t.getNamespaceId();\n if (namespace % 2) {\n return \"mediawiki\";\n }\n const mode = EXTS[t.getExtension()?.toLowerCase() ?? \"\"] ?? NAMESPACES[namespace];\n switch (mode) {\n case \"javascript\":\n return namespace === 8 || namespace === 2300 ? \"gadget\" : mode;\n case \"css\":\n return namespace === 2 || namespace === 8 || namespace === 2300 ? mode : \"sanitized-css\";\n case void 0:\n return namespace === 10 || namespace === 2 ? \"template\" : \"mediawiki\";\n default:\n return mode;\n }\n }));\n if (modes.size === 1) {\n const [mode] = modes, title = pages.length === 1 ? pages[0].title : void 0;\n if (mode === \"gadget\") {\n return [\"javascript\", 8];\n }\n return mode === \"template\" ? [\"mediawiki\", 10, title] : [mode, void 0, title];\n } else if (modes.size === 2) {\n if (modes.has(\"javascript\") && modes.has(\"gadget\")) {\n return [\"javascript\"];\n } else if (modes.has(\"mediawiki\") && modes.has(\"template\")) {\n return [\"mediawiki\"];\n }\n }\n }\n if (ns !== 274 && contentmodel !== \"Scribunto\" || page.endsWith(\"/doc\")) {\n return [CONTENTMODELS[contentmodel] ?? contentmodel, contentmodel === \"javascript\" ? ns : void 0];\n }\n await mw.loader.using(\"oojs-ui-windows\");\n if (await OO.ui.confirm(mw.msg(\"cm-mw-contentmodel\"), {\n actions: [{ label: ns === 274 ? \"Widget\" : \"Lua\" }, { label: \"Wikitext\", action: \"accept\" }]\n })) {\n return [\"mediawiki\"];\n }\n return [ns === 274 ? \"html\" : \"lua\"];\n};\nvar submit = (\n /** 提交编辑 */\n () => {\n document.getElementById(\"Wikiplus-Quickedit-Submit\").dispatchEvent(new MouseEvent(\"click\"));\n return true;\n }\n);\nvar submitMinor = (\n /** 提交小编辑 */\n () => {\n document.querySelector(\"#Wikiplus-Quickedit-MinorEdit\").checked = true;\n return submit();\n }\n);\nvar escapeEdit = (\n /** 按下Esc键退出编辑 */\n () => {\n const settings = getObject(\"Wikiplus_Settings\"), escToExitQuickEdit = settings && (settings[\"esc_to_exit_quickedit\"] || settings[\"escToExitQuickEdit\"]);\n if (escToExitQuickEdit === true || escToExitQuickEdit === \"true\") {\n document.getElementById(\"Wikiplus-Quickedit-Back\").dispatchEvent(new MouseEvent(\"click\"));\n return true;\n }\n return false;\n }\n);\nvar renderEditor = async (target, setting) => {\n const cm = await CodeMirror6.fromTextArea(\n target,\n ...setting ? [\"json\"] : await getPageMode(target.value)\n );\n (cm.view?.dom ?? cm.editor.getDomNode()).id = \"Wikiplus-CodeMirror\";\n if (!setting) {\n if (cm.editor) {\n cm.editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS, submit);\n cm.editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyMod.Shift | monaco.KeyCode.KeyS, submitMinor);\n cm.editor.addCommand(monaco.KeyCode.Escape, escapeEdit);\n } else {\n cm.extraKeys([\n { key: \"Mod-S\", run: submit },\n { key: \"Shift-Mod-S\", run: submitMinor },\n { key: \"Esc\", run: escapeEdit }\n ]);\n }\n }\n const jump = document.querySelector(\"#Wikiplus-Quickedit-Jump > a\");\n if (jump) {\n jump.href = \"#Wikiplus-CodeMirror\";\n }\n};\n\n// src/main.ts\n(async () => {\n if (!mw.config.get(\"wgIsArticle\") || mw.config.get(\"wgAction\") !== \"view\") {\n return;\n }\n const { libs } = mediaWiki, { wphl } = libs;\n if (!wphl?.version) {\n const version = \"3.2.11\";\n libs.wphl = { version, ...wphl };\n const MW_CDN = `npm/@bhsd/codemirror-mediawiki@${libs.wphl.cmVersion ?? \"latest\"}/dist/wiki.min.js`;\n if (typeof CodeMirror6 !== \"function\") {\n await $.ajax(`${CDN}/${MW_CDN}`, { dataType: \"script\", cache: true });\n }\n const observer = new MutationObserver((records) => {\n const selector = \"#Wikiplus-Quickedit, #Wikiplus-Setting-Input\", [added] = $(records.flatMap(({ addedNodes }) => [...addedNodes])).find(selector);\n if (added) {\n void renderEditor(added, added.id === \"Wikiplus-Setting-Input\");\n }\n const [removed] = $(records.flatMap(({ removedNodes }) => [...removedNodes])).find(selector), cm = CodeMirror6.instances?.get(removed);\n if (typeof cm?.destroy === \"function\") {\n cm.destroy();\n }\n });\n observer.observe(document.body, { childList: true });\n mw.loader.addStyleTag(\"#Wikiplus-CodeMirror{border:1px solid #c8ccd1;clear:both}div.Wikiplus-InterBox{z-index:100}\");\n }\n})();\n/**\n * @name Wikiplus-highlight Wikiplus编辑器的CodeMirror语法高亮扩展\n * @author Bhsd <https://github.com/bhsd-harry>\n * @license GPL-3.0\n */\n"],
5
+ "mappings": "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",
6
+ "names": ["CDN", "getObject", "key", "page", "ns", "contentmodel", "CONTENTMODELS", "EXTS", "NAMESPACES", "getPageMode", "value", "_a", "WikiplusPages", "pages", "sectionCache", "title", "modes", "_b", "_c", "t", "namespace", "mode", "submit", "submitMinor", "escapeEdit", "settings", "escToExitQuickEdit", "renderEditor", "target", "setting", "cm", "jump", "libs", "wphl", "version", "MW_CDN", "records", "selector", "added", "addedNodes", "removed", "removedNodes"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wikiplus-highlight",
3
- "version": "3.2.9",
3
+ "version": "3.2.11",
4
4
  "description": "A plugin for the MediaWiki front-end add-on \"Wikiplus\"",
5
5
  "keywords": [
6
6
  "mediawiki",
@@ -14,11 +14,9 @@
14
14
  "license": "GPL-3.0",
15
15
  "author": "Bhsd",
16
16
  "files": [
17
- "/dist/",
18
- "/*.css"
17
+ "/dist/main.min.js*"
19
18
  ],
20
19
  "browser": "/dist/main.min.js",
21
- "style": "styles.css",
22
20
  "repository": {
23
21
  "type": "git",
24
22
  "url": "git+https://github.com/bhsd-harry/Wikiplus-highlight.git"
@@ -28,13 +26,14 @@
28
26
  "lint:ts": "tsc --noEmit && eslint --cache .",
29
27
  "lint:css": "stylelint *.css",
30
28
  "lint": "npm run lint:ts && npm run lint:css",
31
- "bundle": "esbuild ./src/main.ts --charset=utf8 --bundle --format=esm --outfile=build/main.js",
29
+ "bundle": "npm run build:css && node bundle.cjs",
30
+ "build:css": "esbuild styles.css --minify --outfile=dist/styles.css",
32
31
  "build": "npm run bundle && esbuild ./build/main.js --charset=utf8 --minify --target=es2019 --format=iife --sourcemap --outfile=dist/main.min.js && eslint --no-eslintrc -c .eslintrc.dist.cjs dist/*.js"
33
32
  },
34
33
  "devDependencies": {
35
34
  "@bhsd/browser": "^0.0.1",
36
- "@bhsd/code-standard": "^1.0.1",
37
- "@bhsd/codemirror-mediawiki": "^3.1.0",
35
+ "@bhsd/code-standard": "^1.2.0",
36
+ "@bhsd/codemirror-mediawiki": "^3.6.0",
38
37
  "@stylistic/eslint-plugin": "^3.1.0",
39
38
  "@stylistic/stylelint-plugin": "^4.0.0",
40
39
  "@types/jquery": "^3.5.32",
@@ -42,19 +41,20 @@
42
41
  "@types/oojs-ui": "^0.49.4",
43
42
  "@typescript-eslint/eslint-plugin": "^8.35.1",
44
43
  "@typescript-eslint/parser": "^8.35.1",
45
- "esbuild": "^0.25.5",
44
+ "esbuild": "^0.25.10",
46
45
  "eslint": "^8.57.1",
47
46
  "eslint-plugin-es-x": "^8.7.0",
48
47
  "eslint-plugin-eslint-comments": "^3.2.0",
49
- "eslint-plugin-jsdoc": "^52.0.2",
48
+ "eslint-plugin-jsdoc": "^54.1.1",
50
49
  "eslint-plugin-json-es": "^1.6.0",
51
50
  "eslint-plugin-promise": "^7.2.1",
52
51
  "eslint-plugin-regexp": "^2.9.0",
53
52
  "eslint-plugin-unicorn": "^56.0.1",
54
- "monaco-editor": "^0.52.2",
55
- "stylelint": "^16.23.1",
53
+ "monaco-editor": "^0.53.0",
54
+ "stylelint": "^16.25.0",
56
55
  "stylelint-config-recommended": "^17.0.0",
57
- "types-mediawiki": "^1.10.1",
56
+ "stylelint-plugin-use-baseline": "^1.0.0",
57
+ "types-mediawiki": "^2.0.0",
58
58
  "typescript": "^5.8.2"
59
59
  }
60
60
  }
package/styles.css DELETED
@@ -1,7 +0,0 @@
1
- #Wikiplus-CodeMirror {
2
- border: 1px solid #c8ccd1;
3
- clear: both;
4
- }
5
- div.Wikiplus-InterBox {
6
- z-index: 100;
7
- }