打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

User:OctoberSama/common.js:修订间差异

来自OTTOWiki
第31行: 第31行:
//辅助工具ListEnhancer
//辅助工具ListEnhancer
mw.loader.load("https://zh.moegirl.org.cn/index.php?title=User:BearBin/js/ListEnhancer.js&action=raw&ctype=text/javascript");
mw.loader.load("https://zh.moegirl.org.cn/index.php?title=User:BearBin/js/ListEnhancer.js&action=raw&ctype=text/javascript");
$(async function () {
  // 确保是编辑页面,并且存在编辑器
  const $textarea = $('#wpTextbox1')
  if (!$textarea.length) return
  const page = mw.config.get('wgPageName')
  const namespace = mw.config.get('wgNamespaceNumber')
  const CM_CDN = 'https://testingcf.jsdelivr.net/npm/@bhsd/codemirror-mediawiki'
  await Promise.all([
    mw.loader.using('mediawiki.Title'),
    window.CodeMirror6 || import(`${CM_CDN}/dist/mw.min.js`),
  ])
  const title = new mw.Title(page)
  title.namespace = namespace
  const mode = (function 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'
  })(title)
  const cm = await CodeMirror6.fromTextArea($textarea[0], mode, namespace)
  if (mode === 'mediawiki') {
    const config = mw.config.get('extCodeMirrorConfig')
    if (config?.urlProtocols.includes('\\:')) {
      config.urlProtocols = config.urlProtocols.replace(/\\:/g, ':')
      cm.setLanguage('mediawiki', config)
    }
  }
  // 可选:加入自定义钩子供其他模块使用
  mw.hook('CodeMirror6.global').fire({ cm })
})

2025年7月5日 (六) 13:27的版本

//IPE配置
/** InPageEdit Preferences */
;(window.InPageEdit = window.InPageEdit || {}).myPreference = {
  "doNotCollectMyInfo": false,
  "editMinor": true,
  "editSummary": "$section ",
  "lockToolBox": false,
  "redLinkQuickEdit": false,
  "outSideClose": false,
  "watchList": "watch",
  "noConfirmEdit": false,
  "plugins": [
    "toolbox.js",
    "wiki-editor.js",
    "code-mirror/cm6.js"
  ]
}

//IPE
mw.loader.load('https://cdn.jsdelivr.net/npm/mediawiki-inpageedit');

//批量编辑
mw.loader.load("/index.php?title=User:OctoberSama/MassEdit.js&action=raw&ctype=text/javascript");

//缓存清除
mw.loader.load("https://cdn.jsdelivr.net/gh/BearBin1215/MoegirlPedia@master/dist/gadgets/OneKeyPurge.min.js");

//高级搜索
mw.loader.load("https://cdn.jsdelivr.net/gh/BearBin1215/MoegirlPedia@master/dist/gadgets/AdvancedSearch.min.js");

//辅助工具ListEnhancer
mw.loader.load("https://zh.moegirl.org.cn/index.php?title=User:BearBin/js/ListEnhancer.js&action=raw&ctype=text/javascript");

$(async function () {
  // 确保是编辑页面,并且存在编辑器
  const $textarea = $('#wpTextbox1')
  if (!$textarea.length) return

  const page = mw.config.get('wgPageName')
  const namespace = mw.config.get('wgNamespaceNumber')

  const CM_CDN = 'https://testingcf.jsdelivr.net/npm/@bhsd/codemirror-mediawiki'
  await Promise.all([
    mw.loader.using('mediawiki.Title'),
    window.CodeMirror6 || import(`${CM_CDN}/dist/mw.min.js`),
  ])

  const title = new mw.Title(page)
  title.namespace = namespace

  const mode = (function 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'
  })(title)

  const cm = await CodeMirror6.fromTextArea($textarea[0], mode, namespace)

  if (mode === 'mediawiki') {
    const config = mw.config.get('extCodeMirrorConfig')
    if (config?.urlProtocols.includes('\\:')) {
      config.urlProtocols = config.urlProtocols.replace(/\\:/g, ':')
      cm.setLanguage('mediawiki', config)
    }
  }

  // 可选:加入自定义钩子供其他模块使用
  mw.hook('CodeMirror6.global').fire({ cm })
})