/*!
* @author 安忆 i@anyi.in
* @file wmmirror.js
*
* Copyright (c) 2019-present, 安忆.
*
* This source code is licensed under the GPL v3 license.
*/
'use strict';
if ((function() {try {return eval('({})?.a??1')} catch(e) {}})()) {
document.html = document.documentElement;
const [d, h, o] = [document, 'wmmirror.live', 'wikimedia.org'],
AnYiMirrorPrivateMethod = new function() {
const AnYi = this;
AnYi.getClick = id => {
const isLogin = AnYi.getConf('wgUserName');
switch (id) {
case 'AnYiDonate':
isLogin ? AnYi.setCookie('dismissAnYiDonate', '1', '8') : AnYi.setCookie('dismissAnYiDonate', '1', '1');
break;
case 'AnYiNotice':
isLogin ? AnYi.setCookie('dismissAnYiNotice', '1', '48') : AnYi.setCookie('dismissAnYiNotice', '1', '12');
break;
case 'AnYiTip':
isLogin ? AnYi.setCookie('dismissAnYiTip', '1', '24') : AnYi.setCookie('dismissAnYiTip', '1', 'tmp');
break;
}
}
AnYi.getConf = item => {
if (typeof mw === 'object' && typeof mw.config.get === 'function') return mw.config.get(item);
if (typeof RLCONF === 'object' && RLCONF[item] !== void 0) return RLCONF[item];
return null;
}
AnYi.getCookie = name => `; ${AnYi.decodeURIComponent(d.cookie)}`.split(`; ${name}=`).pop().split(';').shift();
AnYi.getLocate = method => {
const [originHash, originHost, originUrl] = [AnYi.getRealText(location.hash), AnYi.getRealText(location.host), AnYi.getRealText(location.href)];
switch (method) {
case 'originHash':
return originHash;
case 'originHost':
return originHost;
case 'originUrl':
return originUrl;
default:
return originUrl;
}
}
AnYi.getRealText = (value, method) => {
const [reg1, reg2, reg3] = [/wmmirror\.live/gi, /(wiki(?:books|data|news|pedia|quote|source|versity|voyage)|wiktionary|mediawiki|planet)\.wmmirror\.live/gi, /latex-(png|svg)\.wmmirror\.live/gi],
[reg4, reg5, reg6] = [/\\\.wikipedia\\\.\(wmmirror\\\.\)\?live/g, /background(-image)?:url\(('|")?(https?:)?\/\/upload\.wikimedia\.org/gi, /([\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030)/g],
[wBox, wDom, u] = [d.getElementById('wpTextbox1'), d.querySelectorAll(`${AnYi.hasClass('diff', 'table')?'.mw-parser-output,.mw-parser-output *':'.mw-body,.mw-body *'}`), `//upload.${h}`],
wTex = (nodeArr = []) => {
if (!wDom || (AnYi.hasClass('mw-special-AbuseFilter') || AnYi.hasClass('mw-special-EditWatchlist') || AnYi.hasClass('mw-special-Search')) && (typeof AnYiMirror === 'object' && (typeof AnYiMirror.getRealText === 'function' && (typeof AnYiMirror.getRealText.initCount === 'number' && AnYiMirror.getRealText.initCount < 1 || typeof AnYiMirror.getRealText.initCount === 'undefined') || typeof AnYiMirror.getRealText === 'undefined') || typeof AnYiMirror === 'undefined') && !AnYi.hasClass('action-history')) return;
for (const dom of wDom) {
for (const node of dom.childNodes) {
node.nodeType === 3 && nodeArr.push(node);
}
}
for (const node of nodeArr) {
let text = node.nodeValue;
(text.match(reg1) || text.match(reg4)) && (text = AnYi.getRealText(text));
text.match(reg5) && AnYi.hasClass('action-view') && (text = text.replace(reg5, `background$1:url($2$3${u}`));
node.nodeValue !== text && (node.nodeValue = text);
if (text.match(reg6) && !(AnYi.hasClass('action-edit') || AnYi.hasClass('action-submit')) && (typeof AnYiMirror === 'object' && (typeof AnYiMirror.getRealText === 'function' && (typeof AnYiMirror.getRealText.initCount === 'number' && AnYiMirror.getRealText.initCount < 1 || typeof AnYiMirror.getRealText.initCount === 'undefined') || typeof AnYiMirror.getRealText === 'undefined') || typeof AnYiMirror === 'undefined')) {
const el = d.createElement('anyi-emoji-line');
el.innerHTML = node.nodeValue.replace(reg6, '
如果您使用${AnYi.wgUVS('镜', '鏡')}像站受益良多,您可以考${AnYi.wgUVS('虑', '慮')}向我捐${AnYi.wgUVS('赠', '款')}。
`, notice = `${AnYi.wgUVS('镜', '鏡')}像站已${AnYi.wgUVS('提供对', '支援訪問')}${AnYi.wgUVS('维', '維')}基百科所有${AnYi.wgUVS('语', '語')}言版本分站、其他${AnYi.wgUVS('维', '維')}基媒${AnYi.wgUVS('体计划', '體計劃')}及姊妹${AnYi.wgUVS('项', '項')}目${AnYi.wgUVS('的访问支持。', '。')}${AnYi.wgUVS('请', '請')}注意,${AnYi.wgUVS('当', '當')}您在登${AnYi.wgUVS('录账号时', '入帳戶時')},即代表您${AnYi.wgUVS('对', '對')}我有${AnYi.wgUVS('着', '著')}充足的信任。如果您${AnYi.wgUVS('对', '對')}我的信任${AnYi.wgUVS('还', '還')}有所欠缺,${AnYi.wgUVS('请', '請')}您${AnYi.wgUVS('仅浏览页面', '僅作瀏覽')},切勿登${AnYi.wgUVS('录账号', '入帳戶')}。
`, tip = `${AnYi.wgUVS('镜', '鏡')}像站不是官方站
${AnYi.wgUVS('请', '請')}勿在知乎等其他公${AnYi.wgUVS('众', '眾')}平台分享本站${AnYi.wgUVS('链接', '連結')}。
${AnYi.wgUVS('当', '當')}您在分享${AnYi.wgUVS('链接时', '連結時')},${AnYi.wgUVS('请', '請')}分享官方站的${AnYi.wgUVS('链接', '連結')}。
官方站的${AnYi.wgUVS('链接', '連結')}位${AnYi.wgUVS('于', '於')}桌面版${AnYi.wgUVS('视图', '視圖')}的${AnYi.wgUVS('页', '頁')}面下方,
如果您正使用${AnYi.wgUVS('移动', '行動')}版${AnYi.wgUVS('视图', '視圖')},它位${AnYi.wgUVS('于侧栏', '於側欄')}內。
2023,${AnYi.wgUVS('长乐', '長樂')}未央
不知不${AnYi.wgUVS('觉', '覺')}又一年了,如果本站有${AnYi.wgUVS('帮', '幫')}到你,${AnYi.wgUVS('还', '還')}不考${AnYi.wgUVS('虑给', '慮給')}兢兢${AnYi.wgUVS('业业', '業業')}的我${AnYi.wgUVS('发个', '發個')}春${AnYi.wgUVS('节红', '節紅')}包${AnYi.wgUVS('吗', '嗎')}?
0&&(0===t||1!==p))return-1;for(Z[1]=0,w=1;w