wikiplus-highlight 3.0.0 → 3.0.2
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 +22 -10
- package/dist/main.js +28 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
在*个人 JS 页*添加以下代码:
|
|
13
13
|
|
|
14
14
|
```javascript
|
|
15
|
-
mw.loader.load('//cdn.jsdelivr.net/npm/wikiplus-highlight@3.0.
|
|
15
|
+
mw.loader.load('//cdn.jsdelivr.net/npm/wikiplus-highlight@3.0.2');
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
或
|
|
19
19
|
|
|
20
20
|
```javascript
|
|
21
|
-
mw.loader.load('//unpkg.com/wikiplus-highlight@3.0.
|
|
21
|
+
mw.loader.load('//unpkg.com/wikiplus-highlight@3.0.2/dist/main.js');
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
### 稳定版本
|
|
@@ -43,27 +43,39 @@ mw.loader.load('//unpkg.com/wikiplus-highlight/dist/main.js');
|
|
|
43
43
|
|
|
44
44
|
### 高亮当前行
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
使用这一插件时,光标所在行将添加浅青色背景。
|
|
47
47
|
|
|
48
|
-
###
|
|
48
|
+
### 显示不可见字符
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
使用这一插件时,不可见字符将以红色小圆点的形式显示。
|
|
51
|
+
|
|
52
|
+
### 显示空白字符
|
|
53
|
+
|
|
54
|
+
使用这一插件时,空格将以小圆点的形式显示,制表符将以箭头的形式显示。
|
|
55
|
+
|
|
56
|
+
### 显示尾随空格
|
|
57
|
+
|
|
58
|
+
使用这一插件时,每一行的尾随空格将添加橙红色背景。
|
|
51
59
|
|
|
52
60
|
### 匹配括号
|
|
53
61
|
|
|
54
|
-
|
|
62
|
+
匹配的括号对会添加青色背景,未匹配的单个括号会添加暗红色背景。
|
|
55
63
|
|
|
56
64
|
### 自动闭合括号和引号
|
|
57
65
|
|
|
58
|
-
MediaWiki 模式下自动闭合生效的字符包括 `(`、`[`、`{` 和 `"
|
|
66
|
+
MediaWiki 模式下自动闭合生效的字符包括 `(`、`[`、`{` 和 `"`,不包括 `'`。如果在选中部分文字的情况下键入这些字符,选中的文字会被成对的括号或引号包裹。
|
|
59
67
|
|
|
60
68
|
### 匹配标签
|
|
61
69
|
|
|
62
|
-
|
|
70
|
+
匹配的标签对或自封闭标签会添加青色背景,未匹配的标签会添加暗红色背景。注意被高亮标记为错误的标签不会进行匹配。
|
|
63
71
|
|
|
64
72
|
### 代码折叠
|
|
65
73
|
|
|
66
|
-
|
|
74
|
+
光标移动至模板内部时会在光标上方出现一个 `-` 标记,点击即可折叠模板参数。折叠后使用一个带有虚线边框的 `⋯` 标记占位,点击该标记将重新展开折叠的代码部分。同时添加以下快捷键:
|
|
75
|
+
|
|
76
|
+
- `Ctrl` + `Shift` + `[`/`Cmd` + `Alt` + `[`: 折叠选中的文字(如果可行)
|
|
77
|
+
- `Ctrl` + `Shift` + `]`/`Cmd` + `Alt` + `]`: 展开选中的文字
|
|
78
|
+
- `Ctrl` + `Alt` + `]`: 展开所有折叠的代码
|
|
67
79
|
|
|
68
80
|
### HTML/URL编码快捷键
|
|
69
81
|
|
|
@@ -74,7 +86,7 @@ MediaWiki 模式下自动闭合生效的字符包括 `(`、`[`、`{` 和 `"`,
|
|
|
74
86
|
|
|
75
87
|
### 快速打开内部链接
|
|
76
88
|
|
|
77
|
-
|
|
89
|
+
按住 `Ctrl`/`Cmd` 并点击被高亮标记为内部链接或模板标题的文字时,会在新标签页打开对应页面。
|
|
78
90
|
|
|
79
91
|
### 维基语法检查
|
|
80
92
|
|
package/dist/main.js
CHANGED
|
@@ -8,15 +8,17 @@
|
|
|
8
8
|
if ('wphl' in mw.libs) {
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
11
|
-
const version = '3.0.
|
|
11
|
+
const version = '3.0.2';
|
|
12
12
|
mw.libs['wphl'] = { version }; // 开始加载
|
|
13
13
|
// 路径
|
|
14
|
-
const CDN = '//testingcf.jsdelivr.net', MW_CDN = 'npm/@bhsd/codemirror-mediawiki@2.4.
|
|
14
|
+
const CDN = '//testingcf.jsdelivr.net', MW_CDN = 'npm/@bhsd/codemirror-mediawiki@2.4.5/dist/mw.min.js', REPO_CDN = 'npm/wikiplus-highlight';
|
|
15
15
|
const { wgPageName: page, wgNamespaceNumber: ns, wgPageContentModel: contentmodel, } = mw.config.get();
|
|
16
16
|
const CONTENTMODEL = {
|
|
17
17
|
'sanitized-css': 'css',
|
|
18
18
|
wikitext: 'mediawiki',
|
|
19
19
|
};
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, @typescript-eslint/unbound-method
|
|
21
|
+
const getObject = mw.storage.getObject || ((key) => JSON.parse(String(localStorage.getItem(key))));
|
|
20
22
|
/** 根据需要加载CodeMirror6 */
|
|
21
23
|
const init = () => 'CodeMirror6' in window
|
|
22
24
|
? Promise.resolve()
|
|
@@ -53,7 +55,7 @@
|
|
|
53
55
|
cm.view.dom.id = 'Wikiplus-CodeMirror';
|
|
54
56
|
document.querySelector('#Wikiplus-Quickedit-Jump > a').href = '#Wikiplus-CodeMirror';
|
|
55
57
|
if (!setting) { // 普通Wikiplus编辑区
|
|
56
|
-
const settings =
|
|
58
|
+
const settings = getObject('Wikiplus_Settings'), escToExitQuickEdit = settings && (settings['esc_to_exit_quickedit'] || settings['escToExitQuickEdit']), submit = /** 提交编辑 */ () => {
|
|
57
59
|
document.getElementById('Wikiplus-Quickedit-Submit').dispatchEvent(new MouseEvent('click'));
|
|
58
60
|
return true;
|
|
59
61
|
}, submitMinor = /** 提交小编辑 */ () => {
|
|
@@ -71,6 +73,29 @@
|
|
|
71
73
|
: [],
|
|
72
74
|
]);
|
|
73
75
|
}
|
|
76
|
+
/** @todo 以下过渡代码添加于2024-02-07,将于一段时间后弃用 */
|
|
77
|
+
const oldKey = 'Wikiplus-highlight-addons', oldPrefs = getObject(oldKey), mapping = {
|
|
78
|
+
activeLine: 'highlightActiveLine',
|
|
79
|
+
trailingspace: 'highlightTrailingWhitespace',
|
|
80
|
+
matchBrackets: 'bracketMatching',
|
|
81
|
+
closeBrackets: 'closeBrackets',
|
|
82
|
+
matchTags: 'tagMatching',
|
|
83
|
+
fold: 'codeFolding',
|
|
84
|
+
wikiEditor: 'wikiEditor',
|
|
85
|
+
escape: 'escape',
|
|
86
|
+
contextmenu: 'openLinks',
|
|
87
|
+
lint: 'lint',
|
|
88
|
+
};
|
|
89
|
+
localStorage.removeItem(oldKey);
|
|
90
|
+
if (oldPrefs) {
|
|
91
|
+
const obj = {};
|
|
92
|
+
for (const k of oldPrefs) {
|
|
93
|
+
if (k in mapping) {
|
|
94
|
+
obj[mapping[k]] = true;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
cm.prefer(obj);
|
|
98
|
+
}
|
|
74
99
|
};
|
|
75
100
|
// 监视 Wikiplus 编辑框
|
|
76
101
|
const observer = new MutationObserver(records => {
|