机智的小鱼君的个人小工具。
使用 monaco 编辑器编辑代码页面。
mw.loader.load(
mw.util.getUrl('User:机智的小鱼君/gadget/MonacoEditor.js', {
action: 'raw',
ctype: 'text/javascript',
})
)
编辑 JavaScript 时,globalThis.mw 与 JQuery 定义已预加载。可根据需求便捷扩展 JavaScript 类型定义:
// 使用 monaco.editor 钩子
mw.hook('monaco.editor').add(
/**
* @param {{ monaco: monaco; editor: monaco.editor.IStandaloneCodeEditor; model: monaco.editor.ITextModel; addExtraLib: (content: string, filePath?: string) => void; addExternalExtraLib: (url: string, filePath?: string) => void; }} ctx
*/
function (ctx) {
// 添加 d.ts 源文件
ctx.addExtraLib('declare const foo: "bar"', 'MyLib.d.ts')
// 语法糖:从 url 加载 d.ts
ctx.addExternalExtraLib('https://unpkg.com/@types/jquery/JQuery.d.ts')
}
)
自定义编辑器选项:
mw.hook('monaco.editor').add(function (ctx) {
ctx.model.updateOptions({
// 你的配置
})
})
使用 Shiki.js 语法高亮。
与站内正在使用的 prettyprint 语法兼容。不能与其他“代码高亮”插件同时安装。
mw.loader.load(
mw.util.getUrl('User:机智的小鱼君/gadget/Shiki.js', {
action: 'raw',
ctype: 'text/javascript',
})
)
使用 Highlight.js 语法高亮。
与站内正在使用的 prettyprint 语法兼容。不能与其他“代码高亮”插件同时安装。
// * 必须
mw.loader.load(
mw.util.getUrl('User:机智的小鱼君/gadget/Highlight.js', {
action: 'raw',
ctype: 'text/javascript',
})
)
// 高亮主题,任选其一即可
// 1. solarized (经典亮黄色主题)
mw.loader.load(
mw.util.getUrl('User:机智的小鱼君/gadget/Highlight.css', {
action: 'raw',
ctype: 'text/css',
}),
'text/css'
)
// 2. nord (比较清淡的暗色主题)
mw.loader.load(
mw.util.getUrl('User:机智的小鱼君/gadget/Highlight/theme/nord.css', {
action: 'raw',
ctype: 'text/css',
}),
'text/css'
)
// 3. one dark pro (脱胎自Atom的暗色主题,小鱼君倾情推荐☆)
mw.loader.load(
mw.util.getUrl('User:机智的小鱼君/gadget/Highlight/theme/one-dark-pro.css', {
action: 'raw',
ctype: 'text/css',
}),
'text/css'
)
基于 Waline.js 的非官方评论区。仅供娱乐,说不定哪天就删库跑路。
mw.loader.load(
mw.util.getUrl('User:机智的小鱼君/gadget/Waline.js', {
action: 'raw',
ctype: 'text/javascript',
})
)