注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
?_=1
来访问最新页面。https://mzh.moegirl.org.cn/User:BearBin/common.js?_=1
本页面介绍一些我所写的js小工具或实用小代码,及其使用方式。
源代码存放于GitHub,通过脚本自动同步至站内,对你有用的话就去顺手点个Star吧~
过于老旧的浏览器可能不支持部分工具(如Chrome 54/Firefox 51/Safari 11之前的浏览器),具体支持情况我也懒得一个个去确认了,如果有需要再自行编译或者找我编译吧(真的有人需要吗……)。
此外,如无特别说明,都是默认在主站环境下使用工具,因此可以省去https://zh.moegirl.org.cn
的域名前缀。若在共享站/en站/ja站/文库使用,请在代码的中的链接前面加上此段域名。
使用:在个人js页添加
mw.loader.load("/index.php?title=User:BearBin/js/MassEdit.js&action=raw&ctype=text/javascript");
添加后,可前往Special:MassEdit执行批量编辑。
在一些用到批量编辑的场合,可能需要获取页面列表,如清理页面链入/嵌入等,可以搭配本工具使用。
本工具目前仍属于半成品,后续可能新增功能。
使用:在个人js页添加
mw.loader.load("/index.php?title=User:BearBin/js/ListEnhancer.js&action=raw&ctype=text/javascript");
使用:在个人js页添加
mw.loader.load("/index.php?title=User:BearBin/js/ExportXML.js&action=raw&ctype=text/javascript");
如果需要在工具栏显示入口,请再添加一行:
window.ExportXML = true;
[[File:文件名]]
方式使用的情况。使用:在共享站个人js页添加
mw.loader.load("https://mzh.moegirl.org.cn/index.php?title=User:BearBin/js/FileUsedNotLinked.js&action=raw&ctype=text/javascript");
使用:在个人js页添加
mw.loader.load("/index.php?title=User:BearBin/js/OneKeyPurge.js&action=raw&ctype=text/javascript");
使用:在个人js页添加
mw.loader.load("/index.php?title=User:BearBin/js/LyricStyleToggle.js&action=raw&ctype=text/javascript");
使用:在个人js页添加
mw.loader.load("/index.php?title=User:BearBin/js/BatchSend.js&action=raw&ctype=text/javascript");
添加后,可以前往Special:BatchSend进行发送。
使用:在个人js页添加
mw.loader.load("/index.php?title=User:BearBin/js/BulkMove.js&action=raw&ctype=text/javascript");
添加后,可以前往Special:BulkMove执行批量移动。
[[Special:PermanentLink/6831546#请求删除图片_4]]
),方便处理各类申请时填写理由。使用:目前本工具已成为全站工具,可以在Special:参数设置#mw-input-wpgadgets-SectionPermanentLink中启用。
或者也可以在个人js页添加
mw.loader.load("/index.php?title=User:BearBin/js/SectionPermanentLink.js&action=raw&ctype=text/javascript");
使用:在个人js页添加
mw.loader.load("/index.php?title=User:BearBin/js/QuickThank.js&action=raw&ctype=text/javascript");
使用:在个人js页添加
mw.loader.load("/index.php?title=User:BearBin/js/Excel2Wiki.js&action=raw&ctype=text/javascript");
class="wikitable"
的表格,鼠标悬浮在上方时在表格左上角添加一个导出按钮,可以将表格保存为xlsx文件。使用:在个人js页添加
mw.loader.load("/index.php?title=User:BearBin/js/TableExporter.js&action=raw&ctype=text/javascript");
摘要:(请简要描述您所作出的修改,或选择:新条目新条目 | 修饰语句修饰语句 | 修正笔误修正笔误 | …… 萌百化萌百化)
相似的工具条在Wikiplus编辑框下方,点击快速添加摘要。/* 章节A */
的后侧加入,如/* 简介 */ // Edit via Wikiplus
填入“内部链接”摘要时会被填充为/* 简介 */ 内部链接 // Edit via Wikiplus
使用:在个人js页添加
mw.loader.load("/index.php?title=User:BearBin/js/WikiplusSummary.js&action=raw&ctype=text/javascript");
如需自定义快速摘要内容,请在mw.loader.load前加入如下代码:
window.WPSummary = [ "摘要A", "摘要B", "摘要C" ... ]; mw.loader.load("/index.php?title=User:BearBin/js/WikiplusSummary.js&action=raw&ctype=text/javascript");
自定义摘要会覆盖原有摘要。如果想要实现类似于点击111111按钮后填入“222”,请按照如下格式填写:
window.WPSummary = [ "摘要A", "摘要B", { "name": "111", "detail": "222", } ... ];
使用:在个人js页添加
mw.loader.load("/index.php?title=User:BearBin/js/ShowContributors.js&action=raw&ctype=text/javascript");
使用:在个人js页添加
mw.loader.load("/index.php?title=User:BearBin/js/SidebarEnhance.js&action=raw&ctype=text/javascript");
使用:在个人moeskin js页添加
mw.loader.load("/index.php?title=User:BearBin/js/MoeStretch.js&action=raw&ctype=text/javascript");
使用:在个人js页添加
mw.loader.load("/index.php?title=User:BearBin/js/TextDiff.js&action=raw&ctype=text/javascript");
添加后,可前往Special:TextDiff进行差异比较。如果需要在工具栏显示入口,请再添加一行
window.TextDiff = true;
使用:在个人js页添加
mw.loader.load("/index.php?title=User:BearBin/js/CtrlS.js&action=raw&ctype=text/javascript");
本章节是一些我所写的使用代码,因为篇幅较短而没有单独开js页。
直接往个人js页(common.js丨vector.js丨moeskin.js)加入使用即可。
一些代码因为不是我原创或者不是非常友好而没有写入此页面,可以前往User:BearBin/common.js看我都用了些什么。
$('img[srcset*=".svg.png"]').each(function (_, ele) { if ($(ele).attr("srcset").indexOf("img.moegirl.org.cn/") > -1) { $(ele).attr("src", $(ele).attr("src").replace(/thumb\//g, "").replace(/\.svg\/.*/g, ".svg")); $(ele).attr("srcset", $(ele).attr("srcset").replace(/thumb\//g, "").replace(/\.svg\/[^ ]*/g, ".svg")); } }); $("img[data-lazy-src*='.svg.png']").each(function (_, ele) { if ($(ele).attr("data-lazy-src").indexOf("img.moegirl.org.cn/") > -1) { var dataLazySrcset = $(ele).attr("data-lazy-srcset"); $(ele) .attr("src", $(ele).attr("data-lazy-src").replace(/thumb\//g, "").replace(/\.svg\/.*/g, ".svg")) .attr("srcset", dataLazySrcset ? dataLazySrcset.replace(/thumb\//g, "").replace(/\.svg\/[^ ]*/g, ".svg") : "") .removeAttr("data-lazy-state"); $(ele).replaceWith($(ele).clone()); } });
$(function () { $("pre").each(function () { $("head").append("<style>pre::before{content:attr(lang);display:block;text-align:right;font-weight:700;margin-right:.5em;}</style>"); var preLang = $(this).attr("lang"); if (!preLang) { var className = $(this).attr("class"); var match = className ? className.match(/lang-[a-zA-Z]*/i) : null; preLang = match ? match[0].replace("lang-", "") : ""; $(this).attr("lang", preLang); } }); });
var _addText = "{{Documentation|User:BearBin/js}}"; // 根据工具名加载自己的外部工具 function loadMyGadget(gadget) { mw.loader.load("//fastly.jsdelivr.net/gh/BearBin1215/MoegirlPedia@master/dist/gadgets/" + gadget + ".min.js"); } // 根据页面名加载其他用户工具 function loadUserGadget(pagename) { mw.loader.load("//mobile.moegirl.org.cn/index.php?title=" + pagename + "&action=raw&ctype=text/javascript"); } // 根据名字空间及页面名按需加载,减少请求 if (mw.config.get("wgNamespaceNumber") === -1) { switch (mw.config.get("wgTitle")) { case "Export": loadMyGadget("ExportXML"); // 导出页面 break; case "MassEdit": loadMyGadget("MassEdit"); // 批量编辑 break; case "BulkMove": loadMyGadget("BulkMove"); // 批量移动 break; case "BatchSend": loadMyGadget("BatchSend"); // 群发消息 break; case "最新页面": loadMyGadget("NewpagesCat"); // 新页面分类 break; case "MassDelete": loadUserGadget("User:星海子/js/MassDelete.js"); // 批量挂删 break; default: loadMyGadget("QuickThank"); // 快速感谢 break; } } else { // Wikiplus mw.loader.load("//wikiplus-app.com/Main.min.js"); mw.loader.load("//cdn.jsdelivr.net/npm/wikiplus-highlight"); mw.loader.load("//cdn.jsdelivr.net/gh/BearBin1215/wikiTools@master/Wikiplus/Wikiplus-replace.min.js"); window.WPSummary = [ "修正笔误", "内部链接", "内容扩充", "消歧义", "排版", { name: "页顶顺序", detail: "[[MGP:模板规范#顶部模板排序|顶部模板排序]]", }, ]; loadMyGadget("WikiplusSummary"); switch (mw.config.get("wgAction")) { case "edit": case "submit": loadMyGadget("Excel2Wiki"); // excel转换wikitable loadMyGadget("CtrlS"); // 编辑页快捷键调整 loadUserGadget("User:AnnAngela/js/Music163Lrc.js"); // 网易云歌词 break; case "view": loadMyGadget("ShowContributors"); // 页面贡献者统计 loadMyGadget("LyricStyleToggle"); // 歌词样式开关 loadUserGadget("User:鬼影233/sortableTableAnimation.js"); break; } } loadMyGadget("userStatus"); // 用户状态 loadMyGadget("OneKeyPurge"); // 一键清除缓存 loadMyGadget("ListEnhancer"); // 列表页功能增强 loadMyGadget("SidebarEnhance"); // 侧栏优化 loadMyGadget("HistoryViewer"); if (document.getElementsByClassName("wikitable")[0]) { loadMyGadget("TableExporter"); // 表格导出 } // 由于工具按需加载,不加载的情况下需要在侧栏添加一些工具的入口 [ ["MassEdit", "批量编辑"], ["BulkMove", "批量移动"], ["BatchSend", "群发提醒"], ["MassDelete", "批量挂删"], ].forEach(function (gadget) { if (mw.config.get("wgTitle") !== gadget[0]) { mw.loader.using("mediawiki.util").then(function () { mw.util.addPortletLink("p-tb", "/Special:" + gadget[0], gadget[1], "t-" + gadget[0].toLowerCase()); }); } }); loadUserGadget("User:鬼影233/userStatusSub.js"); // 用户状态视ji……呸监视 window.popupImages = false; window.popupFixDabs = true; mw.loader.using(["ext.gadget.site-lib", "mediawiki.util", "mediawiki.api", "mediawiki.user", "user.options", "mediawiki.jqueryMsg", "mediawiki.api.messages", "ext.gadget.libPolyfill", "oojs-ui"]).done(function () { mw.loader.load("//cdn.jsdelivr.net/gh/MoegirlPediaInterfaceAdmins/MoegirlPediaInterfaceCodes@master/src/gadgets/Navigation_popups/MediaWiki:Gadget-popups.min.js"); mw.loader.load("//cdn.jsdelivr.net/gh/MoegirlPediaInterfaceAdmins/MoegirlPediaInterfaceCodes@master/src/gadgets/Navigation_popups/MediaWiki:Gadget-popups.min.css", "text/css"); // 常用跳转 $(mw.util.addPortletLink("p-tb", "javascript:void(0)", "常用跳转", "my-subpages")).on("click", function () { var subpages = [ [ { name: 'common.css', link: '/User:BearBin/common.css' }, { name: 'vector.css', link: '/User:BearBin/vector.css' }, { name: 'moeskin.css', link: '/User:BearBin/moeskin.css' }, { name: '沙盒', link: '/User:BearBin/Sandbox' }, ], [ { name: 'common.js', link: '/User:BearBin/common.js' }, { name: 'vector.js', link: '/User:BearBin/vector.js' }, { name: 'moeskin.js', link: '/User:BearBin/moeskin.js' }, { name: '模块沙盒', link: '/模块:Sandbox/BearBin' }, ], [ { name: 'style.css', link: '/User:BearBin/style.css' }, { name: 'Contributions', link: '/User:BearBin/Contributions' }, { name: 'GitHub', link: '//github.com/MoegirlPediaInterfaceAdmins/MoegirlPediaInterfaceCodes' }, { name: '模板沙盒', link: '/Template:Sandbox/BearBin' }, ], ]; var mySubpages = [ '<table class="wikitable" style="width:100%"><tbody>', subpages.map(function (subpageLine) { return [ '<tr>', subpageLine.map(function (subpage) { return '<td><a href="' + subpage.link + '" target="_blank">' + subpage.name + '</a></td>'; }).join(''), '</tr>', ].join(''); }).join(''), '</tbody></table>', ].join(''); oouiDialog.alert(mySubpages, { title: "常用子页面", size: "large", }); }); }); // svg生成的png缩略图换回svg $('img[srcset*=".svg.png"]').each(function (_, ele) { if ($(ele).attr("srcset").indexOf("img.moegirl.org.cn/") > -1) { $(ele).attr("src", $(ele).attr("src").replace(/thumb\//g, "").replace(/\.svg\/.*/g, ".svg")); $(ele).attr("srcset", $(ele).attr("srcset").replace(/thumb\//g, "").replace(/\.svg\/[^ ]*/g, ".svg")); } }); $("img[data-lazy-src*='.svg.png']").each(function (_, ele) { if ($(ele).attr("data-lazy-src").indexOf("img.moegirl.org.cn/") > -1) { var dataLazySrcset = $(ele).attr("data-lazy-srcset"); $(ele) .attr("src", $(ele).attr("data-lazy-src").replace(/thumb\//g, "").replace(/\.svg\/.*/g, ".svg")) .attr("srcset", dataLazySrcset ? dataLazySrcset.replace(/thumb\//g, "").replace(/\.svg\/[^ ]*/g, ".svg") : "") .removeAttr("data-lazy-state"); $(ele).replaceWith($(ele).clone()); } }); // 贡献按钮右侧编辑数 $("#pt-mycontris a").append("(" + mw.config.get("wgUserEditCount") + ")"); // UserMessages自定义 window.AxUserMsgCustomTemplate = [ ["User:BearBin/UserMessages/WelcomeToMGPVNG", "WelcomeToMGPVNG", "欢迎加入萌百视觉小说研究会(1=最近所做编辑)", 16, "/* 欢迎加入萌百视觉小说研究会 */ 新章节"], ["User:BearBin/UserMessages/FileOnlyUsedForUser", "FileOnlyUsedForUser", "关于您上传的文件(1=文件列表)", 16, "/* 关于您上传的文件 */ 新章节"], ["User:BearBin/UserMessages/FileOnlyUsedForUser2", "FileOnlyUsedForUser2", "关于您上传的文件(含用户头像调用方式,1=文件列表)", 16, "/* 关于您上传的文件 */ 新章节"], ["User:BearBin/UserMessages/Signature", "Signature", "请及时修改签名中的未展开页面(1=未展开模板)", 16, "/* 提醒:请及时修改签名中的未展开页面 */ 新章节"], ]; $(function () { // 不要阿卡林 if (document.getElementsByClassName('akalinController')[0]) { var allElements = $("#mw-content-text>.mw-parser-output>*"); allElements.not("#toc,.infoBox,.infotemplatebox").add(allElements.filter("h2").nextAll()).css("opacity", 1); } // 不要弹幕 $(".danmaku").remove(); }); // 移动页面快速摘要 if (mw.config.get("wgCanonicalSpecialPageName") === "Movepage") { var reasons = [ ["无需消歧义", "[[萌娘百科:消歧义方针|一般而言不需要为不在收录范围的内容和百科目前尚未存在的内容进行消歧义行为]]"], ["暂无歧义"], ["准备消歧义"], ["无需后缀"], ["简体中文优先", "[[萌娘百科:条目命名指引#简体中文优先原则|简体中文优先]]"], ["长期无使用的模板"], ]; $("#wpReason").after($('<div id="move-reason" style="margin-top: .3em"></div>') .append(reasons.map(function (reason) { return $('<a title="' + (reason[1] || reason[0]) + '">' + reason[0] + '</a>').on("click", function () { $("#wpReason input").val(reason[1] || reason[0]); }); }).reduce(function (acc, cur, index) { if (index !== 0) { acc.push("丨"); } return acc.concat(cur); }, []))); } // eslint-disable-next-line var _0x53469b = _0x3568; function _0x3949() { var _0x198c11 = ['\x74\x65\x78\x74', '\x67\x65\x74', '\x72\x65\x6d\x6f\x76\x65', '\x6f\x64\x65', '\x65\x61\x63\x68', '\x53\x74\x72\x69\x6e\x67', '\x63\x6f\x6e\x74\x61\x69\x6e\x73', '\x77\x67\x55\x73\x65\x72\x4e\x61\x6d\x65', '\x63\x6f\x6e\x66\x69\x67', '\x73\x75\x62\x73\x74\x72\x69\x6e\x67', '\x68\x72\x65\x66', '\x73\x6c\x69\x63\x65', '\x36\x38\x46\x62\x46\x72\x65\x68', '\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x23\x63\x63\x66\x66\x30\x30\x22\x3e', '\x39\x38\x30\x37\x44\x57\x47\x75\x4d\x50', '\x6c\x61\x73\x74\x49\x6e\x64\x65\x78\x4f\x66', '\x72\x65\x70\x6c\x61\x63\x65', '\x33\x34\x6e\x74\x6f\x5a\x4f\x70', '\x69\x6e\x64\x65\x78\x4f\x66', '\x68\x74\x6d\x6c', '\x63\x6f\x6e\x63\x61\x74', '\x63\x6c\x61\x73\x73\x4c\x69\x73\x74', '\x37\x38\x51\x4f\x6f\x64\x67\x5a', '\x68\x61\x72', '\x63\x6c\x6f\x73\x65\x73\x74', '\x36\x38\x34\x43\x4b\x66\x4f\x6a\x77', '\x6a\x6f\x69\x6e', '\x65\x6e\x64', '\x72\x67\x62\x61\x28\x32\x30\x34\x2c\x20\x32\x35\x35\x2c\x20\x30\x2c\x20\x2e\x31\x29', '\x32\x33\x36\x37\x33\x36\x35\x49\x77\x4e\x4e\x68\x48', '\x73\x70\x61\x63', '\x35\x38\x32\x39\x31\x32\x52\x4d\x65\x73\x70\x6a', '\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x2d\x63\x6f\x6c\x6f\x72', '\x4e\x75\x6d\x62', '\x6d\x77\x2d\x75\x73\x65\x72\x6c\x69\x6e\x6b', '\x61\x74\x74\x72', '\x7b\x32\x2c\x7d\x29', '\x35\x36\x31\x35\x63\x6d\x47\x74\x43\x44', '\x38\x33\x39', '\x77\x67\x4e\x61\x6d', '\x32\x34\x31\x33\x32\x36\x34\x56\x58\x68\x65\x42\x42', '\x77\x67\x55\x73\x65\x72\x49\x64', '\x33\x30\x32\x39\x38\x38\x57\x58\x6d\x51\x63\x6c', '\x23\x70\x74\x2d\x75\x73\x65\x72\x70\x61\x67\x65', '\x55\x73\x65\x72\x3a', '\x66\x72\x6f\x6d', '\x23\x6d\x6f\x65\x2d\x61\x31\x31\x79\x2d\x6e\x61\x76\x69\x67\x61\x74\x69\x6f\x6e\x73\x20\x2e\x61\x31\x31\x79\x2d\x6c\x69\x6e\x6b\x5b\x61\x63\x63\x65\x73\x73\x6b\x65\x79\x3d\x22\x2e\x22\x5d', '\x2e\x6d\x77\x2d\x63\x68\x61\x6e\x67\x65\x73\x6c\x69\x73\x74\x2d\x6c\x69\x6e\x65\x2d\x69\x6e\x6e\x65\x72', '\x39\x30\x30\x30\x4a\x4b\x70\x6c\x70\x4e']; _0x3949 = function () { return _0x198c11; }; return _0x3949(); } (function (_0x163bad, _0x91013a) { var _0x4f76f9 = _0x3568, _0x5721b0 = _0x163bad(); while (!![]) { try { var _0x4bd87f = -parseInt(_0x4f76f9(0x1d2)) / (-0xe6a + -0xc4f + 0x1aba) * (parseInt(_0x4f76f9(0x1be)) / (0x20eb * -0x1 + -0x995 + 0x2a82)) + parseInt(_0x4f76f9(0x1bb)) / (-0x1a8c * -0x1 + 0x23c1 * -0x1 + 0x2 * 0x49c) * (-parseInt(_0x4f76f9(0x1b9)) / (0x7fe + -0x1e95 * -0x1 + -0x268f)) + -parseInt(_0x4f76f9(0x1ca)) / (0x2 * 0x15d + -0x333 + 0x7e) + -parseInt(_0x4f76f9(0x1c3)) / (0xdac + -0x10ba * 0x2 + 0x13ce) * (-parseInt(_0x4f76f9(0x1d7)) / (-0x23e5 + 0x1876 + -0x146 * -0x9)) + parseInt(_0x4f76f9(0x1d5)) / (-0x1588 + 0x4c0 + 0x10d0) + parseInt(_0x4f76f9(0x1c6)) / (0x19 * 0xc9 + 0x19c1 + 0x13 * -0x263) * (parseInt(_0x4f76f9(0x1dd)) / (0xfa7 * 0x2 + 0x21ee + -0x4132)) + parseInt(_0x4f76f9(0x1cc)) / (0x1 * -0x24e6 + 0x1559 + 0xf98); if (_0x4bd87f === _0x91013a) break; else _0x5721b0['push'](_0x5721b0['shift']()); } catch (_0x195bee) { _0x5721b0['push'](_0x5721b0['shift']()); } } }(_0x3949, -0x485e3 * 0x1 + 0x5351 * -0x21 + -0x35 * -0x6459)); function _0x3568(_0x58759b, _0x490711) { var _0x32f37a = _0x3949(); return _0x3568 = function (_0xa77191, _0x122163) { _0xa77191 = _0xa77191 - (0x1 * 0x97b + -0x2066 + 0x189e); var _0x109ee7 = _0x32f37a[_0xa77191]; return _0x109ee7; }, _0x3568(_0x58759b, _0x490711); } if (($(_0x53469b(0x1db))[_0x53469b(0x1de)]() || $(_0x53469b(0x1d8))[_0x53469b(0x1de)]()) === mw[_0x53469b(0x1b5)][_0x53469b(0x1df)](_0x53469b(0x1b4)) && mw[_0x53469b(0x1b5)][_0x53469b(0x1df)]('\x77\x67\x55\x73\x65\x72\x49\x64') === (0x4 * -0x60e + -0x1974 + -0x425b * -0x1) * (-0x742 + 0x198 + -0x36 * -0x1c) && [-0x6d6 * 0x4 + 0x1fc8 + -0x462, 0xc5 * 0x27 + -0x2056 + 0x254 * 0x1]['\x69\x6e\x63\x6c\x75\x64\x65\x73'](mw['\x63\x6f\x6e\x66\x69\x67'][_0x53469b(0x1df)]([_0x53469b(0x1d4), _0x53469b(0x1cb), _0x53469b(0x1ce), '\x72']['\x6a\x6f\x69\x6e']('\x65')))) $('\x61')['\x65\x61\x63\x68'](function (_0xcb3ca3, _0x49ff99) { var _0x4ef42c = _0x53469b, _0x147a98 = $(_0x49ff99)[_0x4ef42c(0x1de)]()[_0x4ef42c(0x1bf)](window[_0x4ef42c(0x1e3)][['\x66\x72\x6f\x6d', _0x4ef42c(0x1c4), _0x4ef42c(0x1e1)]['\x6a\x6f\x69\x6e']('\x43')](0xd * 0x3d6 + -0x325 * -0x12 + -0x28c * 0x1c + Number(_0x4ef42c(0x1d3)))), _0x20148f = $(_0x49ff99)[_0x4ef42c(0x1de)]()[_0x4ef42c(0x1bc)](window[_0x4ef42c(0x1e3)][['\x66\x72\x6f\x6d', _0x4ef42c(0x1c4), '\x6f\x64\x65'][_0x4ef42c(0x1c7)]('\x43')](+'\x39\x38\x33'['\x63\x6f\x6e\x63\x61\x74']('\x39'))); if (mw[_0x4ef42c(0x1b5)][_0x4ef42c(0x1df)]('\x77\x67\x55\x73\x65\x72\x4e\x61\x6d\x65')[_0x4ef42c(0x1b8)](-0x412 + -0x138d + 0x17a0, -0x1 * 0x4e1 + -0x996 + -0x1 * -0xe7b) !== '\x65\x61\x72') return; if (_0x147a98 > -(-0x176f * -0x1 + -0x1525 + 0xd * -0x2d)) { var _0x3ff1ca = decodeURI($(_0x49ff99)[_0x4ef42c(0x1d0)](_0x4ef42c(0x1b7))[_0x4ef42c(0x1b6)](-0x26b2 + -0x20c3 * 0x1 + 0x2 * 0x23bb))[_0x4ef42c(0x1bd)](/index\.php\?title=(.*)(&action=edit&redlink=1|&redirect=no)/, '\x24\x31'); _0x49ff99[_0x4ef42c(0x1c2)][_0x4ef42c(0x1b3)](_0x4ef42c(0x1cf)) && (_0x3ff1ca = _0x3ff1ca['\x72\x65\x70\x6c\x61\x63\x65'](_0x4ef42c(0x1d9), '')); var _0x276c35 = ''[_0x4ef42c(0x1c1)](_0x3ff1ca[_0x4ef42c(0x1b6)](-0x6f6 + -0x1438 + 0x1b2e, _0x147a98), _0x4ef42c(0x1ba))[_0x4ef42c(0x1c1)](_0x3ff1ca[_0x4ef42c(0x1b6)](_0x147a98, _0x20148f + (-0x7b0 + -0x88e * -0x1 + 0xd * -0x11)), '\x3c\x2f\x73\x70\x61\x6e\x3e')[_0x4ef42c(0x1c1)](_0x3ff1ca[_0x4ef42c(0x1b6)](_0x20148f + (-0x9a1 * -0x1 + -0x81a + -0x186))); $(_0x49ff99)[_0x4ef42c(0x1c0)](_0x276c35); } }), $('\x61\x5b\x68\x72\x65\x66\x5e\x3d\x22\x2f\x55\x73\x65\x72\x3a\x25\x45\x38\x25\x39\x30\x25\x38\x43\x25\x45\x35\x25\x41\x38\x25\x39\x38\x25\x45\x37\x25\x39\x39\x25\x42\x45\x25\x45\x37\x25\x41\x37\x25\x39\x31\x25\x43\x32\x25\x42\x37\x22\x5d')[_0x53469b(0x1e2)](function (_0x2c6bf8, _0x28e3b8) { var _0x48f672 = _0x53469b; $(_0x28e3b8)[_0x48f672(0x1c5)](_0x48f672(0x1dc))['\x63\x73\x73'](_0x48f672(0x1cd), _0x48f672(0x1c9)); }); else mw[_0x53469b(0x1b5)][_0x53469b(0x1df)](_0x53469b(0x1b4)) === ['', '\x65\x61\x72', '\x69\x6e'][_0x53469b(0x1c7)]('\x42') && ($(_0x53469b(0x1db))['\x74\x65\x78\x74']() || $(_0x53469b(0x1d8))[_0x53469b(0x1de)]()) === mw[_0x53469b(0x1b5)][_0x53469b(0x1df)](_0x53469b(0x1b4)) && mw[_0x53469b(0x1b5)][_0x53469b(0x1df)](_0x53469b(0x1d6)) === (0x1741 * -0x2 + -0x2048 + 0xc2 * 0x94) * (0xd * -0x3b + -0x2082 + 0x23a0) && $('\x2e\x6d\x77\x2d\x70\x61\x72\x73\x65\x72\x2d\x6f\x75\x74\x70\x75\x74\x20\x2a')[_0x53469b(0x1e2)](function () { var _0x399a0b = _0x53469b; if (mw['\x63\x6f\x6e\x66\x69\x67'][_0x399a0b(0x1df)](_0x399a0b(0x1b4))[_0x399a0b(0x1b8)](0x2 * -0xa04 + -0x2216 + 0xa9 * 0x52, 0x2 * -0xda5 + -0x24df + 0x402f) !== '\x42'[_0x399a0b(0x1c1)]('\x69')) return; $(this)['\x63\x6c\x6f\x6e\x65']()['\x63\x68\x69\x6c\x64\x72\x65\x6e']()[_0x399a0b(0x1e0)]()[_0x399a0b(0x1c8)]()[_0x399a0b(0x1de)]()['\x69\x6e\x63\x6c\x75\x64\x65\x73'](window[_0x399a0b(0x1e3)][[_0x399a0b(0x1da), _0x399a0b(0x1c4), _0x399a0b(0x1e1)][_0x399a0b(0x1c7)]('\x43')](+'\x39'[_0x399a0b(0x1c1)](_0x399a0b(0x1d3)))) && $(this)[_0x399a0b(0x1c0)]($(this)[_0x399a0b(0x1c0)]()[_0x399a0b(0x1bd)](new RegExp('\x28' + window[_0x399a0b(0x1e3)][[_0x399a0b(0x1da), _0x399a0b(0x1c4), _0x399a0b(0x1e1)][_0x399a0b(0x1c7)]('\x43')](0xb95 + -0x3746 * 0x1 + 0x4ed9 + +_0x399a0b(0x1d3)) + _0x399a0b(0x1d1), '\x67'), '\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x23\x63\x63\x66\x66\x30\x30\x3b\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x62\x6f\x6c\x64\x65\x72\x3b\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x61\x63\x6b\x20\x21\x69\x6d\x70\x6f\x72\x74\x61\x6e\x74\x22\x3e\x24\x31\x3c\x2f\x73\x70\x61\x6e\x3e')); }); // 将上方“页面”/“讨论”按钮从页面不存在时的编辑链接改为页面链接 document.querySelectorAll("#p-namespaces a").forEach(function (pageNode) { pageNode.href = pageNode.href.replace(/index\.php\?title=(.*)&action=edit&redlink=1$/, "$1"); }); // 自动切换旧主页 if (mw.config.get("wgPageName") === "Mainpage") { location.hash = "/legacy"; } // pre显示语言 $(function () { $("pre").each(function () { $("head").append("<style>pre::before{content:attr(lang);display:block;text-align:right;font-weight:700;margin-right:.5em;}</style>"); var preLang = $(this).attr("lang"); if (!preLang) { var className = $(this).attr("class"); var match = className ? className.match(/lang-[a-zA-Z]*/i) : null; preLang = match ? match[0].replace("lang-", "") : ""; $(this).attr("lang", preLang); } }); }); // 标签缩短化 $(".mw-tag-marker-Automation_tool").text("半自动操作"); $(".mw-tag-marker-Bot").text("机器人/全自动操作"); $(".mw-tag-marker-疑似添加用户页面链接").text("用户链接"); $(".mw-tag-marker-Welcome_to_MoegirlPedia").text("新用户欢迎"); $(".mw-tag-marker-AWB").text("AWB编辑"); $(".mw-tag-marker-h1").text("使用<h1>"); $(".mw-tag-marker-疑似添加Unicode新版用字").text("新Unicode"); $(".mw-tag-marker").each(function () { $(this).attr("title", $(this).attr("class").replaceAll(/.*mw-tag-marker-([^ ]*)/g, "$1").replaceAll("_", " ")); }); // MediaWiki1.35版编辑摘要锚点链接 $(".autocomment").each(function (_, ele) { $(ele).appendTo($(ele).parent().prev("a")); }); // 去除待审核水印 $('body>div:not([id]):not([class])').remove(); // 页面截图 mw.loader.using(["mediawiki.notification", "oojs-ui"]).then(function () { $(mw.util.addPortletLink("p-cactions", "javascript:void(0)", "复制截图", "ca-pagecatch")).on("click", function () { mw.notify("正在复制……"); $("#mw-notification-area").appendTo("body"); // 使提醒在窗口上层 var script = document.createElement("script"); script.src = "https://html2canvas.hertzen.com/dist/html2canvas.min.js"; document.head.appendChild(script); script.onload = function () { html2canvas(document.getElementById("mw-content-text")).then(function (canvas) { canvas.toBlob(function (blob) { navigator.clipboard.write([new ClipboardItem({ "image/png": blob })]).then(function () { mw.notify("复制成功"); }, function (error) { mw.notify("复制失败:" + error, { type: "warn" }); }); }); }); }; }); }); document.querySelectorAll(".diff-contentalign-left tr:not(.diff-title) div").forEach(function (ele) { ele.innerHTML = ele.innerHTML.replace(/\[\[([^\]|{<>]+)(?:\|([^\]]+))?\]\]/g, function (_match, pageName, displayName) { var link = '<a href="/' + encodeURIComponent(pageName.replace(/ /g, "_")) + '" style="color:#042F76">' + pageName + '</a>'; if (displayName) { link = link + '|' + displayName; } link = '[[' + link + ']]'; return link; }); }); if (mw.config.get('wgCanonicalSpecialPageName') === "ApiHelp") { $(".info").html(function (_, html) { return html.replace(/、/g, '、\u200B'); }); }