Site Notice

hello, world

Difference between revisions of "User:机智的小鱼君/common.js"

From Project-EPB Commons
m ([InPageEdit] 没有编辑摘要)
([InPageEdit] 没有编辑摘要)
Line 2: Line 2:
 
/* InPageEdit 自定义设置 */
 
/* InPageEdit 自定义设置 */
 
window.InPageEdit = window.InPageEdit || {};
 
window.InPageEdit = window.InPageEdit || {};
window.InPageEdit.buttons = [{
+
InPageEdit.buttons =[{
   open: '<!-- ',
+
   open: '<-- ', // 添加到光标前的内容
   middle: '注释文字',
+
   middle: '注释文字', // 选区内容占位符,选填
   close: ' -->'
+
   close: ' -->', // 添加到光标后的内容
 +
  text: '<span class="material-icons">description</span>' // 按钮文字,被解析为html
 +
}, { // 再举个栗子
 +
  open: '<s>',
 +
  middle: '删除线',
 +
  close: '</s>',
 +
  text: '<span class="material-icons">strikethrough_s</span>'
 
}];
 
}];
 
InPageEdit.myPreference = {"outSideClose":true,"editMinor":false,"editSummary":"[InPageEdit] $section没有编辑摘要$oldid"};
 
InPageEdit.myPreference = {"outSideClose":true,"editMinor":false,"editSummary":"[InPageEdit] $section没有编辑摘要$oldid"};

Revision as of 20:10, 10 April 2020

mw.loader.load('https://common.wjghj.cn/js/InPageEdit-canary');
/* InPageEdit 自定义设置 */
window.InPageEdit = window.InPageEdit || {};
InPageEdit.buttons =[{
  open: '<-- ', // 添加到光标前的内容
  middle: '注释文字', // 选区内容占位符,选填
  close: ' -->', // 添加到光标后的内容
  text: '<span class="material-icons">description</span>' // 按钮文字,被解析为html
}, { // 再举个栗子
  open: '<s>',
  middle: '删除线',
  close: '</s>',
  text: '<span class="material-icons">strikethrough_s</span>'
}];
InPageEdit.myPreference = {"outSideClose":true,"editMinor":false,"editSummary":"[InPageEdit] $section没有编辑摘要$oldid"};
$(function () {
  $('#ca-view').after(
    $('<li>', {
      id: 'ca-quick-edit',
      class: 'collapsible'
    }).append(
      $('<span>').append(
        $('<a>', {
          href: 'javascript:void(0)'
        })
          .text('快速编辑')
          .click(function () {
            InPageEdit.edit({
              page: mw.config.get('wgPageName'),
              revision: mw.config.get('wgRevisionId')
            });
          })
      )
    )
  );
});
if (mw.config.get('wgIsArticle')) {
  $('#ca-history').append(
    $('<a>', {
      href: 'javascript:void(0);',
      style: 'margin-left:2px;top: -1.2em;position: relative;font-size: 8px;'
    }).append(
      $('<span>').html('最后更改')
    ).click(function () {
      InPageEdit.quickDiff({ fromtitle: mw.config.get('wgPageName'), torelative: 'prev' });
    })
  );
}
$('#firstHeading').append('<span style="font-size:12px;float:right">RevisionId: ' + mw.config.get('wgRevisionId') + '</span>');

/** 自动推送IPE **/
if (mw.config.get('wgPageName') === 'MediaWiki:Js-InPageEdit-canary.js') {
  $('#mw-content-text').prepend(
    $('<button>', { id: 'mergeCanary' })
      .text('合并到正式版')
      .click(function () {
        var versionNum = prompt('版本号?', '2.xx.x(build_' + wgRevisionId + ')');
        if (versionNum !== null) {
          var summary = prompt('摘要?', '[Automatic] Merged canary [[Special:Diff/' + wgRevisionId + ']]');
          if (summary !== null) {
            new mw.Api().post({
              action: 'parse',
              page: 'MediaWiki:Js-InPageEdit-canary.js',
              prop: 'wikitext',
              format: 'json'
            }).then(function (data1) {
              var canarytext = data1.parse.wikitext['*'],
                canarynew = canarytext.split('/*** BOT FLAG ***/')[1];
              new mw.Api().post({
                action: 'parse',
                page: 'MediaWiki:Js-InPageEdit-v2.js',
                prop: 'wikitext',
                format: 'json'
              }).then(function (data2) {
                var v2text = data2.parse.wikitext['*'],
                  v2new = v2text.split('/*** BOT FLAG ***/')[0] + '/*** BOT FLAG ***/' + canarynew;
                if (versionNum !== '' && versionNum !== '2.xx.x(build_' + wgRevisionId + ')') v2new = v2new.replace(/\/\*\=version\*\/(.*)\/\*version\=\*\//ig, "/*=version*/InPageEdit.version = '" + versionNum + "';/*version=*/");
                new mw.Api().postWithToken('csrf', {
                  action: 'edit',
                  title: 'MediaWiki:Js-InPageEdit-v2.js',
                  text: v2new,
                  summary: summary
                }).then(function () {
                  alert('成功!');
                });
              });
            });
          }
        }
      })
  );
}