Site Notice

hello, world

Difference between revisions of "MediaWiki:Common.js"

From Project-EPB Commons
([InPageEdit] 没有编辑摘要)
(// Via InPageEdit-v2)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
/* Any JavaScript here will be loaded for all users on every page load. */
 
/* Any JavaScript here will be loaded for all users on every page load. */
mw.loader.load('https://wjghj.cn/index.php?title=MediaWiki:NotifyWhenCopy.js&action=raw&ctype=text/javascript');
 
mw.loader.load('https://common.wjghj.cn/js/SsiModal');
 
mw.loader.load('https://common.wjghj.cn/js/AddUserBadge');
 
mw.loader.load('https://common.wjghj.cn/js/i18n-js/editor'); // I18nEdit
 
  
/** highlight.js **/
+
/** Global script (gtag.js) - Google Analytics */
!(function () {
 
  var pageName = mw.config.get('wgPageName')
 
  if (pageName.substr(pageName.length - 3, 3) === '.js') {
 
    $('#mw-content-text pre').addClass('lang-js')
 
  } else if (pageName.substr(pageName.length - 4, 4) === '.css') {
 
    $('#mw-content-text pre').addClass('lang-css')
 
  } else if (mw.config.get('wgNamespaceNumber') === 828) {
 
    $('#mw-content-text pre').addClass('lang-lua')
 
  }
 
  mw.loader.load('https://cdn.jsdelivr.net/gh/highlightjs/[email protected]/build/highlight.min.js').then(function () {
 
    $('#mw-content-text pre').each(function (_, item) {
 
      hljs.highlightBlock(item)
 
    })
 
  })
 
  mw.loader.load('https://cdn.jsdelivr.net/npm/[email protected]/styles/atom-one-light.css', 'text/css')
 
})()
 
 
 
/** Demo **/
 
$(function(){
 
  if (!mw.user.isAnon()) return;
 
  switch (mw.config.get('wgPageName')) {
 
    case 'InPageEdit-v2':
 
    case 'InPageEdit-v2/API':
 
    case '受限制页面':
 
      mw.loader.load('https://cdn.jsdelivr.net/npm/mediawiki-inpageedit@latest/dist/InPageEdit.min.js');
 
      break;
 
  }
 
});
 
 
 
/** Global script (gtag.js) - Google Analytics **/
 
 
mw.loader.load('https://www.googletagmanager.com/gtag/js?id=UA-148909815-2');
 
mw.loader.load('https://www.googletagmanager.com/gtag/js?id=UA-148909815-2');
$(window).load(function () {
+
$(function () {
 
   window.dataLayer = window.dataLayer || [];
 
   window.dataLayer = window.dataLayer || [];
 
   function gtag() { dataLayer.push(arguments); }
 
   function gtag() { dataLayer.push(arguments); }
 
   gtag('js', new Date());
 
   gtag('js', new Date());
 
 
   gtag('config', 'UA-148909815-2');
 
   gtag('config', 'UA-148909815-2');
 
});
 
});
  
/**
+
// mw.loader.load('https://www.wjghj.cn/index.php?title=MediaWiki:NotifyWhenCopy.js&action=raw&ctype=text/javascript');
* ECharts
+
// mw.loader.load('/js/SsiModal');
* Put ECharts on wiki pages
+
// mw.loader.load('/js/AddUserBadge');
* Apache licenses https://www.echartsjs.com
+
// mw.loader.load('/js/i18n-js/editor'); // I18nEdit
**/
+
 
$(function () {
+
/** InPageEdit Demo */
  if ($('.echarts, .ECharts, .Echarts').length > 0) {
+
$(function(){
    mw.loader.load('https://cdn.bootcss.com/echarts/4.4.0-rc.1/echarts.min.js'); // ECharts CDN
+
  var pageName = mw.config.get('wgPageName', '')
    var tryEcharts = setInterval(function () {
+
  if (pageName.startsWith('InPageEdit')) {
      if (typeof (echarts) !== 'undefined') {
+
    mw.loader.load('https://unpkg.com/mediawiki-inpageedit');
        clearInterval(tryEcharts);
 
        $('.echarts, .ECharts, .Echarts').each(function () {
 
          var $this = $(this),
 
            option = eval("(" + $this.text() + ")"),
 
            echartsElement = 'echartsElement-' + $this.index();
 
          console.log("(" + $this.text() + ")");
 
          $this.attr({ 'id': echartsElement });
 
          echarts.init(document.getElementById(echartsElement)).setOption(option);
 
        });
 
      }
 
    }, 500);
 
 
   }
 
   }
 
});
 
});
 
/* 拷贝时的版权提示
 
$(window).on('copy', function () {
 
  if (wgUserGroups.includes('sysop')) return; // 不对管理员生效
 
  mw.notify('你复制了什么呀~记得注明出处哦!');
 
  var selectString = window.getSelection().toString();
 
  if (selectString.length < 40) return; // 内容过短时不添加后缀
 
  var finalString = selectString + '\n\n内容来自: ' + location.href + '\n采用知识共享署名-非商业性使用-相同方式共享(CC BY-NC-SA)授权。';
 
  $('body').append($('<textarea>').attr('id', 'copyNt').val(finalString));
 
  $('#copyNt').select();
 
  document.execCommand('cut');
 
  $('#copyNt').remove();
 
});
 
*/
 
 
/**
 
* User Functions
 
** Provides functions similar to [[Mw:Extension:UserFunctions]]
 
* Author: 机智的小鱼君
 
* Logs:
 
**
 
**/
 
(function ($, mw) {
 
  $('.UserFunctions').html(function () {
 
 
    // Create variables
 
    var NoMatchedItems = 0,
 
      $this = $(this), // class="UserFunctions"
 
      $children = $this.children(),
 
      type = this.dataset.type,
 
      username = mw.config.get('wgUserName'),
 
      usergroup = mw.config.get('wgUserGroups');
 
 
    // Functions
 
    switch (type) {
 
 
      case 'iflogin':
 
        if (username != null) {
 
          $this.children('[data-keyword="true"]').show();
 
          $this.children('[data-keyword="false"]').hide();
 
        } else {
 
          $this.children('[data-keyword="false"]').show();
 
          $this.children('[data-keyword="true"]').hide();
 
        }
 
        break;
 
 
      case 'username':
 
        return username;
 
        break;
 
 
      case 'ifusername':
 
        $children.each(function () {
 
          var keyword = this.dataset.keyword;
 
          if (keyword == username) {
 
            $(this).show(); ++NoMatchedItems;
 
          } else {
 
            $(this).hide();
 
          }
 
        });
 
        break;
 
 
      case 'usergroup':
 
        return usergroup;
 
        break;
 
 
      case 'ifingroup':
 
        $children.each(function () {
 
          var keyword = this.dataset.keyword;
 
          if ($.inArray(keyword, usergroup) > 0) {
 
            $(this).show(); ++NoMatchedItems;
 
          } else {
 
            $(this).hide();
 
          }
 
        });
 
        break;
 
 
      default:
 
        return '<a href="https://dev.fandom.com/wiki/UserFunctions" target="_blank"><span style="font-weight:bold;color:#b00">User Functions type error!</span></a>';
 
 
    }
 
 
    // If no matched items, then show default
 
    if (NoMatchedItems < 1) {
 
      $this.children('[data-keyword="!default"]').show();
 
    }
 
  });
 
}(jQuery, mediaWiki));
 

Latest revision as of 16:18, 3 November 2023

/* Any JavaScript here will be loaded for all users on every page load. */

/** Global script (gtag.js) - Google Analytics */
mw.loader.load('https://www.googletagmanager.com/gtag/js?id=UA-148909815-2');
$(function () {
  window.dataLayer = window.dataLayer || [];
  function gtag() { dataLayer.push(arguments); }
  gtag('js', new Date());
  gtag('config', 'UA-148909815-2');
});

// mw.loader.load('https://www.wjghj.cn/index.php?title=MediaWiki:NotifyWhenCopy.js&action=raw&ctype=text/javascript');
// mw.loader.load('/js/SsiModal');
// mw.loader.load('/js/AddUserBadge');
// mw.loader.load('/js/i18n-js/editor'); // I18nEdit

/** InPageEdit Demo */
$(function(){
  var pageName = mw.config.get('wgPageName', '')
  if (pageName.startsWith('InPageEdit')) {
    mw.loader.load('https://unpkg.com/mediawiki-inpageedit');
  }
});