• 正在查找将来过去时的官方设定集?不如看看万界大百科吧!
  • 《将来过去时》第一部分 现在 魔科纪元的少年少女 即将正式发布!
  • 让我偷偷看一眼小鱼君的博客……
  • 服务器已成功迁移到 阿里云(杭州)

“Template:Editnotice/Group/Clearyourcache”的版本间的差异

来自小鱼君和他的朋友们
(导入1个版本)
([InPageEdit])
第1行: 第1行:
{{#switch:{{NAMESPACE}}
+
/**
|MediaWiki|Template=
+
* MediaWiki JS Plugin: In Page Edit
 +
* Author: 机智的小鱼君
 +
* Url: https://github.com/Dragon-Fish/wjghj-wiki/Gadgets/in-page-edit
 +
* Description: Let you edit page without open new tab. And edit Navebox via navbar, edit section via section edit link etc.
 +
**/
 +
function InPageEdit(inPageEditTarget) {
  
{{Navbox
+
  if ($('#InPageEdit').length > 0) { // 只能存在一个窗口
|name = Editnotice/Group/Clearyourcache
+
   $('#InPageEdit').remove();
|title = [[Template:Editnotice/Group/Clearyourcache|社区样式表]]
+
  }
 +
  // 开始执行任务
 +
  $('body').addClass('action-in-page-edit');
 +
  // Variables
 +
  if (inPageEditTarget == undefined) {
 +
   inPageEditTarget = mw.config.get('wgPageName');
 +
  }
 +
  var origintext;
  
|group1 = [[Help:CSS|CSS]]
+
  new mw.Api().get({
| list1 = {{Navbox subgroup
+
   action: "parse",
 +
   page: inPageEditTarget,
 +
   prop: "wikitext",
 +
   format: "json"
 +
  }).then(function(data) {
 +
   origintext = data.parse.wikitext['*'];
 +
   ajaxArea()
 +
  }).fail(function() {
 +
   origintext = '<!-- 注意: 无法获取页面内容。新建页面请删除此行 -->\n';
 +
   ajaxArea()
 +
  });
 +
  function ajaxArea() {
 +
   // Create area & hide article
 +
   $('#mw-content-text').hide();
 +
   $('#mw-content-text').before('<div id="InPageEdit">' + '<h1 id="edit-title">in-page-edit-title</h1>' + '<textarea id="newcontent" style="width:100%;min-height:300px"></textarea>' + '<button id="cancle-btn">取消</button> <button id="preview-btn">预览</button><div style="float:right"><input id="reason" placeholder="编辑摘要"> <button id="submit-btn">提交</button></div>' + '<h1>预览</h1><div id="preview-area" style="padding:8px; border:2px dotted #aaa"></div>' + '</div>');
 +
   $('#InPageEdit #newcontent').val(origintext);
 +
   $('#InPageEdit #edit-title').html('正在编辑: ' + inPageEditTarget);
  
  |group1=Main
+
   // Cancle
  |list1=[[Mediawiki:Common.css]] {{w}} [[Mediawiki:Wikia.css|<s>Mediawiki:Wikia.css</s>]]
+
   $('#InPageEdit #cancle-btn').click(function() {
 +
    var cancleconfirm = confirm('取消吗?');
 +
    if (cancleconfirm) {
 +
     $('body').removeClass('action-in-page-edit');
 +
     $('#InPageEdit').remove();
 +
     $('#mw-content-text').show();
 +
    }
 +
   });
  
  |group2=[[help:Infobox|Portable Infobox]]
+
   // Preview
  |list2=[[Mediawiki:Portable-infobox.css]]
+
   $('#InPageEdit #preview-btn').click(function() {
 +
    new mw.Api().post({
 +
     action: "parse",
 +
     text: $('#InPageEdit #newcontent').val(),
 +
     prop: "text",
 +
     preview: true,
 +
     format: "json"
 +
    }).then(function(data) {
 +
     var previewcontent = data.parse.text['*'];
  
  |group3=CSS animations
+
     $('#InPageEdit #preview-area').html(previewcontent);
  |list3=[[MediaWiki:Animation.css]]
+
    });
 +
   });
  
  |group4=User appellation
+
   // Submit
  |list4=[[MediaWiki:User-appellation.css|<s>MediaWiki:User-appellation.css</s>]]
+
   $('#InPageEdit #submit-btn').click(function() {
 +
    var submitconfirm = confirm('提交吗?');
 +
    if (submitconfirm) {
 +
     new mw.Api().post({
 +
      action: 'edit',
 +
      text: $('#InPageEdit #newcontent').val(),
 +
      title: inPageEditTarget,
 +
      summary: '[InPageEdit] ' + $('#InPageEdit #reason').val(),
 +
      token: mw.user.tokens.get('editToken')
 +
     }).done(function() {
 +
      $('#InPageEdit').html('<center style="font-weight:bold;color:green;min-height: 300px;line-height: 300px;font-size: 48px;">已提交</center>');
 +
      window.location.reload();
 +
     });
 +
    }
 +
   });
 +
  }
 +
}
  
  }}
+
/** Add button **/
 
+
$(function() {
 
+
   $('.action-view #p-userpagetools ul').append($('<li>').append($('<a>').addClass('in-page-edit-link').attr('href', 'javascript:void(0)').text('快速编辑').click(function() {
|group2=[[Special:JSpages|JavaScript]]
+
   InPageEdit()
|list2={{Navbox subgroup
+
  })));
   |group1=Main
+
});
  |list1=[[Mediawiki:Common.js]] {{w}} [[Mediawiki:Wikia.js|<s>Mediawiki:Wikia.js</s>]]
+
/** Get links in ariticle **/
 
+
$(function() {
   |group2=ImportJS
+
   var self = this;
   |list2={{Navbox subgroup
+
   $('#mw-content-text a.external').each(function(i) {
    |group1=Import
+
    var url = $(this).attr('href');
    |list1=[[Mediawiki:ImportJS]]
+
    var reg = /(([^?&=]+)(?:=([^?&=]*))*)/g;
 
+
   var params = {},
    |group2=[[w:c:dev:ProfileTags|ProfileTags]]
+
   match;
   |list2=[[Mediawiki:ProfileTags]]
+
    while (match = reg.exec(url)) {
 
+
    params[match[2]] = decodeURIComponent(match[3]);
 
+
    }
    }}
+
   if (params.action === 'edit' && params.title !== undefined && params.section !== 'new') {
 
+
    $(this).after($('<a>').attr({
  |group3=
+
     'href': 'javascript:void(0)',
  |list3=
+
     'class': 'in-page-edit-link'
 
+
    }).html('<sup title="快速编辑">[编]<sup>').data({
  }}
+
     'target': decodeURIComponent(params.title),
 
+
     'number': params.section || -1
}}
+
    }));
 
+
    $('.in-page-edit-link').click(function() {
}}
+
     InPageEdit(params.title)
 
+
    });
----
+
   }
 +
  });
 +
});

