User:PexEric/dates.js
外观
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
mw.loader.load(['mediawiki.util.templateScript', 'mediawiki.util.savePagesAsync', 'mediawiki.util.parseDate'], function() {
mw.util.templateScript.add([
{
name: "英文日期->ISO",
tooltip: "英文日期格式修正至ISO格式",
script: en_dates_driver
},
{
name: "英文日期->ISO (不显示更改)",
tooltip: "英文日期格式修正至ISO格式,但不显示所做的更改",
script: en_dates_no_diff_driver
},
{
name: "中文日期->ISO",
tooltip: "中文日期格式修正至ISO格式",
script: zh_dates_driver
},
{
name: "ISO日月年->ISO年月日",
tooltip: "ISO格式的日月年日期修正,包括ISO年月日标准格式修正",
script: dmy_dates_driver
},
{
name: "ISO月日年->ISO年月日",
tooltip: "ISO格式的月日年日期修正,包括ISO年月日标准格式修正",
script: mdy_dates_driver
},
{
name: "删除语言参数",
tooltip: "删除参考资料语言标签",
script: del_language_driver
}
], { forActions: "edit", category: "参考资料日期修正" });
function ohc_extend_editor(editor) {
editor.ohc_regex = function(rg, sub, func) {
var text = editor.getValue();
text = ohc.dateutil.regex(text, rg, sub, func);
editor.setValue(text);
return editor;
};
}
var summary = {
en_date: "基于[[维基百科:格式手册/日期和数字|格式手册]]修正日期格式,由[[User:Vozhuo/Tool/MOSNUM dates|Javascript]]驱动",
zh_date: "参考资料中文日期格式[[User:Vozhuo/Tool/MOSNUM dates|转ISO]]",
dmy_date: "参考资料ISO日月年格式[[User:Vozhuo/Tool/MOSNUM dates|修正]]",
mdy_date: "参考资料ISO月日年格式[[User:Vozhuo/Tool/MOSNUM dates|修正]]",
del_language: "[[User:Vozhuo/Tool/MOSNUM dates|删除]]所有语言参数"
};
function edit_summary(editor, summary) {
editor
.options({ minor: true })
.appendEditSummary(summary)
.saveChangesAsync();
}
function fix_ISO_dates(editor) {
editor.ohc_regex(/(\|\s*(?:(?:(?:access|archive|)-?)date)\s*=\s*)@YYYY[.\/-]@MM[.\/-]@DD(?=[\s]*[|}])/gi, "$1@YYYY-@MM-@DD");