本页面介绍一些我所写的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("//mzh.moegirl.org.cn/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/AdvancedSearch.js&action=raw&ctype=text/javascript");
使用:
window.jsonViewerTheme = "vscode"; // 更换显示主题,可选'default' | 'a11y' | 'github' | 'vscode' | 'atom' | 'winter-is-coming',默认值'vscode'
window.jsonViewerDark = false; // 是否启用暗色模式(true/false),萌百暗色模式用户建议使用true
mw.loader.load("/index.php?title=User:BearBin/js/JSONViewer.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("https://mzh.moegirl.org.cn/index.php?title=User:BearBin/js/FileInspector.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");
| 萌百更新至1.43后,该功能由MW自带 |
|---|
使用:在个人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");
自定义摘要会覆盖原有摘要。如果想要实现类似于点击111按钮后填入“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");
使用:在个人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);
}
});
});