MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针。
如果在编辑的过程中遇到了什么问题,可以去讨论板提问。
为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证。
MCBBS Wiki GitHub群组已上线!
您可以在回声洞中发表吐槽!
服务器状态监控。点击进入
本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>
用户:Salt lovely/common.js:修订间差异
跳到导航
跳到搜索
Salt lovely(留言 | 贡献) 小 (MW日常不认识JS代码) |
Salt lovely(留言 | 贡献) 小 (编辑“用户:Salt_lovely/common.js” // 维基盐编辑器) |
||
(未显示同一用户的12个中间版本) | |||
第1行: | 第1行: | ||
⚫ | |||
var thisHref = window.location.href; |
|||
// 受不了MW的**(粗口)JS压缩器了,是不是“ES2015”你们只支持了“ES”和“5”???????????? |
|||
//使用wikiplus |
|||
mw.loader.load('https://wikiplus-app.com/Main.min.js'); |
|||
// ------------------ |
|||
// 文档准备完毕后执行 |
|||
// ------------------ |
|||
$(document).ready(function(){ |
|||
//清理缓存 |
|||
$('#pt-logout').before('<li id="pt-purge"><a title="刷新页面并清理缓存" href="?action=purge">清理缓存</a></li>' |
|||
+'<li id="pt-editcount"><a title="查看编辑数" href="https://mcbbs-wiki.cn/wiki/特殊:编辑计数/Salt_lovely">编辑计数</a></li>'); |
|||
//日志统计 |
|||
countLog("#mw-log-deleterevision-submit>ul") |
|||
//编辑器更改 |
|||
loadAddon('WikiEditorModify') |
|||
}) |
|||
// ------------------ |
|||
// 一些函数,需要自取 |
|||
// ------------------ |
|||
//加载Addon-XXX.js |
|||
function loadAddon(s) { |
|||
⚫ | |||
, "text/javascript"); |
|||
} |
|||
//获取页面标题 |
|||
function getTitle() { |
|||
var url = document.querySelector('#ca-view a').getAttribute('href'); |
|||
return url.slice(url.indexOf('/wiki/')+6); |
|||
} |
|||
//计算日志有几行 |
|||
function countLog(obj) { |
|||
$(obj).each(function(){ |
|||
var count=$(this).children('li').length |
|||
$(this).prepend('<span>共计'+count+'条记录</span>') |
|||
}) |
|||
} |
|||
// -------- |
|||
// 高亮代码 |
|||
// -------- |
|||
var preList = document.querySelectorAll('pre') |
|||
var el |
|||
for (var i = 0; i < preList.length; i++) { |
|||
el=preList[i] |
|||
el.classList.add('line-numbers') |
|||
el.innerHTML='<code class="language-'+langGuess(el)+'">'+el.innerHTML+'</code>' |
|||
} |
|||
//猜测是哪种编程语言 |
|||
function langGuess(el) { |
|||
var pel = el.parentNode |
|||
var langList = ['css', 'js', 'java', 'vbnet', 'batch', 'python', 'lua', 'vb', 'basic', 'c', 'cpp', 'sql', 'bbcode', 'kotlin', 'markdown'] |
|||
for (var i = 0; i < langList.length; i++) { |
|||
if (pel.classList.contains(langList[i])) { |
|||
return langList[i] |
|||
} |
|||
} |
|||
if (thisHref.indexOf('.js') != -1) { |
|||
return 'js' |
|||
} else if (thisHref.indexOf('.css') != -1) { |
|||
return 'css' |
|||
} |
|||
return 'js' |
|||
} |
|||
//导入插件 |
|||
$('head').append('<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/prism.min.js"></script>' //本体 |
|||
//+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-basic.min.js"></script>' |
|||
+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-batch.min.js"></script>' |
|||
+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-bbcode.min.js"></script>' |
|||
+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-c.min.js"></script>' |
|||
+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-cpp.min.js"></script>' |
|||
+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-css.min.js"></script>' |
|||
//+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-go.min.js"></script>' |
|||
+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-java.min.js"></script>' |
|||
+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-javascript.min.js"></script>' |
|||
+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-json.min.js"></script>' |
|||
//+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-kotlin.min.js"></script>' |
|||
//+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-markdown.min.js"></script>' |
|||
+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-lua.min.js"></script>' |
|||
+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-python.min.js"></script>' |
|||
//+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-sql.min.js"></script>' |
|||
+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-visual-basic.min.js"></script>' |
|||
//+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-vbnet.min.js"></script>' |
|||
+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/components/prism-yaml.min.js"></script>' |
|||
//+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/plugins/inline-color/prism-inline-color.min.js"></script>' //插件 行内颜色 |
|||
//+'<link href="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/plugins/inline-color/prism-inline-color.min.css" rel="stylesheet">' // 该插件的CSS |
|||
+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/plugins/line-numbers/prism-line-numbers.min.js"></script>' //插件 显示行数 |
|||
+'<link href="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/plugins/line-numbers/prism-line-numbers.min.css" rel="stylesheet">' |
|||
+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/plugins/toolbar/prism-toolbar.min.js"></script>' // 插件 工具栏 |
|||
+'<link href="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/plugins/toolbar/prism-toolbar.min.css" rel="stylesheet">' |
|||
+'<script src="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/plugins/show-language/prism-show-language.min.js"></script>' // 插件 显示语言 |
|||
+'<link href="https://cdn.bootcdn.net/ajax/libs/prism/1.22.0/themes/prism.min.css" rel="stylesheet">') //样式 |
|||
// API扩展 |
|||
window.addEventListener('load',()=>{$.extend(mw.Api.prototype,{postWithEditToken:function(params,ajaxOptions){return this.postWithToken('csrf',params,ajaxOptions)},getEditToken:function(){return this.getToken('csrf')},create:function(title,params,content){return this.postWithEditToken($.extend(this.assertCurrentUser({action:'edit',title:String(title),text:content,formatversion:'2',createonly:true}),params)).then(function(data){return data.edit})},edit:function(title,transform){var basetimestamp,curtimestamp,api=this;title=String(title);return api.get({action:'query',prop:'revisions',rvprop:['content','timestamp'],titles:[title],formatversion:'2',curtimestamp:true}).then(function(data){var page,revision;if(!data.query||!data.query.pages){return $.Deferred().reject('unknown')}page=data.query.pages[0];if(!page||page.invalid){return $.Deferred().reject('invalidtitle')}if(page.missing){return $.Deferred().reject('nocreate-missing')}revision=page.revisions[0];basetimestamp=revision.timestamp;curtimestamp=data.curtimestamp;return transform({timestamp:revision.timestamp,content:revision.content})}).then(function(params){var editParams=typeof params==='object'?params:{text:String(params)};return api.postWithEditToken($.extend({action:'edit',title:title,formatversion:'2',assert:mw.config.get('wgUserName')?'user':undefined,basetimestamp:basetimestamp,starttimestamp:curtimestamp,nocreate:true},editParams))}).then(function(data){return data.edit})},newSection:function(title,header,message,additionalParams){return this.postWithEditToken($.extend({action:'edit',section:'new',title:String(title),summary:header,text:message},additionalParams))}})}); |