User:穆斯塔法凯末尔/common.js
跳转到导航
跳转到搜索
注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- Firefox/Safari:按住“Shift”的同时单击“刷新”,或按“Ctrl-F5”或“Ctrl-R”(Mac为“⌘-R”)
- Google Chrome:按“Ctrl-Shift-R”(Mac为“⌘-Shift-R”)
- Internet Explorer:按住“Ctrl”的同时单击“刷新”,或按“Ctrl-F5”
- Opera:在“工具→首选项”中清除缓存
- 如果您已登录但该页面出现未登录状态,请尝试在地址栏的地址最后添加代码
?_=1来访问最新页面。 - 添加代码后的本页地址如下:
-{R|https://moegirl.icu/User:%E7%A9%86%E6%96%AF%E5%A1%94%E6%B3%95%E5%87%AF%E6%9C%AB%E5%B0%94/common.js?_=1}-
该用户是一名GitHub用户其ID是 Mustafabot |
仅列举部分个人强烈推荐使用的js和个人改造的js,本人设置具体参见User:穆斯塔法凯末尔/common.js,反馈请到我的讨论页。
一键插入
- 由于本站强大的WAF,该插件的改造版无法直接保存在站内,改造后须经站外渠道引入。
增加了快速MAR的个人自用版
(虽然已经没啥用了……) 在common.js中插入:[1]
mw.loader.load("//testingcf.jsdelivr.net/gh/Mustafabot/js-MoegirlPedia/QuickInsert.min.js");
批量编辑(MassEdit)
阿熊妙妙小工具,还不来试吗?
Wikiplus
站内小工具就有,不过稳定吃验证码,这里建议使用-{Dreammu}-[更多]的修复版(WikiplusSP):
mw.loader.load("/index.php?title=User:Dreammu/WikiplusSP.js&action=raw&ctype=text/javascript");
Wikiplus代码高亮
mw.loader.load('https://cdn.jsdelivr.net/npm/wikiplus-highlight');
歌词注音
U:屠麟傲血/lyricRuby.js,现已支持MoeSkin。
- 本小工具改造自User:東東君/js/ruby.js,使用vue创建对话框
- 新增了标记歌词中特殊读音的功能,同时修改复制歌词功能实现方式
- 1.38+可以使用mediawiki自带的vue3模块,小工具版本参见 -{R|https://github.com/fallenice2022/moeGadget/blob/main/gadgets/lyricRuby}-
- 使用本小工具前请先去除个人js中对User:東東君/js/ruby.js的引用,因为我懒得改class和id名称
更新日志:
- 2024.9.24(Special:diff/7657702):
- 增加了moeskin下按钮
- 更换了vue的cdn
已知bug:
MoeSkin下特殊注音功能无法正常使用。已于2024.10.2修复- 与Monaco编辑器冲突。
不过可以复制粘贴,影响不大
快速撤销
基于User:Nzh21/js/QuickUndo.js改造而来:
mw.loader.load("//fastly.jsdelivr.net/gh/Mustafabot/js-MoegirlPedia/QuickUndo.min.js");
- +半自动标签;
- +不改变监视状态;
- +小编辑;
- 修改编辑摘要。
但是……
其实星海的工具也能用,虽然只能在用户贡献页面,但是除了撤销还有回退/版本删除:
mw.loader.load("//testingcf.jsdelivr.net/gh/lovelyCARDINAL/wikitool/massRollback.min.js");
非链入使用检测
维护人员必备的妙妙小工具,就是误报率有点高,建议insource搜索一遍。
Dreammu小工具
自动查询非链入使用,虽然可以偷懒,但多开有很大的被WAF风险。(脚本在共享站,共享站使用不需要额外加域名)
mw.loader.load('/index.php?title=User:Dreammu/FileUsedNotLinkedAutoload.js&action=raw&ctype=text/javascript');
防止误回退
| 似乎效果不佳 |
|---|
|
首先,隐藏回退按钮防止误触: @import url('/index.php?title=User:穆斯塔法凯末尔/rollback.css&action=raw&ctype=text/css');
然后引入User:穆斯塔法凯末尔/rollback.js以恢复回退按钮显示。 |
快速填写移动理由
在移动页面时快速填写理由。(来自U:BearBin/common.js,请在“reasons”数组内自行增删改理由)
if (mw.config.get("wgCanonicalSpecialPageName") === "Movepage") {
var reasons = [
["理由1链接显示文字","理由1填入框内内容"],
["理由2"],
];
$("#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);
}, [])));
}
Cat-a-lot
前排提醒:依赖复杂,你百升级之后可能需要修复
基于喂鸡共享同名插件的4.77版:
- 受api限制,仅限维护人员/机器人/机器用户使用。
- 测试中,有已知bug。
- 共享站有同名的js镜像,在共享站调用时无需修改调用链接。
mw.loader.load("/index.php?title=User:穆斯塔法凯末尔/Cat-a-lot.js&action=raw&ctype=text/javascript");
配套的css:
@import url('//testingcf.jsdelivr.net/gh/Mustafabot/js-MoegirlPedia/Cat-a-lot.min.css');
- 已知bug:
- “参数设置”无法正常使用。(待修)
- 临时解决办法:在个人js中添加设置代码:
window.catALotPrefs = {"disambig_category":"消歧义分类","redir_category":"已重定向的分类","watchlist":"nochange","minor":true,"editpages":true,"docleanup":false,"subcatcount":50,"uncat":false,"button":false};
- disambig_category:消歧义分类名称,萌百的全部消歧义分类皆在Category:消歧义分类下;
- redir_category:重定向分类名称,萌百的全部重定向分类皆在Category:已重定向的分类下;
- watchlist:编辑页面的监视列表选项;
- minor:将编辑标记为小修改(如果您在系统参数设置中已设置将所有编辑标记为小修改,此选项不会对现有行为进行改动),默认为false;
- editpages:允许对不是文件的页面和子分类进行分类操作,默认为false;
- docleanup:移除{{Check categories}}并进行其他细节清理,此项设置为false即可,萌百无此模板,不需要该功能;
- subcatcount:最多显示的子分类数量,不建议超过50个。
- uncat:移除{{Uncategorized}},萌百无此模板,保持false即可;
- button:以按钮取代文字,默认为true。[2]
输入分类名后必须回车,移动端打不出回车导致无法正常使用。(维基共享也没修好这个bug,但是AI帮我修好了)有不小概率操作失败,请刷新重试。(已修复)- 分类名含不可见字符时编辑出错:“找不到分类”
Inspector
- 主页面:U:Bhsd/Inspector
热修复版,修复了Wikiplus同款bug。
mw.loader.load("//fastly.jsdelivr.net/gh/Mustafabot/js-MoegirlPedia/Inspector.min.js");
DisamAssist
引入自zhwp:User:暁月凛奈/DisamAssist.js,测试中,尚待更多适应性修改。
mw.loader.load("/index.php?title=User:穆斯塔法凯末尔/DisamAssist.js&action=raw&ctype=text/javascript");
@import url('/index.php?title=User:穆斯塔法凯末尔/DisamAssist.css&action=raw&ctype=text/css');
修改配置:复制上述文件源码后自行修改。
批量检测文件全域用途
Claude 3.7 Sonnet新鲜出炉,纯AI几乎无人工,快来尝一下罢
mw.loader.load("//fastly.jsdelivr.net/gh/Mustafabot/js-MoegirlPedia/MassGlobalUsageChecker.min.js");
神秘bug:有概率无法正常加载,清除缓存后可解决。
注释与外部链接
var namespace = mw.config.get("wgNamespaceNumber"),
pageName = mw.config.get('wgPageName');
_addText = "{{Documentation|User:没有羽翼的格雷塔/js}}";
//mw.loader.load(['ext.gadget.moeskin-classic']);
window.inspector = {
summary: "//[[U:Bhsd/Inspector|Inspector]]",
variants: true,
replace: true,
resizable: true,
entity: true,
diff: true
};
if (mw.config.get( 'skin' ) == 'vector') {
mw.loader.using( 'mediawiki.util' ).then(function() {
$(mw.util.addPortletLink('p-cactions', '#', 'Inspector')).click(function(e) {
e.preventDefault();
this.remove();
mw.loader.load('//testingcf.jsdelivr.net/gh/Mustafabot/js-MoegirlPedia/Inspector.min.js');
});
});
}
mw.loader.load("//fastly.jsdelivr.net/gh/BearBin1215/MoegirlPedia@master/dist/gadgets/ExportXML.min.js");
window.ExportXML = true;
mw.loader.load("//fastly.jsdelivr.net/gh/BearBin1215/MoegirlPedia@master/dist/gadgets/DynamicRecentChanges.min.js");
mw.loader.load("//testingcf.jsdelivr.net/gh/lovelyCARDINAL/wikitool/massRollback.min.js");
mw.loader.load("//testingcf.jsdelivr.net/gh/Mustafabot/js-MoegirlPedia/Wikiplus-api.min.js");
mw.loader.load("//testingcf.jsdelivr.net/gh/Mustafabot/js-MoegirlPedia/MarkBlocked.min.js");
mw.loader.load("/index.php?title=User:穆斯塔法凯末尔/Cat-a-lot.js&action=raw&ctype=text/javascript");
mw.loader.load("/index.php?title=User:穆斯塔法凯末尔/DisamAssist.js&action=raw&ctype=text/javascript");
mw.loader.load("/index.php?title=User:屠麟傲血/lyricRuby.js&action=raw&ctype=text/javascript");
//mw.loader.load("//testingcf.jsdelivr.net/gh/Mustafabot/js-MoegirlPedia/DisamAssist.min.js");
window.catALotPrefs = {"watchlist":"preferences","minor":true,"editpages":true,"docleanup":false,"subcatcount":10};
//mw.loader.load("//testingcf.jsdelivr.net/gh/Mustafabot/js-MoegirlPedia/MassEditWithWarning.min.js");
if (mw.config.get("wgNamespaceNumber") === -1) { // 此处为MediaWiki名字空间编号,可参见[[Help:名字空间]]
switch (mw.config.get("wgTitle")) {
case "MassEdit":
mw.loader.load("/index.php?title=User:BearBin/js/MassEdit.js&action=raw&ctype=text/javascript"); // 仅在访问Special:MassEdit时加载批量编辑工具
break;
case "TextDiff":
mw.loader.load("//testingcf.jsdelivr.net/gh/BearBin1215/MoegirlPedia@master/dist/gadgets/TextDiff.min.js");
}
} else if (mw.config.get("wgNamespaceNumber") === 2) {
mw.loader.load("/index.php?title=User:SaoMikoto/js/DraftToMain.js&action=raw&ctype=text/javascript"); // 仅在用户名字空间下加载本快速移动工具
} else {
switch (mw.config.get("wgAction")) {
case "edit":
case "submit":
mw.loader.load("//fastly.jsdelivr.net/gh/BearBin1215/MoegirlPedia@master/dist/gadgets/CtrlS.min.js"); // 仅在动作为“edit”或“submit”时启用Ctrl+S快速保存工具
break;
case "view":
mw.loader.load("//testingcf.jsdelivr.net/gh/BearBin1215/MoegirlPedia@master/dist/gadgets/ShowContributors.min.js"); // 仅在动作为“view”时启用页面贡献者统计工具
break;
}
}
// 由于Special页面的工具并非全局启用,需额外添加侧边栏快速入口
[
["MassEdit", "批量编辑"],
["TextDiff","文本差异比较"], // 可自行添加
].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());
});
}
});
/** InPageEdit Preferences */
(window.InPageEdit = window.InPageEdit || {}).myPreference = {
"doNotCollectMyInfo": false,
"editMinor": false,
"editSummary": "$section//[[U:机智的小鱼君/InPageEdit|InPageEdit]] $oldid",
"lockToolBox": false,
"redLinkQuickEdit": false,
"outSideClose": false,
"watchList": "preferences",
"noConfirmEdit": false,
"plugins": [
"toolbox.js",
"edit-any-page.js",
"quick-thank.js",
"code-mirror/cm6.js",
"color-preview.js"
]
}
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);
}, [])));
}
mw.loader.load("//testingcf.jsdelivr.net/gh/BearBin1215/MoegirlPedia@master/dist/gadgets/ListEnhancer.min.js");
mw.loader.load('//testingcf.jsdelivr.net/gh/BearBin1215/MoegirlPedia@master/dist/gadgets/TableExporter.min.js');
mw.loader.load('/index.php?title=User:AnnAngela/js/userStatus.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=User:AnnAngela/js/Music163Lrc.js&action=raw&ctype=text/javascript');
// Wikiplus
mw.loader.load("//testingcf.jsdelivr.net/gh/BearBin1215/wikiTools@master/Wikiplus/Wikiplus-replace.min.js");
window.WPSummary = [
"修正笔误",
"修正事实错误",
"内部链接",
"内容扩充",
"去除表达歧义",
"消歧义",
"排版",
{
name:"noinclude前后多余换行",
detail:"noinclude前后多余换行会嵌入,导致排版混乱",
},
{
name:"MoeSkin下显示异常",
detail:"[[MGP:MoeSkin|MoeSkin]]下显示异常",
},
{
name: "页顶模板顺序",
detail: "[[MGP:模板规范#顶部模板排序|顶部模板排序]]",
},
{
name:"应使用播放器或外部链接",
detail:"[[MGP:音乐与视听作品使用指引|存在可替代合法外部播放源时,应使用播放器或外部链接]]",
}
];
mw.loader.load("//testingcf.jsdelivr.net/gh/BearBin1215/MoegirlPedia@master/dist/gadgets/WikiplusSummary.min.js");
window.popupStructure='menus';
window.popupFixDabs=true;
window.popupRedlinkRemoval=true;
window.popupShortcutKeys=true;
window.popupTocLinks=true;
window.popupFixRedirs=true;
window.popupRedirAutoClick='wpSave';
window.popupDabsAutoClick='wpSave';
window.popupDabRegexp='(\\{\\{\\s*disambig(?!uation needed)|disambig|消歧[义義]页|Dablink|Hatnote\\s*\\}\\}|disamb\\s*\\}\\}|dab\\s*\\}\\})|\\{\\{\\s*(((geo|hn|road?|school|number)dis)|[234][lc][acw]|(road|ship)index)(\\s*[|][^}]*)?\\s*[}][}]|is a .*disambiguation.*page';
mw.loader.load("//testingcf.jsdelivr.net/gh/BearBin1215/MoegirlPedia@master/dist/gadgets/Excel2Wiki.min.js");
mw.loader.load('/index.php?title=User:bhsd/js/SettingsDialog.js&action=raw&ctype=text/javascript');
mw.loader.load("//testingcf.jsdelivr.net/gh/BearBin1215/MoegirlPedia@master/dist/gadgets/AdvancedSearch.min.js");
mw.loader.load("//fastly.jsdelivr.net/gh/GuoPCinGitHub/MGP@master/js/TSIndicator.min.js");
mw.loader.load('//testingcf.jsdelivr.net/gh/Mustafabot/js-MoegirlPedia/QuickUndo.min.js');
mw.loader.load("//testingcf.jsdelivr.net/gh/BearBin1215/MoegirlPedia@master/dist/gadgets/HistoryViewer.min.js");
mw.loader.load("//testingcf.jsdelivr.net/gh/BearBin1215/MoegirlPedia@master/dist/gadgets/BulkMove.min.js");
mw.loader.load('//testingcf.jsdelivr.net/gh/Mustafabot/js-MoegirlPedia/MassDelete.min.js');
window.MassDelete = true;
/*UserMessages*/
window.AxUserMsgCustomTemplate = [
['User:BearBin/UserMessages/WelcomeToMGPVNG', "WelcomeToMGPVNG", "萌娘百科视觉小说研究会邀请函", 16, "邀请加入[[Template:萌娘百科视觉小说研究会|萌娘百科视觉小说研究会]]"],
['User:穆斯塔法凯末尔/UserMessages/VUP', "WelcomeToVUP", "萌娘百科虚拟UP主编辑组邀请函", 128, "邀请加入[[Template:萌娘百科虚拟UP主编辑组|萌娘百科虚拟UP主编辑组]]"],
];
mw.loader.load("/index.php?title=User:穆斯塔法凯末尔/rollback.js&action=raw&ctype=text/javascript");
mw.loader.load("//fastly.jsdelivr.net/gh/GuoPCinGitHub/MGP@master/js/ModIcon.min.js");
mw.loader.load("//fastly.jsdelivr.net/gh/GuoPCinGitHub/MGP@master/js/ModIconPrep.min.js");
window.TextDiff = true;
// 标记有权编辑/移动的保护页面的保护等级
if (![-1].includes(namespace)) {
if (mw.config.get('wgRestrictionEdit').includes('patrolleredit')) {
$('#ca-edit span a').css({'cursor':'not-allowed', 'color':'darkred', 'font-variant':'small-caps'}).html('<b>[Patroller Edit]</b>');
}
else if (mw.config.get('wgRestrictionEdit').includes('extendedconfirmed')){
$('#ca-edit span a').css({'cursor':'not-allowed', 'color':'darkred', 'font-variant':'small-caps'}).html('<b>[EC-Protected Edit]</b>');
}
else if (mw.config.get('wgRestrictionEdit').includes('autoconfirmed')){
$('#ca-edit span a').css({'cursor':'not-allowed', 'color':'darkred', 'font-variant':'small-caps'}).html('<b>[Semi-Protected Edit]</b>');
}
if (mw.config.get('wgRestrictionMove').includes('patrolleredit')) {
$('#ca-move a').css({'cursor':'not-allowed', 'color':'darkred', 'font-variant':'small-caps'}).html('<b>[Patroller Move]</b>');
}
else if (mw.config.get('wgRestrictionMove').includes('extendedconfirmed')){
$('#ca-move a').css({'cursor':'not-allowed', 'color':'darkred', 'font-variant':'small-caps'}).html('<b>[EC-Protected Edit]</b>');
}
else if (mw.config.get('wgRestrictionMove').includes('autoconfirmed')){
$('#ca-move a').css({'cursor':'not-allowed', 'color':'darkred', 'font-variant':'small-caps'}).html('<b>[Semi-Protected Move]</b>');
}
mw.loader.addStyleTag("#ca-quick-edit{display:none;}");
}
/** DynamicRecentChanges 增强 **/
window.realtimeRecentChangeCallback = function() {
/* 联动 IPE */
window.InPageEdit&&window.InPageEdit.__loaded&&window.InPageEdit.loadQuickDiff&&window.InPageEdit.loadQuickDiff();
/* 恢复部分监视条目加粗 */
Array.from(document.body.querySelectorAll(".mw-changeslist-line-watched .mw-changeslist-line-inner>.mw-title>.mw-changeslist-title")).forEach(function(e){document.querySelectorAll(".mw-changeslist-title[title='"+e.title+"']").forEach(function(e){var t=e.closest("table");t&&(t.classList.remove("mw-changeslist-notwatched"),t.classList.add("mw-changeslist-line-watched"))})})
};