機智的小魚君的個人小工具。
使用 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',
})
)