OTTOWiki:Gadget-CodeMirror6.js:修订间差异
来自OTTOWiki
更多操作
![]() OctoberSama(留言 | 贡献) (创建页面,内容为“if (mw.config.get('wgAction') === 'edit' || mw.config.get('wgAction') === 'submit') { mw.loader.load('https://cdn.jsdelivr.net/npm/@bhsd/codemirror-mediawiki/mediawiki.css', 'text/css'); (async function() { await mw.loader.using('mediawiki.Title'); if (!window.CodeMirror6) { await import('https://cdn.jsdelivr.net/npm/@bhsd/codemirror-mediawiki/dist/wiki.min.js'); } const textarea = document.getElementById('wpT…”) |
![]() OctoberSama(留言 | 贡献) (OctoberSama移动页面OTTOWiki:MediaWiki:Gadget-CodeMirror6.js至OTTOWiki:Gadget-CodeMirror6.js,不留重定向:快速重命名 → OTTOWiki:Gadget-CodeMirror6.js) 小 |
||
(没有差异)
|
2025年7月5日 (六) 20:01的版本
if (mw.config.get('wgAction') === 'edit' || mw.config.get('wgAction') === 'submit') {
mw.loader.load('https://cdn.jsdelivr.net/npm/@bhsd/codemirror-mediawiki/mediawiki.css', 'text/css'); (async function() { await mw.loader.using('mediawiki.Title'); if (!window.CodeMirror6) { await import('https://cdn.jsdelivr.net/npm/@bhsd/codemirror-mediawiki/dist/wiki.min.js'); } const textarea = document.getElementById('wpTextbox1'); if (textarea) { const page = new mw.Title(mw.config.get('wgPageName')); const getPageMode = (page) => { const { namespace, title } = page; const ext = page.getExtension()?.toLowerCase(); const isSubject = namespace % 2 === 0; if (ext === 'css' && isSubject) { return [2, 8, 2300].includes(namespace) ? 'css' : 'sanitized-css'; } else if (ext === 'js' && isSubject) { return 'javascript'; } else if (ext === 'json' && isSubject) { return 'json'; } else if (namespace === 828 && !title.endsWith('/doc')) { return 'lua'; } else if (namespace === 274 && !title.endsWith('/doc')) { return 'html'; } return 'mediawiki'; }; const mode = getPageMode(page); const cm = await CodeMirror6.fromTextArea(textarea, mode, page.getNamespaceId()); if (mode === 'mediawiki') { try { const config = mw.config.get('extCodeMirrorConfig'); if (config?.urlProtocols.includes('\\:')) { config.urlProtocols = config.urlProtocols.replace(/\\:/g, ':'); cm.setLanguage('mediawiki', config); } } catch (error) { console.error('Failed to load or apply mwConfig:', error.message, error.stack); } } } })();
}