注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
?_=1
来访问最新页面。https://mzh.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>