注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
?_=1
来访问最新页面。https://zh.moegirl.org.cn/User:%E8%90%8C%E5%A8%98%E7%99%BE%E7%A7%91%C2%B7%E5%A8%9C%E5%A8%9C%E5%A5%87/common.js?_=1
/** User Gadgets **/
mw.loader.load(
'https://zh.moegirl.org.cn/index.php?title=User:机智的小鱼君/gadget/index.js&action=raw&ctype=text/javascript'
)
function loadScript(src, props) {
src = src || ''
props = props || {}
var s = document.createElement('script')
s.src = src
for (var key in props) {
s[key] = props[key]
}
document.body.appendChild(s)
return new Promise(function (resolve, reject) {
s.onload = resolve
s.onerror = reject
})
}
/** InPageEdit **/
// Global variable
var InPageEdit = window.InPageEdit || {}
// Load plugin
loadScript('http://127.0.0.1:1225/InPageEdit.js?_=' + Date.now()).then(
function () {
console.info('[InPageEdit] Enable dev mode')
},
function () {
console.info('[InPageEdit] Cannot fetch dev server')
mw.loader.load('https://unpkg.com/mediawiki-inpageedit')
}
)
// Preferences
InPageEdit.myPreference = {
editMinor: false,
editSummary: '$section$oldid // InPageEdit-v2',
outSideClose: false,
watchList: true,
plugins: [
'toolbox.js',
'edit-any-page.js',
'code-mirror/cm6.js',
'color-preview.js',
'quick-thank.js',
'wiki-editor.js',
],
codeMirrorTheme: 'mdn-like',
}
;(function (w, mw, ipe) {
var conf = mw.config.get()
if (conf.wgNamespaceNumber !== 14) return
if (conf.wgArticleId === 38120 || conf.wgArticleId === 99958) return
$('.mw-category a').each(function () {
var $this = $(this)
var href = $this.attr('href')
if (!href) return
var title = href.replace('/', '')
var editLink = mw.util.getUrl(title, {
action: 'edit',
})
var $edit = $('<a>', {
href: editLink,
target: '_blank',
text: '编辑',
})
$this.after($('<span>').append(' (', $edit), ')')
mw.hook('InPageEdit').add(function () {
ipe.articleLink($edit)
})
})
})(window, window.mediaWiki, window.InPageEdit)
/** MoeSkin switcher */
$(function () {
window.toggleMoeskin = function (status) {
if (typeof status === 'undefined') {
status = !(mw.user.options.get('skin') === 'moeskin')
} else {
status = !!status
}
var api = new mw.Api({
parameters: {
format: 'json',
formatversion: 2,
},
})
return api
.postWithToken('csrf', {
format: 'json',
action: 'options',
change: 'skin=' + (status ? 'moeskin' : 'vector'),
})
.then(function (data) {
if (data.options === 'success') {
return true
} else {
return false
}
})
}
})
/** More portletLinks */
$(function () {
var conf = mw.config.get()
// prefix index
if (conf.wgIsArticle) {
var prefixIndex = mw.util.addPortletLink(
'p-tb',
mw.util.getUrl(
'Special:PrefixIndex/' + mw.config.get('wgPageName') + '/'
),
'前缀索引',
'前缀索引'
)
prefixIndex.querySelector('a').target = '_blank'
}
// MoeSkin switcher
mw.util
.addPortletLink(
'p-navigation',
'javascript:;',
'Toggle MoeSkin',
'Toggle MoeSkin'
)
.addEventListener('click', function () {
if (this.innerText !== 'Toggle MoeSkin') return
var anchorEl = this.querySelector('a')
anchorEl.innerText = 'Loading...'
window.toggleMoeskin().then(function (res) {
if (res) {
anchorEl.innerText = 'Reloading page...'
location.reload(true)
} else {
anchorEl.innerText = 'Toggle MoeSkin'
}
})
})
})
/** MoeHomeland Dev */
$(function () {
var conf = mw.config.get()
if ($('.mainpage').length) {
var promise = import(
'http://localhost:2023/dev/autoload.ts?_=' + Date.now()
)
// ↓ ES3 polyfill
promise['catch'](function () {
// NOOP
})
}
if (
conf.wgNamespaceNumber === 0 &&
conf.wgAction === 'view' &&
conf.wgIsArticle &&
conf.wgArticleId
) {
var promise = import(
'http://localhost:4090/dev/autoload.ts?_=' + Date.now()
)
// ↓ ES3 polyfill
promise['catch'](function () {
// NOOP
})
}
})
$(function () {
var action = mw.config.get('wgAction')
var ns = mw.config.get('wgNamespaceNumber')
var contentModel = mw.config.get('wgPageContentModel')
if (action === 'edit' && ns % 2 === 0 && contentModel === 'wikitext') {
alert('小心:你登录的是STAFF账号!\n你这笨蛋是不是又忘记切号了?')
}
})