MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针。
如果在编辑的过程中遇到了什么问题,可以去讨论板提问。
为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证。
MCBBS Wiki GitHub群组已上线!
您可以在回声洞中发表吐槽!
服务器状态监控。点击进入
本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>
用户:Salt lovely/common.js:修订间差异
跳到导航
跳到搜索
Salt lovely(留言 | 贡献) 小 (API扩展) |
Salt lovely(留言 | 贡献) 小 (.) |
||
第93行: | 第93行: | ||
// API扩展 |
// API扩展 |
||
window.addEventListener('load',()=>{ |
|||
(function(){$.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))}})}()); |
(function(){$.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))}})}()); |
||
}) |
2020年11月9日 (一) 15:40的版本
var thisHref = window.location.href;
//使用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) {
mw.loader.load("//mcbbs-wiki.cn/index.php?title=MediaWiki:Addon-" + s + ".js&action=raw&ctype=text/javascript"
, "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',()=>{
(function(){$.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))}})}());
})