本頁面介紹一些我所寫的js小工具或實用小代碼,及其使用方式。
原始碼存放於GitHub,通過腳本自動同步至站內,對你有用的話就去順手點個Star吧~
過於老舊的瀏覽器可能不支持部分工具(如Chrome 54/Firefox 51/Safari 11之前的瀏覽器),具體支持情況我也懶得一個個去確認了,如果有需要再自行編譯或者找我編譯吧(真的有人需要嗎……)。
此外,如無特別說明,都是默認在主站環境下使用工具,因此可以省去https://zh.moegirl.tw的域名前綴。若在共享站/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.tw/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.tw/index.php?title=User:BearBin/js/FileUsedNotLinked.js&action=raw&ctype=text/javascript");
使用:在共享站個人js頁添加
mw.loader.load("https://mzh.moegirl.tw/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.tw/") > -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.tw/") > -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);
}
});
});