wikiplus-highlight 2.60.1 → 3.0.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.
- package/README.md +18 -47
- package/dist/main.js +85 -0
- package/package.json +25 -15
- package/styles.css +0 -138
- package/dist/main.min.js +0 -8
- package/dist/main.min.js.map +0 -1
- package/fold.js +0 -264
- package/i18n/en.json +0 -35
- package/i18n/ka.json +0 -35
- package/i18n/zh-hans.json +0 -35
- package/i18n/zh-hant.json +0 -35
- package/lint.js +0 -200
- package/main.js +0 -1006
- package/matchtags.js +0 -324
- package/search.js +0 -258
package/README.md
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# Wikiplus-highlight
|
|
2
|
+
|
|
2
3
|
[](https://www.npmjs.com/package/wikiplus-highlight)
|
|
3
4
|
[](https://github.com/bhsd-harry/Wikiplus-highlight/actions/workflows/github-code-scanning/codeql)
|
|
4
5
|
|
|
@@ -11,13 +12,13 @@
|
|
|
11
12
|
在*个人 JS 页*添加以下代码:
|
|
12
13
|
|
|
13
14
|
```javascript
|
|
14
|
-
mw.loader.load('//cdn.jsdelivr.net/npm/wikiplus-highlight@
|
|
15
|
+
mw.loader.load('//cdn.jsdelivr.net/npm/wikiplus-highlight@3.0.0');
|
|
15
16
|
```
|
|
16
17
|
|
|
17
18
|
或
|
|
18
19
|
|
|
19
20
|
```javascript
|
|
20
|
-
mw.loader.load('//unpkg.com/wikiplus-highlight@
|
|
21
|
+
mw.loader.load('//unpkg.com/wikiplus-highlight@3.0.0/dist/main.js');
|
|
21
22
|
```
|
|
22
23
|
|
|
23
24
|
### 稳定版本
|
|
@@ -31,45 +32,26 @@ mw.loader.load('//cdn.jsdelivr.net/npm/wikiplus-highlight');
|
|
|
31
32
|
或
|
|
32
33
|
|
|
33
34
|
```javascript
|
|
34
|
-
mw.loader.load('//unpkg.com/wikiplus-highlight/dist/main.
|
|
35
|
+
mw.loader.load('//unpkg.com/wikiplus-highlight/dist/main.js');
|
|
35
36
|
```
|
|
36
37
|
|
|
37
38
|
由于 CDN 的缓存机制,稳定版本的更新大约会滞后一周。
|
|
38
39
|
|
|
39
40
|
## 更多插件
|
|
40
41
|
|
|
41
|
-
使用 *[Vector](https://www.mediawiki.org/wiki/Skin:Vector)* 皮肤或 MediaWiki 1.35 及以上的 *[Minerva Neue](https://www.mediawiki.org/wiki/Skin:Minerva_Neue)* 皮肤时,在右上角的【更多】菜单将添加一个【
|
|
42
|
-
|
|
43
|
-
### 搜索
|
|
44
|
-
|
|
45
|
-
这个插件会向 Wikiplus 编辑区添加一个【搜索】按钮和一个【全文替换】按钮及以下快捷键:
|
|
46
|
-
|
|
47
|
-
- `Ctrl`/`Cmd` + `F`: 打开搜索框
|
|
48
|
-
- `Ctrl`/`Cmd` + `G`: 搜索下一处
|
|
49
|
-
- `Shift` + `Ctrl`/`Cmd` + `G`: 搜索上一处
|
|
50
|
-
- `Ctrl`/`Cmd` + `H`: 打开搜索框: 打开全文替换
|
|
51
|
-
- `Shift` + `Ctrl`/`Cmd` + `H`: 替换上一处
|
|
52
|
-
- `Ctrl`/`Cmd` + `Alt` + `Enter`: 开始全文替换
|
|
53
|
-
|
|
54
|
-
除了使用以上快捷键,也可以通过在搜索框中按下 `Enter` 键或点击搜索框右侧的 `▼` 按钮来执行搜索下一处的命令,点击 `▲` 按钮将执行搜索上一处的命令;在全文替换文本框中按下 `Enter` 键将执行全文替换命令,点击全文替换右侧的 `▼` 按钮执行替换下一处的命令,点击 `▲` 按钮将执行替换上一处的命令。搜索可以使用字符串,也可以使用形如 `/re/` 或 `/re/i` 的正则表达式。正则表达式仅接受可选的 `i` 修饰符,并默认添加 `m` 修饰符,暂不接受其他修饰符。 **注意:使用先行或后行断言时可能无法逐处替换。** 使用全文中匹配的字符都会添加淡粉色背景。如果没有匹配的结果,搜索框会添加粉色背景。
|
|
42
|
+
使用 *[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)*)会在类似性质的菜单中插入这一选项。修改插件设置后将立刻生效。
|
|
55
43
|
|
|
56
44
|
### 高亮当前行
|
|
57
45
|
|
|
58
|
-
|
|
46
|
+
使用这一插件时,光标所在行将添加浅蓝色背景。
|
|
59
47
|
|
|
60
48
|
### 尾随空格
|
|
61
49
|
|
|
62
|
-
|
|
50
|
+
使用这一插件时,每一行的尾随空格将添加浅红色背景。
|
|
63
51
|
|
|
64
52
|
### 匹配括号
|
|
65
53
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
```wikitext
|
|
69
|
-
<!--[-->]
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
CodeMirror 扩展会错误地匹配 `<!-- -->` 注释内外的括号,而这个插件不会。匹配的括号对会添加绿色边框,未匹配的单个括号会添加黄色边框。
|
|
54
|
+
匹配的括号对会添加绿色边框,未匹配的单个括号会添加黄色边框。
|
|
73
55
|
|
|
74
56
|
### 自动闭合括号和引号
|
|
75
57
|
|
|
@@ -81,42 +63,31 @@ MediaWiki 模式下自动闭合生效的字符包括 `(`、`[`、`{` 和 `"`,
|
|
|
81
63
|
|
|
82
64
|
### 代码折叠
|
|
83
65
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
### 添加 WikiEditor 工具条
|
|
87
|
-
|
|
88
|
-
工具条具备的功能遵从当前网站安装的 [WikiEditor](https://www.mediawiki.org/wiki/Extension:WikiEditor) 扩展的版本。
|
|
66
|
+
光标移动至模板内部时会在该行代码上方出现一个淡黄色背景的 `-` 标记,点击即可折叠模板参数。折叠后使用一个带有虚线边框的 `⋯` 标记占位,点击该标记将重新展开折叠的代码部分。
|
|
89
67
|
|
|
90
68
|
### HTML/URL编码快捷键
|
|
91
69
|
|
|
92
70
|
添加以下快捷键:
|
|
93
71
|
|
|
94
|
-
- `Ctrl`/`Cmd` +
|
|
95
|
-
- `Ctrl`/`Cmd` +
|
|
72
|
+
- `Ctrl`/`Cmd` + `[`: 将选中的文字转换为HTML实体
|
|
73
|
+
- `Ctrl`/`Cmd` + `]`: 将选中的文字解码或转换为URL编码
|
|
96
74
|
|
|
97
|
-
###
|
|
75
|
+
### 快速打开内部链接
|
|
98
76
|
|
|
99
|
-
|
|
77
|
+
右键点击被高亮标记为内部链接或模板标题时,会在新标签页打开对应页面。
|
|
100
78
|
|
|
101
79
|
### 维基语法检查
|
|
102
80
|
|
|
103
|
-
这个功能基于 [wikiparser-node](https://github.com/bhsd-harry/wikiparser-node)
|
|
104
|
-
|
|
105
|
-
- `Ctrl`/`Cmd` + `L`: 随时开启或关闭错误提示
|
|
106
|
-
- `Ctrl`/`Cmd` + `K`: 立即刷新语法错误
|
|
81
|
+
这个功能基于 [wikiparser-node](https://github.com/bhsd-harry/wikiparser-node)。开启后将在编辑框内提示可能存在的维基语法错误。
|
|
107
82
|
|
|
108
83
|
### 调整缩进
|
|
109
84
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
### 用于其他编辑器
|
|
113
|
-
|
|
114
|
-
勾选这一选项时,除[【搜索】](#搜索)和[【添加 WikiEditor 工具条】](#添加-wikieditor-工具条)插件以外的当前正在使用的插件也将作用于其他开启了 CodeMirror 高亮的编辑器。目前支持的编辑器包括 [InPageEdit-v2](https://github.com/inpageedit/inpageedit-v2) 和 [Inspector](https://zh.moegirl.org.cn/User:Bhsd/Inspector),不包括 MediaWiki 默认的编辑器。
|
|
85
|
+
这是一个设置选项。默认设置下使用 Tab 进行缩进。
|
|
115
86
|
|
|
116
87
|
## Supported languages
|
|
117
88
|
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
- 中文(繁體)
|
|
89
|
+
- English (en)
|
|
90
|
+
- 中文(简体) (zh-hans)
|
|
91
|
+
- 中文(繁體) (zh-hant)
|
|
121
92
|
|
|
122
93
|
[GNU General Public License 3.0](https://www.gnu.org/licenses/gpl-3.0-standalone.html)
|
package/dist/main.js
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @name Wikiplus-highlight Wikiplus编辑器的CodeMirror语法高亮扩展
|
|
4
|
+
* @author Bhsd <https://github.com/bhsd-harry>
|
|
5
|
+
* @license GPL-3.0
|
|
6
|
+
*/
|
|
7
|
+
(() => {
|
|
8
|
+
if ('wphl' in mw.libs) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const version = '3.0.0';
|
|
12
|
+
mw.libs['wphl'] = { version }; // 开始加载
|
|
13
|
+
// 路径
|
|
14
|
+
const CDN = '//testingcf.jsdelivr.net', MW_CDN = 'npm/@bhsd/codemirror-mediawiki@2.4.2/dist/mw.min.js', REPO_CDN = 'npm/wikiplus-highlight';
|
|
15
|
+
const { wgPageName: page, wgNamespaceNumber: ns, wgPageContentModel: contentmodel, } = mw.config.get();
|
|
16
|
+
const CONTENTMODEL = {
|
|
17
|
+
'sanitized-css': 'css',
|
|
18
|
+
wikitext: 'mediawiki',
|
|
19
|
+
};
|
|
20
|
+
/** 根据需要加载CodeMirror6 */
|
|
21
|
+
const init = () => 'CodeMirror6' in window
|
|
22
|
+
? Promise.resolve()
|
|
23
|
+
: new Promise(resolve => {
|
|
24
|
+
const script = document.createElement('script');
|
|
25
|
+
script.addEventListener('load', () => {
|
|
26
|
+
resolve();
|
|
27
|
+
});
|
|
28
|
+
script.type = 'module';
|
|
29
|
+
script.src = `${CDN}/${MW_CDN}`;
|
|
30
|
+
document.head.appendChild(script);
|
|
31
|
+
});
|
|
32
|
+
/** 检查页面语言类型 */
|
|
33
|
+
const getPageMode = async () => {
|
|
34
|
+
if (ns !== 274 && contentmodel !== 'Scribunto' || page.endsWith('/doc')) {
|
|
35
|
+
return CONTENTMODEL[contentmodel] || contentmodel;
|
|
36
|
+
}
|
|
37
|
+
await mw.loader.using('oojs-ui-windows');
|
|
38
|
+
if (await OO.ui.confirm(mw.msg('cm-mw-contentmodel'), {
|
|
39
|
+
actions: [{ label: ns === 274 ? 'Widget' : 'Lua' }, { label: 'Wikitext', action: 'accept' }],
|
|
40
|
+
})) {
|
|
41
|
+
return 'mediawiki';
|
|
42
|
+
}
|
|
43
|
+
return ns === 274 ? 'html' : 'lua';
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* 渲染编辑器
|
|
47
|
+
* @param $target 目标编辑框
|
|
48
|
+
* @param setting 是否是Wikiplus设置(使用json语法)
|
|
49
|
+
*/
|
|
50
|
+
const renderEditor = async ($target, setting) => {
|
|
51
|
+
await init();
|
|
52
|
+
const cm = await CodeMirror6.fromTextArea($target[0], setting ? 'json' : await getPageMode());
|
|
53
|
+
cm.view.dom.id = 'Wikiplus-CodeMirror';
|
|
54
|
+
document.querySelector('#Wikiplus-Quickedit-Jump > a').href = '#Wikiplus-CodeMirror';
|
|
55
|
+
if (!setting) { // 普通Wikiplus编辑区
|
|
56
|
+
const settings = JSON.parse(String(localStorage.getItem('Wikiplus_Settings'))), escToExitQuickEdit = settings && (settings['esc_to_exit_quickedit'] || settings['escToExitQuickEdit']), submit = /** 提交编辑 */ () => {
|
|
57
|
+
document.getElementById('Wikiplus-Quickedit-Submit').dispatchEvent(new MouseEvent('click'));
|
|
58
|
+
return true;
|
|
59
|
+
}, submitMinor = /** 提交小编辑 */ () => {
|
|
60
|
+
document.querySelector('#Wikiplus-Quickedit-MinorEdit').checked = true;
|
|
61
|
+
return submit();
|
|
62
|
+
}, escapeEdit = /** 按下Esc键退出编辑 */ () => {
|
|
63
|
+
document.getElementById('Wikiplus-Quickedit-Back').dispatchEvent(new MouseEvent('click'));
|
|
64
|
+
return true;
|
|
65
|
+
};
|
|
66
|
+
cm.extraKeys([
|
|
67
|
+
{ key: 'Mod-S', run: submit },
|
|
68
|
+
{ key: 'Shift-Mod-S', run: submitMinor },
|
|
69
|
+
...escToExitQuickEdit === true || escToExitQuickEdit === 'true'
|
|
70
|
+
? [{ key: 'Esc', run: escapeEdit }]
|
|
71
|
+
: [],
|
|
72
|
+
]);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
// 监视 Wikiplus 编辑框
|
|
76
|
+
const observer = new MutationObserver(records => {
|
|
77
|
+
const $editArea = $(records.flatMap(({ addedNodes }) => [...addedNodes]))
|
|
78
|
+
.find('#Wikiplus-Quickedit, #Wikiplus-Setting-Input');
|
|
79
|
+
if ($editArea.length > 0) {
|
|
80
|
+
void renderEditor($editArea, $editArea.attr('id') === 'Wikiplus-Setting-Input');
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
observer.observe(document.body, { childList: true });
|
|
84
|
+
mw.loader.load(`${CDN}/${REPO_CDN}@${version}/styles.min.css`, 'text/css');
|
|
85
|
+
})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wikiplus-highlight",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "A plugin for the MediaWiki front-end add-on \"Wikiplus\"",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mediawiki",
|
|
@@ -15,28 +15,38 @@
|
|
|
15
15
|
"author": "Bhsd",
|
|
16
16
|
"files": [
|
|
17
17
|
"/dist/",
|
|
18
|
-
"/i18n/",
|
|
19
|
-
"/*.js",
|
|
20
18
|
"/*.css"
|
|
21
19
|
],
|
|
22
|
-
"browser": "/main.js",
|
|
20
|
+
"browser": "/dist/main.js",
|
|
23
21
|
"repository": {
|
|
24
22
|
"type": "git",
|
|
25
23
|
"url": "git+https://github.com/bhsd-harry/Wikiplus-highlight.git"
|
|
26
24
|
},
|
|
27
25
|
"scripts": {
|
|
28
|
-
"
|
|
26
|
+
"lint:ts": "tsc --noEmit && eslint --cache .",
|
|
27
|
+
"lint:css": "stylelint *.css",
|
|
28
|
+
"lint": "npm run lint:ts && npm run lint:css",
|
|
29
|
+
"build": "tsc"
|
|
29
30
|
},
|
|
30
31
|
"devDependencies": {
|
|
31
|
-
"
|
|
32
|
-
"eslint-plugin
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"eslint-plugin
|
|
32
|
+
"@bhsd/codemirror-mediawiki": "^2.4.2",
|
|
33
|
+
"@stylistic/eslint-plugin": "^1.5.4",
|
|
34
|
+
"@stylistic/stylelint-plugin": "^2.0.0",
|
|
35
|
+
"@types/jquery": "^3.5.29",
|
|
36
|
+
"@types/oojs-ui": "^0.47.6",
|
|
37
|
+
"@typescript-eslint/eslint-plugin": "^6.19.1",
|
|
38
|
+
"@typescript-eslint/parser": "^6.19.1",
|
|
39
|
+
"eslint": "^8.56.0",
|
|
40
|
+
"eslint-plugin-es-x": "^7.5.0",
|
|
37
41
|
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
42
|
+
"eslint-plugin-jsdoc": "^48.0.2",
|
|
43
|
+
"eslint-plugin-json-es": "^1.5.7",
|
|
44
|
+
"eslint-plugin-promise": "^6.1.1",
|
|
45
|
+
"eslint-plugin-regexp": "^2.2.0",
|
|
46
|
+
"eslint-plugin-unicorn": "^50.0.1",
|
|
47
|
+
"stylelint": "^16.1.0",
|
|
48
|
+
"stylelint-config-recommended": "^14.0.0",
|
|
49
|
+
"types-mediawiki": "^1.4.0",
|
|
50
|
+
"typescript": "^5.3.3"
|
|
41
51
|
}
|
|
42
|
-
}
|
|
52
|
+
}
|
package/styles.css
CHANGED
|
@@ -1,145 +1,7 @@
|
|
|
1
1
|
#Wikiplus-CodeMirror {
|
|
2
2
|
border: 1px solid #c8ccd1;
|
|
3
|
-
line-height: 1.3;
|
|
4
3
|
clear: both;
|
|
5
|
-
/* fix mobile select */
|
|
6
|
-
-webkit-user-select: auto;
|
|
7
|
-
user-select: auto;
|
|
8
|
-
}
|
|
9
|
-
#Wikiplus-CodeMirror .CodeMirror-gutter-wrapper {
|
|
10
|
-
/* fix iOS select-all */
|
|
11
|
-
-webkit-user-select: none;
|
|
12
|
-
user-select: none;
|
|
13
4
|
}
|
|
14
5
|
div.Wikiplus-InterBox {
|
|
15
|
-
font-size: 14px;
|
|
16
6
|
z-index: 100;
|
|
17
7
|
}
|
|
18
|
-
.skin-minerva .Wikiplus-InterBox {
|
|
19
|
-
font-size: 16px;
|
|
20
|
-
}
|
|
21
|
-
.cm-trailingspace {
|
|
22
|
-
text-decoration: underline wavy #f00;
|
|
23
|
-
}
|
|
24
|
-
div.CodeMirror span.CodeMirror-matchingbracket {
|
|
25
|
-
box-shadow: 0 0 0 2px #9aef98;
|
|
26
|
-
}
|
|
27
|
-
div.CodeMirror span.CodeMirror-nonmatchingbracket {
|
|
28
|
-
box-shadow: 0 0 0 2px #eace64;
|
|
29
|
-
}
|
|
30
|
-
#Wikiplus-highlight-dialog .oo-ui-messageDialog-title {
|
|
31
|
-
margin-bottom: .28571429em; /* stylelint-disable-line number-max-precision */
|
|
32
|
-
}
|
|
33
|
-
#Wikiplus-highlight-dialog .oo-ui-flaggedElement-notice {
|
|
34
|
-
font-weight: normal;
|
|
35
|
-
margin: 0;
|
|
36
|
-
}
|
|
37
|
-
.CodeMirror-contextmenu .cm-mw-template-name {
|
|
38
|
-
cursor: pointer;
|
|
39
|
-
}
|
|
40
|
-
.skin-moeskin #ca-more-actions li > a {
|
|
41
|
-
display: inline-block;
|
|
42
|
-
padding: .4rem .8rem;
|
|
43
|
-
line-height: 1.5;
|
|
44
|
-
}
|
|
45
|
-
.skin-moeskin .oo-ui-windowManager-modal > .oo-ui-dialog {
|
|
46
|
-
z-index: 101;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/* search.js */
|
|
50
|
-
.Wikiplus-Btn {
|
|
51
|
-
line-height: 1.4;
|
|
52
|
-
}
|
|
53
|
-
.Wikiplus-Quickedit-Search-Div {
|
|
54
|
-
margin: 7px 0 5px;
|
|
55
|
-
}
|
|
56
|
-
.Wikiplus-Symbol-Btn {
|
|
57
|
-
font-size: 20px;
|
|
58
|
-
margin: 7px;
|
|
59
|
-
vertical-align: middle;
|
|
60
|
-
cursor: pointer;
|
|
61
|
-
}
|
|
62
|
-
.Wikiplus-Quickedit-Search {
|
|
63
|
-
width: 50%;
|
|
64
|
-
padding: revert;
|
|
65
|
-
border: revert;
|
|
66
|
-
background: revert;
|
|
67
|
-
vertical-align: middle;
|
|
68
|
-
font: inherit;
|
|
69
|
-
box-sizing: border-box;
|
|
70
|
-
}
|
|
71
|
-
textarea.Wikiplus-Quickedit-Search {
|
|
72
|
-
display: inline;
|
|
73
|
-
resize: none;
|
|
74
|
-
}
|
|
75
|
-
.cm-search {
|
|
76
|
-
background-color: rgba(255, 192, 203, .51);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/* matchtags.js */
|
|
80
|
-
.cm-matchingtag {
|
|
81
|
-
background-color: #c9ffc8;
|
|
82
|
-
}
|
|
83
|
-
.cm-nonmatchingtag {
|
|
84
|
-
background-color: #fff0a8;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/* fold.js */
|
|
88
|
-
.CodeMirror-sizer {
|
|
89
|
-
overflow: visible;
|
|
90
|
-
}
|
|
91
|
-
.CodeMirror-tooltip {
|
|
92
|
-
position: absolute;
|
|
93
|
-
z-index: 101;
|
|
94
|
-
cursor: pointer;
|
|
95
|
-
background-color: #ffd;
|
|
96
|
-
border: 1px solid;
|
|
97
|
-
padding: 0 1px;
|
|
98
|
-
font-size: 10pt;
|
|
99
|
-
line-height: 1.2;
|
|
100
|
-
}
|
|
101
|
-
.CodeMirror-widget-unfold {
|
|
102
|
-
cursor: pointer;
|
|
103
|
-
border: 1px dotted;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/* lint.js */
|
|
107
|
-
.CodeMirror-line span.CodeMirror-lint-mark-warning {
|
|
108
|
-
background: #ffbf00;
|
|
109
|
-
color: #fff;
|
|
110
|
-
caret-color: #000;
|
|
111
|
-
}
|
|
112
|
-
.CodeMirror-line span.CodeMirror-lint-mark-error {
|
|
113
|
-
background: #d33;
|
|
114
|
-
color: #fff;
|
|
115
|
-
}
|
|
116
|
-
.CodeMirror-lint-scroll-warn {
|
|
117
|
-
background: #fc3;
|
|
118
|
-
border-top: 1px solid #fc3;
|
|
119
|
-
border-bottom: 1px solid #fc3;
|
|
120
|
-
box-sizing: border-box;
|
|
121
|
-
}
|
|
122
|
-
.CodeMirror-lint-scroll-error {
|
|
123
|
-
background: #d33;
|
|
124
|
-
border-top: 1px solid #d33;
|
|
125
|
-
border-bottom: 1px solid #d33;
|
|
126
|
-
box-sizing: border-box;
|
|
127
|
-
}
|
|
128
|
-
#wphl-lint-panel {
|
|
129
|
-
background: #f7f7f7;
|
|
130
|
-
border: 1px solid #c8ccd1;
|
|
131
|
-
}
|
|
132
|
-
.wphl-lint-subpanel {
|
|
133
|
-
margin-left: 1ch;
|
|
134
|
-
cursor: pointer;
|
|
135
|
-
}
|
|
136
|
-
.wphl-lint-count {
|
|
137
|
-
display: inline-block;
|
|
138
|
-
width: 5ch;
|
|
139
|
-
padding: 1px 0 1px 1ch;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/* markSelection.js */
|
|
143
|
-
.CodeMirror-line span.CodeMirror-selectedtext {
|
|
144
|
-
background: #d7d4f0;
|
|
145
|
-
}
|
package/dist/main.min.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @name Wikiplus-highlight Wikiplus编辑器的CodeMirror语法高亮扩展
|
|
3
|
-
* @author Bhsd <https://github.com/bhsd-harry>
|
|
4
|
-
* @author 机智的小鱼君 <https://github.com/Dragon-Fish>
|
|
5
|
-
* @license GPL-3.0
|
|
6
|
-
*/
|
|
7
|
-
(async()=>{"use strict";if(mw.libs.wphl&&mw.libs.wphl.version)return;mw.libs.wphl=mw.libs.wphl||{};const i="2.60.1",c="object"==typeof mw.storage&&"function"==typeof mw.storage.getObject?mw.storage:{getObject(e){var i=localStorage.getItem(e);if(!1===i)return!1;try{return JSON.parse(i)}catch(e){return null}},setObject(e,i){try{return localStorage.setItem(e,JSON.stringify(i))}catch(e){return!1}}},s=(Object.fromEntries=Object.fromEntries||(e=>{const i={};for(var[t,a]of e)i[t]=a;return i}),(e=i)=>e.split(".").map(Number));const m=(e,...i)=>mw.msg("wphl-"+e,...i),n=(...e)=>$($.parseHTML(m(...e)));var e=(...i)=>()=>{var e=$("<p>",{html:m(...i)});return mw.notify(e,{type:"success",autoHideSeconds:"long",tag:"wikiplus-highlight"}),e},t=s().slice(0,2).join(".");const p="//fastly.jsdelivr.net",u="npm/codemirror@5.65.3",z="npm/@bhsd/codemirror-mediawiki@1.1.11",a="npm/wikiparser-node@1.0.2-b",o="npm/wikiplus-highlight@"+t,{wgPageName:D,wgNamespaceNumber:g,wgPageContentModel:N,wgServerName:U,wgScriptPath:H,wgUserLanguage:F,skin:r}=mw["config"]["values"],h=null!==mw.loader.getState("ext.CodeMirror"),Q=mw.loader.getState("ext.CodeMirror.data")?"ext.CodeMirror.data":"ext.CodeMirror",l=c.getObject("InPageEditMwConfig")||{},V=""+U+H,k=l[V]||{},f=!(k.time>Date.now()-2592e6),B={css:"css","sanitized-css":"css",javascript:"javascript",json:"javascript",wikitext:"mediawiki"},d=h?{lib:"ext.CodeMirror.lib",css:"ext.CodeMirror.lib.mode.css",javascript:"ext.CodeMirror.lib.mode.javascript",lua:u+"/mode/lua/lua.min.js",mediawiki:f?Q:[],htmlmixed:"ext.CodeMirror.lib.mode.htmlmixed",xml:[]}:{lib:u+"/lib/codemirror.min.js",css:u+"/mode/css/css.min.js",javascript:u+"/mode/javascript/javascript.min.js",lua:u+"/mode/lua/lua.min.js",mediawiki:[],htmlmixed:u+"/mode/htmlmixed/htmlmixed.min.js",xml:u+"/mode/xml/xml.min.js"},w={searchcursor:u+"/addon/search/searchcursor.min.js",search:o+"/search.min.js",markSelection:u+"/addon/selection/mark-selection.min.js",activeLine:u+"/addon/selection/active-line.min.js",trailingspace:u+"/addon/edit/trailingspace.min.js",matchBrackets:u+"/addon/edit/matchbrackets.min.js",closeBrackets:u+"/addon/edit/closebrackets.min.js",matchTags:o+"/matchtags.min.js",fold:o+"/fold.min.js",wikiEditor:"ext.wikiEditor",contextmenu:"mediawiki.Title",lint:u+"/addon/lint/lint.min.js",annotateScrollbar:u+"/addon/scroll/annotatescrollbar.min.js",parser:a+"/extensions/dist/base.min.js",linter:a+"/extensions/dist/lint.min.js",lintWikitext:o+"/lint.min.js"},b=[{option:"styleSelectedText",addon:"search",download:"markSelection",only:!0,complex:()=>!x.has("wikiEditor")},{option:"styleActiveLine",addon:"activeLine"},{option:"showTrailingSpace",addon:"trailingspace"},{option:"matchBrackets",complex:(e,i)=>"mediawiki"!==e&&!i||{bracketRegex:/[{}[\]]/u}},{option:"autoCloseBrackets",addon:"closeBrackets",complex:(e,i)=>"mediawiki"!==e&&!i||'()[]{}""'},{option:"matchTags",addon:["matchTags","fold"],modes:new Set(["mediawiki","widget"])},{option:"fold",modes:new Set(["mediawiki","widget"])}],x=new Set(c.getObject("Wikiplus-highlight-addons")||["search"]);let y=c.getObject("Wikiplus-highlight-indent")||4;const R={'"':"quot","'":"apos","<":"lt",">":"gt","&":"amp"," ":"nbsp"},j=i=>e=>{e.replaceSelections(e.getSelections().map(e=>e.split("\n").map(i).join("\n")),"around")},q=j(e=>[...e].map(e=>{if(e in R)return`&${R[e]};`;const i=e.codePointAt();return i<256?`&#${i};`:`&#x${i.toString(16)};`}).join("")),K=j(e=>{if(e.includes("%"))try{return decodeURIComponent(e)}catch(e){}return encodeURIComponent(e)}),J=j(i=>{try{return decodeURIComponent(i.replace(/\.([\da-f]{2})/giu,"%$1"))}catch(e){return i}}),v=({keyMap:e})=>e.default===e.pcDefault,G=e=>{var i=v(e)?"Ctrl":"Cmd";return{[i+"-/"]:q,[i+"-\\"]:K,[`Shift-${i}-\\`]:J}},C=(g,e)=>{if(("mediawiki"===e||"widget"===e)&&x.has("contextmenu")){const t=$(g.getWrapperElement()).addClass("CodeMirror-contextmenu"),[a]=(mw.config.get("extCodeMirrorConfig")||{functionSynonyms:[{invoke:"invoke","调用":"invoke",widget:"widget","小工具":"widget"}]})["functionSynonyms"];var i=i=>new Set(Object.keys(a).filter(e=>a[e]===i).map(e=>e.startsWith("#")?e:"#"+e));const w=i("invoke"),h=i("widget");t.contextmenu(({pageX:e,pageY:i})=>{const t=g.coordsChar({left:e,top:i}),{line:a,ch:n}=t,o=g.getTokenTypeAt(t);if(/\bmw-(?:template-name|parserfunction)\b/u.test(o)){const c=g.getLineTokens(a);for(let e=c.length-1;0<e;e--){var{type:s,end:r,string:l}=c[e];c[e-1].type===s&&(c[e-1].end=r,c[e-1].string+=l,c.splice(e,1))}const m=c.findIndex(({start:e,end:i})=>e<n&&i>=n),p=c[m].string.replace(/\u200E/gu,"").replace(/_/gu," ").trim();if(/\bmw-template-name\b/u.test(o)){const u=new mw.Title(p);return 0!==u.namespace||p.startsWith(":")?open(u.getUrl(),"_blank"):open(mw.util.getUrl("Template:"+p),"_blank"),!1}if(!(m<2)&&/\bmw-parserfunction-delimiter\b/u.test(c[m-1].type)&&/\bmw-parserfunction-name\b/u.test(c[m-2].type)){var d=c[m-2].string.trim().toLowerCase();if(w.has(d))open(mw.util.getUrl("Module:"+p),"_blank");else{if(!h.has(d))return;open(mw.util.getUrl("Widget:"+p,{action:"edit"}),"_blank")}return!1}}})}},S=c.getObject("Wikiplus-highlight-i18n")||{};let M;S["wphl-version"]?((e,i)=>{var[t,a]=s(e),[n,o]=s(i);return t<n||t===n&&a<o})(S["wphl-version"],i)&&(M=e("welcome-upgrade",i,0)):M=e("welcome");const W={zh:"zh-hans","zh-hans":"zh-hans","zh-cn":"zh-hans","zh-my":"zh-hans","zh-sg":"zh-hans","zh-hant":"zh-hant","zh-tw":"zh-hant","zh-hk":"zh-hant","zh-mo":"zh-hant",ka:"ka"}[F]||"en",X=`${p}/${o}/i18n/${W}.json`,Y=S["wphl-version"]===t;e=async()=>{Y&&S["wphl-lang"]===W||(Object.assign(S,await $.ajax(X,{dataType:"json",cache:!0})),c.setObject("Wikiplus-highlight-i18n",S)),mw.messages.set(S)},t=Promise.all([mw.loader.using("mediawiki.util"),e()]);const Z=e=>0<e.length?mw.loader.using(e):Promise.resolve(),ee=e=>0<e.length?$.ajax(p+"/"+(1<e.length?"combine/":"")+e.join(),{dataType:"script",cache:!0}):Promise.resolve(),ie=async(e,i)=>{var t=e.filter(e=>!e.includes("/")),a=e.filter(e=>e.includes("/"));return!0===i?(await Z(t),ee(a)):!1===i?(await ee(a),Z(t)):Promise.all([Z(t),ee(a)])};let O;const te=(e,i=!1)=>{const t=[];for(var{option:a,addon:n=a,download:o=Array.isArray(n)?a:n,only:s}of b)s&&i||a in e.optionHandlers||!ae(n,x)||t.push(w[o]);return t},ae=(e,i)=>Array.isArray(e)?e.some(e=>i.has(e)):i.has(e),ne=e=>{let i=[];var t,a="function"==typeof window.CodeMirror,n=a?window.CodeMirror:{modes:{},prototype:{},commands:{},optionHandlers:{},helpers:{}};if(a||(i.push(d.lib),h||mw.loader.load(`${p}/${u}/lib/codemirror.min.css`,"text/css")),"mediawiki"!==(e="mediawiki"===e&&k.config&&k.config.tags.html?"html":e)&&"widget"!==e||n.modes.mediawiki||(mw.loader.load(`${p}/${z}/mediawiki.min.css`,"text/css"),i.push(z+"/mediawiki.min.js")),"widget"===e||"html"===e)for(const o of["css","javascript","mediawiki","htmlmixed","xml"])n.modes[o]||(i=i.concat(d[o]));else i=i.concat(d[e]);return n.prototype.getSearchCursor||!x.has("search")||x.has("wikiEditor")||i.push(w.searchcursor),!n.prototype.annotateScrollbar&&"mediawiki"===e&&x.has("lint")&&i.push(w.annotateScrollbar),n.commands.find||!x.has("search")||x.has("wikiEditor")||i.push(w.search),!window.wikiparse&&"mediawiki"===e&&x.has("lint")&&i.push(w.parser,w.linter),!n.optionHandlers.lint&&"mediawiki"===e&&x.has("lint")&&(mw.loader.load(`${p}/${u}/addon/lint/lint.min.css`,"text/css"),i.push(w.lint)),n.helpers.lint&&n.helpers.lint.mediawiki||"mediawiki"!==e||!x.has("lint")||i.push(w.lintWikitext),x.has("wikiEditor")&&((t=mw.loader.getState("ext.wikiEditor"))?"ready"!==t&&i.push(w.wikiEditor):x.delete("wikiEditor")),"ready"!==mw.loader.getState("mediawiki.Title")&&x.has("contextmenu")&&i.push(w.contextmenu),i.push(...te(n)),ie(i,a?void 0:h)},oe=e=>{l[V]={config:e,time:Date.now()},c.setObject("InPageEditMwConfig",l)},E=e=>e.flatMap(({aliases:e,name:i})=>e.map(e=>({alias:e,name:i}))),_=e=>Object.fromEntries(e.map(({alias:e,name:i})=>[e.replace(/:$/u,""),i])),se=e=>{for(const i of["indicator","poem","ref","tabs","tab","poll"])e.tags[i]&&(e.tagModes[i]="text/mediawiki")},re=async(e,i)=>{if("mediawiki"===e||"widget"===e){h&&f&&await i;let e=mw.config.get("extCodeMirrorConfig");e||f||!Y||({config:e}=k,se(e),mw.config.set("extCodeMirrorConfig",e));var t,a,n=e&&Object.values(e.functionSynonyms[0]).includes(!0);if(e&&e.redirect&&e.img&&e.variants&&!n)return e;const{general:{variants:o},magicwords:s,extensiontags:r,functionhooks:l,variables:d}=(await(new mw.Api).get({meta:"siteinfo",siprop:"general|magicwords"+(e&&!n?"":"|extensiontags|functionhooks|variables"),formatversion:2}))["query"],c=new Set(["msg","raw","msgnw","subst","safesubst"]);if(e&&!n){const[m]=e["functionSynonyms"];if(!m.subst)for({alias:t,name:a}of E(s.filter(({name:e})=>c.has(e))))m[t.replace(/:$/u,"")]=a}else{e={tagModes:{pre:"mw-tag-pre",nowiki:"mw-tag-nowiki",ref:"text/mediawiki"},tags:Object.fromEntries(r.map(e=>[e.slice(1,-1),!0])),urlProtocols:mw.config.get("wgUrlProtocols")};const p=new Set([...l,...d,...c]),u=s.filter(({name:e,aliases:i})=>i.some(e=>/^__.+__$/u.test(e))||p.has(e)),g=E(u.filter(e=>e["case-sensitive"])),w=E(u.filter(e=>!e["case-sensitive"])).map(({alias:e,name:i})=>({alias:e.toLowerCase(),name:i}));e.doubleUnderscore=[_(w.filter(({alias:e})=>/^__.+__$/u.test(e))),_(g.filter(({alias:e})=>/^__.+__$/u.test(e)))],e.functionSynonyms=[_(w.filter(({alias:e})=>!/^__.+__|^#$/u.test(e))),_(g.filter(({alias:e})=>!/^__.+__|^#$/u.test(e)))]}return e.redirect=s.find(({name:e})=>"redirect"===e).aliases,e.img=_(E(s.filter(({name:e})=>e.startsWith("img_")))),e.variants=o?o.map(({code:e})=>e):[],se(e),mw.config.set("extCodeMirrorConfig",e),oe(e),e}},le={getContents(){return O.getValue()},setContents(e){return O.setValue(e),this},getSelection(){return O.getSelection()},setSelection(e){return O.setSelection(O.posFromIndex(e.start),"end"in e?O.posFromIndex(e.end):void 0),O.focus(),this},replaceSelection(e){return O.replaceSelection(e),this},getCaretPosition(e){var i=O.indexFromPos(O.getCursor("from")),t=O.indexFromPos(O.getCursor("to"));return e.startAndEnd?[i,t]:i},scrollToCaretPosition(){return O.scrollIntoView(),this}},de=async(e,i)=>{const o=i?"javascript":await(async()=>{if(D.endsWith("/doc"))return"mediawiki";if(274!==g&&828!==g)return B[N];const e=274===g?"Widget":"Lua";return await mw.loader.using(["oojs-ui-windows","oojs-ui.styles.icons-content"]),await OO.ui.confirm(m("contentmodel"),{actions:[{label:e},{label:"Wikitext",action:"accept"}]})?"mediawiki":e.toLowerCase()})(),t=ne(o),[a]=await Promise.all([re(o,t),t]);if(!i&&x.has("wikiEditor"))try{if("function"==typeof mw.addWikiEditor)mw.addWikiEditor(e);else{const{dialogs:{config:l}}=$["wikiEditor"]["modules"];e.wikiEditor("addModule",{...$.wikiEditor.modules.toolbar.config.getDefaultConfig(),...l.getDefaultConfig()}),l.replaceIcons(e)}}catch(e){x.delete("wikiEditor"),mw.notify("WikiEditor工具栏加载失败。",{type:"error"}),console.error(e)}"mediawiki"===o&&a.tags.html?(a.tagModes.html="htmlmixed",await ne("html")):"widget"!==o||CodeMirror.mimeModes.widget||CodeMirror.defineMIME("widget",{name:"htmlmixed",tags:{noinclude:[[null,null,"mediawiki"]]}});var n=e.height();O&&O.toTextArea();const s=i||"json"===N;(O=CodeMirror.fromTextArea(e[0],$.extend({inputStyle:"contenteditable",lineNumbers:!/Android\b/u.test(navigator.userAgent),lineWrapping:!0,mode:o,mwConfig:a,json:s},Object.fromEntries(b.map(({option:e,addon:i=e,modes:t,complex:a=e=>!t||t.has(e)})=>{var n=Array.isArray(i)?i[0]:i;return[e,x.has(n)&&a(o,s)]})),"mediawiki"===o?{extraKeys:x.has("escape")&&G(CodeMirror)}:{indentUnit:x.has("indentWithSpace")?y:4,indentWithTabs:!x.has("indentWithSpace")}))).setSize(null,n),O.getWrapperElement().id="Wikiplus-CodeMirror",$.fn.textSelection&&e.textSelection("register",le);var r,n=v(CodeMirror)?"Ctrl":"Cmd";if(x.has("wikiEditor")){const d=e.data("wikiEditorContext");O.addKeyMap({[n+"-F"](){$.wikiEditor.modules.dialogs.api.openDialog(d,"search-and-replace")}})}C(O,o),$("#Wikiplus-Quickedit-Jump").children("a").attr("href","#Wikiplus-CodeMirror"),i||(r=(r=c.getObject("Wikiplus_Settings"))&&r.esc_to_exit_quickedit||r.escToExitQuickEdit,O.addKeyMap($.extend({[n+"-S"]:()=>{$("#Wikiplus-Quickedit-Submit").triggerHandler("click")},[`Shift-${n}-S`]:()=>{$("#Wikiplus-Quickedit-MinorEdit").click(),$("#Wikiplus-Quickedit-Submit").triggerHandler("click")}},!0===r||"true"===r?{Esc(){$("#Wikiplus-Quickedit-Back").triggerHandler("click")}}:{}))),O.refresh(),mw.hook("wiki-codemirror").fire(O)},ce=document["body"],me=new MutationObserver(e=>{const i=$(e.flatMap(({addedNodes:e})=>[...e])).find("#Wikiplus-Quickedit, #Wikiplus-Setting-Input");0<i.length&&de(i,"Wikiplus-Setting-Input"===i.attr("id"))}),pe=(me.observe(ce,{childList:!0}),$(ce).on("keydown.wphl",".ui-dialog",function(e){if("Escape"===e.key){const i=$(this).children(".ui-dialog-content").data("context");i&&i.$textarea&&"Wikiplus-Quickedit"===i.$textarea.attr("id")&&e.stopPropagation()}}),e=>"Wikiplus-Quickedit"===e.id||"Wikiplus-Setting-Input"===e.id);$.valHooks.textarea={get(e){return pe(e)&&O?O.getValue():e.value},set(e,i){pe(e)&&O?O.setValue(i):e.value=i}},await t;let T,A,ue,ge,I,we,P;const he=(e=[...x])=>{P.toggle(e.includes("indentWithSpace"))};const ke=$(mw.util.addPortletLink({minerva:"page-actions-overflow",moeskin:"ca-more-actions"}[r]||"p-cactions","#",m("portlet"),"wphl-settings")).click(async()=>{if(T)A.setValue([...x]),I.setValue(y);else{await mw.loader.using(["oojs-ui-windows","oojs-ui.styles.icons-content"]),T=new OO.ui.MessageDialog({id:"Wikiplus-highlight-dialog"});const i=new OO.ui.WindowManager,t=(i.$element.appendTo(ce),i.addWindows([T]),A=new OO.ui.CheckboxMultiselectInputWidget({options:[...b.map(({option:e,addon:i=e})=>{const t=Array.isArray(i)?i[0]:i;return{data:t,label:n("addon-"+t.toLowerCase())}}),...["wikiEditor","escape","contextmenu","lint","indentWithSpace","otherEditors"].map(e=>({data:e,label:n("addon-"+e.toLowerCase())}))],value:[...x]}).on("change",he))["checkboxMultiselectWidget"];ue=t.findItemFromData("search"),ge=t.findItemFromData("wikiEditor"),I=new OO.ui.NumberInputWidget({min:0,value:y}),we=new OO.ui.FieldLayout(A,{label:m("addon-label"),notices:[m("addon-notice")],align:"top"}),P=new OO.ui.FieldLayout(I,{label:m("addon-indent")}),he(),Object.assign(mw.libs.wphl,{widget:A,indentWidget:I})}var e="object"==typeof window.Wikiplus||"object"==typeof window._WikiplusPages,e=(ue.setDisabled(!e),ge.setDisabled(!e||!mw.loader.getState("ext.wikiEditor")),await T.open({title:m("addon-title"),message:we.$element.add(P.$element).add($("<p>",{html:m("feedback")})),actions:[{action:"reject",label:mw.msg("ooui-dialog-message-reject")},{action:"accept",label:mw.msg("ooui-dialog-message-accept"),flags:"progressive"}],size:"en"===W||"minerva"===r?"medium":"small"}).closing);if(we.$element.detach(),P.$element.detach(),"object"==typeof e&&"accept"===e.action){e=A.getValue();x.clear();for(const a of e)x.add(a);y=Number(I.getValue()),c.setObject("Wikiplus-highlight-addons",e),c.setObject("Wikiplus-highlight-indent",y)}}),L=("minerva"===r&&ke.find(".mw-ui-icon").addClass("mw-ui-icon-minerva-settings"),"function"==typeof M&&M().find("#wphl-settings-notify").click(e=>{e.preventDefault(),$("#wphl-settings").triggerHandler("click")}),async i=>{if(x.has("otherEditors")){let e=i.getOption("mode");e="text/mediawiki"===e?"mediawiki":e;const a=te(CodeMirror,!0),n=i.getOption("json"),{prototype:o,optionHandlers:s,helpers:{lint:r}}=CodeMirror;!o.annotateScrollbar&&"mediawiki"===e&&x.has("lint")&&a.push(w.annotateScrollbar),!window.wikiparse&&"mediawiki"===e&&x.has("lint")&&a.push(w.parser),!s.lint&&"mediawiki"===e&&x.has("lint")&&(mw.loader.load(`${p}/${u}/addon/lint/lint.min.css`,"text/css"),a.push(w.lint)),r&&r.mediawiki||"mediawiki"!==e||!x.has("lint")||a.push(w.lintWikitext),await ie(a);for(const{option:l,addon:d=l,modes:c,complex:m=e=>!c||c.has(e)}of b.filter(({only:e})=>!e)){var t=Array.isArray(d)?d[0]:d;void 0===i.getOption(l)&&x.has(t)&&i.setOption(l,m(e,n))}"mediawiki"===e&&x.has("escape")?i.addKeyMap(G(CodeMirror),!0):"mediawiki"!==e&&x.has("indentWithSpace")&&(i.setOption("indentUnit",y),i.setOption("indentWithTabs",!1)),C(i,e)}});mw.hook("InPageEdit.quickEdit.codemirror").add(({cm:e})=>L(e)),mw.hook("inspector").add(e=>L(e)),mw.hook("wiki-codemirror").add(e=>{e.getTextArea&&pe(e.getTextArea())||L(e)}),mw.loader.load(p+`/${o}/styles.min.css`,"text/css"),Object.assign(mw.libs.wphl,{version:i,options:b,addons:x,i18n:S,i18nLang:W,storage:c,$portlet:ke,CDN:p,PARSER_CDN:a,USING_LOCAL:h,MODE_LIST:d,ADDON_LIST:w,msg:m,htmlMsg:n,escapeHTML:q,handleContextMenu:C,setI18N:e,getAddonScript:te,updateCachedConfig:oe,getMwConfig:re,renderEditor:de,handleOtherEditors:L,isPc:v})})();
|
|
8
|
-
//# sourceMappingURL=main.min.js.map
|
package/dist/main.min.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"../","sources":["main.js"],"names":["mw","libs","wphl","version","storage","getObject","key","json","localStorage","getItem","JSON","parse","e","setObject","value","setItem","stringify","getVersion","Object","fromEntries","entries","obj","str","split","map","Number","msg","args","htmlMsg","$","parseHTML","notify","$p","html","type","autoHideSeconds","tag","majorVersion","slice","join","CDN","CM_CDN","MW_CDN","PARSER_CDN","REPO_CDN","wgPageName","page","wgNamespaceNumber","ns","wgPageContentModel","contentmodel","wgServerName","server","wgScriptPath","scriptPath","wgUserLanguage","userLang","skin","config","values","USING_LOCAL","loader","getState","DATA_MODULE","ALL_SETTINGS_CACHE","SITE_ID","SITE_SETTINGS","EXPIRED","time","Date","now","CONTENTMODEL","css","sanitized-css","javascript","wikitext","MODE_LIST","lib","lua","mediawiki","htmlmixed","xml","ADDON_LIST","searchcursor","search","markSelection","activeLine","trailingspace","matchBrackets","closeBrackets","matchTags","fold","wikiEditor","contextmenu","lint","annotateScrollbar","parser","linter","lintWikitext","options","option","addon","download","only","complex","addons","has","mode","bracketRegex","modes","Set","let","indent","entity","\"","'","<",">","&"," ","convert","func","doc","replaceSelections","getSelections","selection","escapeHTML","c","code","codePointAt","toString","escapeURI","includes","decodeURIComponent","encodeURIComponent","escapeHash","replace","isPc","keyMap","default","pcDefault","extraKeys","CM","ctrl","handleContextMenu","$wrapper","getWrapperElement","addClass","synonyms","get","functionSynonyms","invoke","调用","widget","小工具","getSysnonyms","keys","filter","startsWith","pageX","pageY","pos","coordsChar","left","top","line","ch","curType","getTokenTypeAt","test","tokens","getLineTokens","i","length","end","string","splice","index","findIndex","start","text","trim","title","Title","namespace","open","getUrl","util","parserFunction","toLowerCase","action","i18n","welcome","a","b","a0","a1","b0","b1","cmpVersion","i18nLang","zh","zh-hans","zh-cn","zh-my","zh-sg","zh-hant","zh-tw","zh-hk","zh-mo","ka","I18N_CDN","isLatest","setI18N","async","assign","ajax","dataType","cache","messages","set","i18nPromise","Promise","all","using","getInternalScript","exts","resolve","getExternalScript","urls","getScript","local","internal","url","external","cm","getAddonScript","other","addonScript","Array","isArray","optionHandlers","intersect","push","arr","some","ele","initMode","scripts","state","loaded","window","CodeMirror","prototype","commands","helpers","load","tags","lang","concat","getSearchCursor","find","wikiparse","delete","undefined","updateCachedConfig","getAliases","words","flatMap","aliases","name","alias","getConfig","setPlainMode","tagModes","getMwConfig","initModePromise","isIPE","redirect","img","variants","general","magicwords","extensiontags","functionhooks","variables","Api","meta","siprop","formatversion","query","otherMagicwords","insensitive","subst","pre","nowiki","ref","urlProtocols","realMagicwords","allMagicwords","sensitive","word","doubleUnderscore","cmTextSelection","getContents","getValue","setContents","content","setValue","this","getSelection","setSelection","posFromIndex","focus","replaceSelection","getCaretPosition","caretPos","indexFromPos","getCursor","endPos","startAndEnd","scrollToCaretPosition","scrollIntoView","renderEditor","$target","setting","endsWith","pageMode","OO","ui","confirm","actions","label","getPageMode","mwConfig","addWikiEditor","dialogs","modules","toolbar","getDefaultConfig","replaceIcons","console","error","mimeModes","defineMIME","noinclude","height","toTextArea","fromTextArea","extend","inputStyle","lineNumbers","navigator","userAgent","lineWrapping","mod","mainAddon","indentUnit","indentWithTabs","setSize","id","fn","textSelection","escToExitQuickEdit","context","data","addKeyMap","api","openDialog","children","attr","settings","esc_to_exit_quickedit","triggerHandler","click","Esc","refresh","hook","fire","body","document","observer","MutationObserver","records","$editArea","addedNodes","isWikiplus","observe","childList","on","$textarea","stopPropagation","elem","valHooks","textarea","dialog","searchWidget","wikiEditorWidget","indentWidget","field","indentField","toggleIndent","toggle","$portlet","addPortletLink","minerva","moeskin","MessageDialog","windowManager","WindowManager","checkboxMultiselectWidget","$element","appendTo","addWindows","CheckboxMultiselectInputWidget","findItemFromData","NumberInputWidget","min","FieldLayout","notices","align","wikiplusLoaded","Wikiplus","_WikiplusPages","setDisabled","message","add","flags","size","closing","detach","clear","handleOtherEditors","preventDefault","getOption","setOption","getTextArea"],"mappings":"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"}
|