2019年9月23日 (一) 23:00的版本

/**

* MediaWiki JS Plugin: In Page Edit
* Author: 机智的小鱼君
* Url: https://github.com/Dragon-Fish/wjghj-wiki/Gadgets/in-page-edit
* Description: Let you edit page without open new tab. And edit Navebox via navbar, edit section via section edit link etc.
**/

function InPageEdit(inPageEditTarget) {

 if ($('#InPageEdit').length > 0) { // 只能存在一个窗口
   $('#InPageEdit').remove();
 }
 // 开始执行任务
 $('body').addClass('action-in-page-edit');
 // Variables
 if (inPageEditTarget == undefined) {
   inPageEditTarget = mw.config.get('wgPageName');
 }
 var origintext;
 new mw.Api().get({
   action: "parse",
   page: inPageEditTarget,
   prop: "wikitext",
   format: "json"
 }).then(function(data) {
   origintext = data.parse.wikitext['*'];
   ajaxArea()
 }).fail(function() {
   origintext = '\n';
   ajaxArea()
 });
 function ajaxArea() {
   // Create area & hide article
   $('#mw-content-text').hide();

$('#mw-content-text').before('

' + '

in-page-edit-title

' + '<textarea id="newcontent" style="width:100%;min-height:300px"></textarea>' + '<button id="cancle-btn">取消</button> <button id="preview-btn">预览</button>
<input id="reason" placeholder="编辑摘要"> <button id="submit-btn">提交</button>
' + '

预览

' + '

');

   $('#InPageEdit #newcontent').val(origintext);
   $('#InPageEdit #edit-title').html('正在编辑: ' + inPageEditTarget);
   // Cancle
   $('#InPageEdit #cancle-btn').click(function() {
     var cancleconfirm = confirm('取消吗?');
     if (cancleconfirm) {
       $('body').removeClass('action-in-page-edit');
       $('#InPageEdit').remove();
       $('#mw-content-text').show();
     }
   });
   // Preview
   $('#InPageEdit #preview-btn').click(function() {
     new mw.Api().post({
       action: "parse",
       text: $('#InPageEdit #newcontent').val(),
       prop: "text",
       preview: true,
       format: "json"
     }).then(function(data) {
       var previewcontent = data.parse.text['*'];
       $('#InPageEdit #preview-area').html(previewcontent);
     });
   });
   // Submit
   $('#InPageEdit #submit-btn').click(function() {
     var submitconfirm = confirm('提交吗?');
     if (submitconfirm) {
       new mw.Api().post({
         action: 'edit',
         text: $('#InPageEdit #newcontent').val(),
         title: inPageEditTarget,
         summary: '[InPageEdit] ' + $('#InPageEdit #reason').val(),
         token: mw.user.tokens.get('editToken')
       }).done(function() {

$('#InPageEdit').html('

已提交

');

         window.location.reload();
       });
     }
   });
 }

}

/** Add button **/ $(function() {

$('.action-view #p-userpagetools ul').append($('

  • ').append($('<a>').addClass('in-page-edit-link').attr('href', 'javascript:void(0)').text('快速编辑').click(function() { InPageEdit() }))); }); /** Get links in ariticle **/ $(function() { var self = this; $('#mw-content-text a.external').each(function(i) { var url = $(this).attr('href'); var reg = /(([^?&=]+)(?:=([^?&=]*))*)/g; var params = {}, match; while (match = reg.exec(url)) { params[match[2]] = decodeURIComponent(match[3]); } if (params.action === 'edit' && params.title !== undefined && params.section !== 'new') { $(this).after($('<a>').attr({ 'href': 'javascript:void(0)', 'class': 'in-page-edit-link' }).html('[编]').data({ 'target': decodeURIComponent(params.title), 'number': params.section || -1 })); $('.in-page-edit-link').click(function() { InPageEdit(params.title) }); } }); });