注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
?_=1来访问最新页面。https://mobile.moegirl.org.cn/User:Sucaiking/better-editTools.js?_=1/**
* 该js用于覆盖编辑框的原有内容。目标是自定义.my-buttons和.oo-ui-fieldLayout-header。
* 目前完成了前半部分的优化。
* Copied from U:東東君 and U:在下羊羽君
* U:Sucaiking 针对自己<del>奇葩</del>的代码习惯进行了一些魔改。
**/
/*
使用方法 v2:
type 指定类型
{
text 纯文本
link 超链接
button 按钮(不填写默认为button)
}
style 指定样式
target 指定链接目标
start 指定开头
end 指定结尾
text 指定正文
text=<br/> 换行
疑问:
这玩意如果要改成在光标两侧生成内容的话,打印部分是不是要重写啊。
*/
// <nowiki>
$(document).ready(function()
{
if ($("#specialchars").length > 0)
{
var charsets =
[
{type:"text",text:"请为你的"},
{type:"text",style:"font-weight:bold;",text:"每一笔更改"},
{type:"text",text:"负责。"},
{text:"<br/>"},
{type:"text",style:"font-weight:bold;",text:"标题模板:"},
{type:"button",start:"{{标题替换|",end:"}}",text:"{{标题替换}}"},
{type:"button",start:"{{标题格式化|",end:"}}",text:"{{标题格式化}}"},
{text:"<br/>"},
{type:"text",style:"font-weight:bold;",text:"图像速查:"},
{type:"text",text: "【内链图像】"},
{type:"button",start:"[[File:",end: "]]",text: "[[File:文件名 | left/right/center/none | thumb | 宽度px | link=链接 | 标题(一定要放在最后)]]"},
{text:"<br/>"},
{type:"text",style:"font-weight:bold;color:transparent;",text:"图像速查:"}, // 占位用
{type:"text",text:"【画廊语法】"},
{type:"button",start:"<gallery>",end:"</gallery>",text:"File:文件名 | 标题 | link=内部链接 | alt=替代语言"},
{text:"<br/>"},
{type:"text",style:"font-weight:bold;",text:"表格速查:"},
{type:"text",text:" colspan="跨行",rowspan="跨列",class="wikitable" 指定维基表格样式"},
{text:"<br/>"},
{type:"text",style:"font-weight:bold;",text:"帮助文档:"},
{type:"link",target:"Help:图像",text:"【Help:图像】"},
{type:"link",target:"Help:外部图像",text:"【Help:外部图像】"},
{type:"link",target:"Help:表格",text:"【Help:表格】"},
{text: "<br/>"},
{type:"text",style:"font-weight:bold;",text:"特殊代码:"},
{type:"button",start:" ",end:"",text:"&nbsp;"},
];
$("div.my-buttons").empty(); /* 自己加的一行,抹除默认内容 */
if ($('#mycharinsert').length <= 0) {$("#specialchars").prepend("<p id='mycharinsert'></p>");}
for (var i in charsets)
{
/* 根据传入数据,分成三类情况生成label。elif真是屎山啊,switch/case也是 */
var label = {};
if (charsets[i].text == "<br/>") {label = document.createElement('br');}
else
{
switch(charsets[i].type)
{
case "text":
label = document.createElement('span');
label.innerHTML = charsets[i].text;
break;
case "link":
var original_link="https://zh.moegirl.org.cn/index.php?title="+charsets[i].target;
label = document.createElement('a');
label.setAttribute("href", original_link);
label.setAttribute("target", "_Blank");
label.innerHTML = charsets[i].text;
break;
default:
// case "button":
label = document.createElement('a');
label.setAttribute("class", "mw-charinsert-item");
label.setAttribute("href", "#");
label.setAttribute("data-mw-charinsert-start", charsets[i].start);
label.setAttribute("data-mw-charinsert-end", charsets[i].end);
break;
}
label.innerHTML = charsets[i].text;
var original_style="border-color:transparent;"+charsets[i].style;
label.setAttribute("style",original_style);
}
$('#mycharinsert').append(label);
}
}
// this code picked from mw.ext.charinsert
// 怎么打印的,我看不懂。
(function($, mw)
{
var addClickHandlers = function($content)
{
$content.find('a.mw-charinsert-item').each(function()
{
var $elm = $(this),
start = $elm.data('mw-charinsert-start'),
end = $elm.data('mw-charinsert-end');
if ($elm.data('mw-charinsert-done')) {return;}
$elm.click(function(e)
{
e.preventDefault();
mw.toolbar.insertTags(start, end, '');
})
.data('mw-charinsert-done', true)
.attr('href', '#');
});
};
$(function()
{addClickHandlers($(document));});
mw.hook('wikipage.content').add(addClickHandlers);
})
(jQuery, mediaWiki);
});
// </nowiki>