Site Notice

hello, world

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

From Project-EPB Commons
([InPageEdit] 没有编辑摘要)
m (// Via InPageEdit-v2)
 
(90 intermediate revisions by the same user not shown)
Line 1: Line 1:
mw.loader.load('https://cdn.jsdelivr.net/gh/dragon-fish/inpageedit-v2@master/script.js');
+
$.ajax({
/* InPageEdit 自定义设置 */
+
  url: 'http://127.0.0.1:1005/InPageEdit.js',
window.InPageEdit = window.InPageEdit || {};
+
  dataType: 'script',
InPageEdit.buttons =[{
+
}).then(
   open: '<-- ', // 添加到光标前的内容
+
  function () {
   middle: '注释文字', // 选区内容占位符,选填
+
    console.log('[InPageEdit] Using local dev')
   close: ' -->', // 添加到光标后的内容
+
  },
   text: '<span class="material-icons">description</span>' // 按钮文字,被解析为html
+
  function () {
}, { // 再举个栗子
+
    console.log('[InPageEdit] Local dev not found')
   open: '<s>',
+
    mw.loader.load('https://unpkg.com/mediawiki-inpageedit')
   middle: '删除线',
+
  }
  close: '</s>',
+
)
  text: '<span class="material-icons">strikethrough_s</span>'
+
 
}];
+
/** InPageEdit Preferences */
InPageEdit.myPreference = {"outSideClose":true,"editMinor":false,"editSummary":"[InPageEdit] $section没有编辑摘要$oldid"};
+
;(window.InPageEdit = window.InPageEdit || {}).myPreference = {
 +
   editMinor: false,
 +
   editSummary: '$section$oldid // Via InPageEdit-v2',
 +
   redLinkQuickEdit: true,
 +
   outSideClose: false,
 +
   watchList: true,
 +
   plugins: [
 +
    'toolbox.js',
 +
    'code-mirror/script.js',
 +
    'color-preview.js',
 +
    'edit-any-page.js',
 +
    'wiki-editor.js',
 +
  ],
 +
}
  
mw.hook('InPageEdit').add(function(){
+
mw.hook('InPageEdit').add(function (ctx) {
 
   if (mw.config.get('wgIsArticle')) {
 
   if (mw.config.get('wgIsArticle')) {
     mw.hook('dev.i18n').add(function (i18no) {
+
     var _msg = ctx._msg
      //i18no.loadMessages('InPageEdit-v2').then(function(i18n){
+
    $('#ca-edit, #ca-viewsource').after(
        $('#ca-edit, #ca-viewsource').after(
+
      $('<li>', {
          $('<li>', {
+
        id: 'ca-quick-edit',
            id: 'ca-quick-edit',
+
        class: 'collapsible',
            class: 'collapsible'
+
      }).append(
          }).append(
+
        $('<span>').append(
            $('<span>').append(
+
          $('<a>', {
              $('<a>', {
+
            href: 'javascript:void(0)',
                href: 'javascript:void(0)',
+
            text: _msg('quick-edit'),
                text: '快速编辑'
+
          }).on('click', function () {
              }).click(function () {
+
            InPageEdit.edit({
                InPageEdit.edit({
+
              page: mw.config.get('wgPageName'),
                  page: mw.config.get('wgPageName'),
+
              revision: mw.config.get('wgRevisionId'),
                  revision: mw.config.get('wgRevisionId')
+
            })
                });
+
          })
              })
+
         )
            )
+
       )
          )
+
     )
         );
 
       //});
 
     });
 
 
   }
 
   }
});
+
})
  
 
if (mw.config.get('wgIsArticle')) {
 
if (mw.config.get('wgIsArticle')) {
Line 46: Line 56:
 
     $('<a>', {
 
     $('<a>', {
 
       href: 'javascript:void(0);',
 
       href: 'javascript:void(0);',
       style: 'margin-left:2px;top: -1.2em;position: relative;font-size: 8px;'
+
       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' });
 
 
     })
 
     })
   );
+
      .append($('<span>').html('最后更改'))
 +
      .on('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>');
+
$('#firstHeading').append(
 +
  '<span style="font-size:12px;float:right">wgRevisionId: ' +
 +
    mw.config.get('wgRevisionId') +
 +
    ' | wgArticleId: ' +
 +
    mw.config.get('wgArticleId') +
 +
    '</span>'
 +
)
  
/** 自动推送IPE **/
+
/** Wikiplus */
if (mw.config.get('wgPageName') === 'MediaWiki:Js-InPageEdit-canary.js') {
+
mw.loader.load(
  $('#mw-content-text').prepend(
+
  'https://wikiplus.oss-cn-shanghai.aliyuncs.com/Main.development.js'
    $('<button>', { id: 'mergeCanary' })
+
)
      .text('合并到正式版')
+
// 修改 IPE 文字防止抑郁
      .click(function () {
+
InPageEdit.i18n = InPageEdit.i18n || {}
        var versionNum = prompt('版本号?', '2.xx.x(build_' + wgRevisionId + ')');
+
InPageEdit.i18n['zh-hans'] = InPageEdit.i18n['zh-hans'] || {}
        if (versionNum !== null) {
+
InPageEdit.i18n['zh-hans']['quick-edit'] = 'IPE 快编'
          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('成功!');
 
                });
 
              });
 
            });
 
          }
 
        }
 
      })
 
  );
 
}
 

Latest revision as of 04:35, 10 April 2022

$.ajax({
  url: 'http://127.0.0.1:1005/InPageEdit.js',
  dataType: 'script',
}).then(
  function () {
    console.log('[InPageEdit] Using local dev')
  },
  function () {
    console.log('[InPageEdit] Local dev not found')
    mw.loader.load('https://unpkg.com/mediawiki-inpageedit')
  }
)

/** InPageEdit Preferences */
;(window.InPageEdit = window.InPageEdit || {}).myPreference = {
  editMinor: false,
  editSummary: '$section$oldid // Via InPageEdit-v2',
  redLinkQuickEdit: true,
  outSideClose: false,
  watchList: true,
  plugins: [
    'toolbox.js',
    'code-mirror/script.js',
    'color-preview.js',
    'edit-any-page.js',
    'wiki-editor.js',
  ],
}

mw.hook('InPageEdit').add(function (ctx) {
  if (mw.config.get('wgIsArticle')) {
    var _msg = ctx._msg
    $('#ca-edit, #ca-viewsource').after(
      $('<li>', {
        id: 'ca-quick-edit',
        class: 'collapsible',
      }).append(
        $('<span>').append(
          $('<a>', {
            href: 'javascript:void(0)',
            text: _msg('quick-edit'),
          }).on('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('最后更改'))
      .on('click', function () {
        InPageEdit.quickDiff({
          fromtitle: mw.config.get('wgPageName'),
          torelative: 'prev',
        })
      })
  )
}

$('#firstHeading').append(
  '<span style="font-size:12px;float:right">wgRevisionId: ' +
    mw.config.get('wgRevisionId') +
    ' | wgArticleId: ' +
    mw.config.get('wgArticleId') +
    '</span>'
)

/** Wikiplus */
mw.loader.load(
  'https://wikiplus.oss-cn-shanghai.aliyuncs.com/Main.development.js'
)
// 修改 IPE 文字防止抑郁
InPageEdit.i18n = InPageEdit.i18n || {}
InPageEdit.i18n['zh-hans'] = InPageEdit.i18n['zh-hans'] || {}
InPageEdit.i18n['zh-hans']['quick-edit'] = 'IPE 快编'