2023年政策修订增补工作正在进行中,欢迎参与!
User:BearBin/js/ExportXML.js
< User:BearBin | js
注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- Firefox/Safari:按住“Shift”的同时单击“刷新”,或按“Ctrl-F5”或“Ctrl-R”(Mac为“⌘-R”)
- Google Chrome:按“Ctrl-Shift-R”(Mac为“⌘-Shift-R”)
- Internet Explorer:按住“Ctrl”的同时单击“刷新”,或按“Ctrl-F5”
- Opera:在“工具→首选项”中清除缓存
- 如果您已登录但该页面出现未登录状态,请尝试在地址栏的地址最后添加代码
?_=1
来访问最新页面。 - 添加代码后的本页地址如下:
-{R|https://moegirl.icu/User:BearBin/js/ExportXML.js?_=1}-
var _addText = '{{Documentation|content=* 工具介绍见[[User:BearBin/js#ExportXML]]。\n* 源代码见[https://github.com/BearBin1215/MoegirlPedia/blob/master/src/gadgets/ExportXML GitHub]。}}';
// <nowiki>
(()=>{var e={371:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,o,i){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(r)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(a[l]=!0)}for(var c=0;c<e.length;c++){var d=[].concat(e[c]);r&&a[d[0]]||(void 0!==i&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=i),n&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=n):d[2]=n),o&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=o):d[4]="".concat(o)),t.push(d))}},t}},474:e=>{"use strict";e.exports=function(e){return e[1]}},363:function(e,t){var n,r,o;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self&&self,r=[t],n=function(e){"use strict";function t(e){return o(e)||r(e)||p(e)||n()}function n(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function r(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function o(e){if(Array.isArray(e))return m(e)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){s(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t,n){return(t=l(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e){var t=c(e,"string");return"symbol"==h(t)?t:String(t)}function c(e,t){if("object"!=h(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=h(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function d(e,t){return g(e)||f(e,t)||p(e,t)||u()}function u(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function p(e,t){if(e){if("string"==typeof e)return m(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function f(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,s=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw o}}return s}}function g(e){if(Array.isArray(e))return e}function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.toXML=e.default=void 0;var y={ARRAY:"array",BOOLEAN:"boolean",DATE:"date",FUNCTION:"function",JSTOXML_OBJECT:"jstoxml-object",NULL:"null",NUMBER:"number",OBJECT:"object",STRING:"string"},b=[y.STRING,y.NUMBER,y.BOOLEAN],v='<?xml version="1.0" encoding="UTF-8"?>',w=["_selfCloseTag","_attrs"],x=function(){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").repeat(e)},O=function(e){return Array.isArray(e)&&y.ARRAY||h(e)===y.OBJECT&&null!==e&&e._name&&y.JSTOXML_OBJECT||e instanceof Date&&y.DATE||null===e&&y.NULL||h(e)},T=function(e){return e.startsWith("<![CDATA[")},_=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=e;if(h(e)===y.STRING){if(T(e))return e;var o=new RegExp("(".concat(Object.keys(t).join("|"),")(?!(\\w|#)*;)"),"g");r=String(e).replace(o,(function(e,n){return t[n]||""}))}return"function"==typeof n?n(r):r},L=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;return(Array.isArray(e)?e:Object.entries(e).map((function(e){var t=d(e,2);return s({},t[0],t[1])}))).reduce((function(e,o){var i=Object.keys(o)[0],a=o[i];if(h(n)===y.FUNCTION&&n(i,a))return e;var s=t?_(a,t):a,l=r||!0!==s?'="'.concat(s,'"'):"";return e.push("".concat(i).concat(l)),e}),[])},S=function(){var e=L(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0,arguments.length>2?arguments[2]:void 0,arguments.length>3?arguments[3]:void 0);if(0===e.length)return"";var t=e.join(" ");return" ".concat(t)},A=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.keys(e).map((function(t){return{_name:t,_content:e[t]}}))},j=function(e){return b.includes(O(e))},E=function(e){return!e.match("<")},$=function(e){var t=e.header,n=e.isOutputStart;return t&&n?h(t)===y.BOOLEAN?v:t:""},k={"<":"<",">":">","&":"&",'"':"""},C=e.toXML=function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r.depth,i=void 0===o?0:o,s=r.indent,l=r._isFirstItem,c=r._isOutputStart,d=void 0===c||c,u=r.header,p=r.attributeReplacements,m=void 0===p?{}:p,f=r.attributeFilter,g=r.attributeExplicitTrue,b=void 0!==g&&g,v=r.contentReplacements,L=void 0===v?{}:v,C=r.contentMap,M=r.selfCloseTags,I=void 0===M||M,B="boolean"!=typeof m||m?a(a({},k),m):{},N="boolean"!=typeof L||L?a(a({},k),L):{},P="string"==typeof s,D=x(s,i),R=O(n),U=$({header:u,indent:s,depth:i,isOutputStart:d}),F=d&&!U&&l&&0===i,X=P&&!F?"\n":"",q="";switch(R){case y.JSTOXML_OBJECT:var H=n._name,J=n._content;if(null===J&&"function"!=typeof C){q="".concat(X).concat(D).concat(H);break}if(Array.isArray(J)&&J.every(j))return J.map((function(t){return e({_name:H,_content:t},a(a({},r),{},{depth:i,_isOutputStart:!1}))})).join("");if(w.includes(H))break;var W=e(J,a(a({},r),{},{depth:i+1,_isOutputStart:F})),Y=O(W),z=E(W),G=T(W),V="".concat(X).concat(D);if("_comment"===H){q+="".concat(V,"\x3c!-- ").concat(J," --\x3e");break}var K="undefined"===Y||""===W,Q=I,Z=n._selfCloseTag,ee=h(Z)===y.BOOLEAN?K&&Z:K&&Q,te=ee?"/":"",ne=S(n._attrs,B,f,b),re="<".concat(H).concat(ne).concat(te,">"),oe=!P||z||G?"":"\n".concat(D),ie=ee?"":"".concat(W).concat(oe,"</").concat(H,">");q+="".concat(V).concat(re).concat(ie);break;case y.OBJECT:var ae=Object.keys(n);q=ae.map((function(o,i){var s=a(a({},r),{},{_isFirstItem:0===i,_isLastItem:i+1===ae.length,_isOutputStart:F}),l={_name:o};if(O(n[o])===y.OBJECT&&(w.forEach((function(e){var t=n[o][e];void 0!==t&&(l[e]=t,delete n[o][e])})),void 0!==n[o]._content&&Object.keys(n[o]).length>1)){var c=Object.assign({},n[o]);delete c._content,l._content=[].concat(t(A(c)),[n[o]._content])}return void 0===l._content&&(l._content=n[o]),e(l,s)}),r).join("");break;case y.FUNCTION:var se=n(r);q=e(se,r);break;case y.ARRAY:q=n.map((function(t,o){var i=a(a({},r),{},{_isFirstItem:0===o,_isLastItem:o+1===n.length,_isOutputStart:F});return e(t,i)})).join("");break;default:q=_(n,N,C)}return"".concat(U).concat(q)};e.default={toXML:C}},void 0===(o="function"==typeof n?n.apply(t,r):n)||(e.exports=o)},230:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(474),o=n.n(r),i=n(371),a=n.n(i)()(o());a.push([e.id,".bearbintools-loger .loger-clear{font-size:.9em;font-weight:400;margin-left:.3em}.bearbintools-loger .loger-body{background:hsla(0,0%,100%,.7);border:1px solid #ccc;display:flow-root;padding:.3em}.bearbintools-loger .loger-filter{float:right;padding:.4em}.bearbintools-loger .loger-filter>div{border-radius:.3em;cursor:pointer;margin-bottom:.2em;padding-right:.2em}.bearbintools-loger .loger-filter>div.loger-filter-selected{background-color:hsla(0,0%,50%,.07)}.bearbintools-loger .loger-filter .loger-filter-icon{display:inline-block;height:1em;line-height:1em;text-align:center;width:1.2em}.bearbintools-loger .loger-lines{font-family:monospace;list-style:inside;max-height:20em;overflow-y:auto}.bearbintools-loger .loger-lines>li a{color:inherit;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}",""]);const s=a},809:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var r=n(474),o=n.n(r),i=n(371),a=n.n(i)()(o());a.push([e.id,".bearbingadget-exportxml #firstHeading{align-items:flex-end;display:flex;flex-wrap:wrap;justify-content:space-between}.bearbingadget-exportxml #firstHeading>div{font-size:.6em}#exportxml-exportbutton{margin-top:.6em}#exportxml-log .loger-headline{display:none}#exportxml-log .loger-body{min-height:5em}#exportxml-log .loger-filter{display:none}",""]);const s=a},960:e=>{"use strict";var t=[];function n(e){for(var n=-1,r=0;r<t.length;r++)if(t[r].identifier===e){n=r;break}return n}function r(e,r){for(var i={},a=[],s=0;s<e.length;s++){var l=e[s],c=r.base?l[0]+r.base:l[0],d=i[c]||0,u="".concat(c," ").concat(d);i[c]=d+1;var p=n(u),m={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==p)t[p].references++,t[p].updater(m);else{var f=o(m,r);r.byIndex=s,t.splice(s,0,{identifier:u,updater:f,references:1})}a.push(u)}return a}function o(e,t){var n=t.domAPI(t);n.update(e);return function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,o){var i=r(e=e||[],o=o||{});return function(e){e=e||[];for(var a=0;a<i.length;a++){var s=n(i[a]);t[s].references--}for(var l=r(e,o),c=0;c<i.length;c++){var d=n(i[c]);0===t[d].references&&(t[d].updater(),t.splice(d,1))}i=l}}},443:e=>{"use strict";var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},628:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},120:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},81:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var o=void 0!==n.layer;o&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,o&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var i=n.sourceMap;i&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(r,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},849:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={id:r,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.nc=void 0,(()=>{"use strict";var e=n(363);const t=async(e,t=["page","subcat","file"])=>{const n=new mw.Api,r=[];if(mw.config.get("wgUserGroups").some((e=>["bot","flood","patroller","sysop"].includes(e)))){let o="";for(;void 0!==o;){const i=await n.post({action:"query",list:"categorymembers",cmlimit:"max",cmtitle:e,cmtype:t,cmcontinue:o});if(i.query.categorymembers[0])for(const e of i.query.categorymembers)r.push(e.title);o=i.continue?.cmcontinue}}else{const n=async e=>{const o=$(await $.ajax(e)),i=t.map((e=>{switch(e){case"page":return"#mw-pages li a";case"subcat":return"#mw-subcategories li a";case"file":return"#mw-category-media li a.galleryfilename"}})).join(","),a=o.find(i).map(((e,t)=>t.classList.contains("CategoryTreeLabel")?`Category:${$(t).text()}`:t.classList.contains("galleryfilename")?`File:${$(t).text()}`:$(t).text())).get();if(r.push(...a),t.includes("page")){const e=o.find('a[href*="&pagefrom="]');e.length&&await n(e.eq(0).attr("href"))}if(t.includes("subcat")){const e=o.find('a[href*="&subcatfrom="]');e.length&&await n(e.eq(0).attr("href"))}if(t.includes("file")){const e=o.find('a[href*="&filefrom="]');e.length&&await n(e.eq(0).attr("href"))}};await n(`/${e}?action=render`)}return r},r=e=>e.split("\n").filter((e=>e&&e.trim())),o=e=>new Promise((t=>setTimeout(t,e)));const i=e=>{const t=document.createElement("template");return t.innerHTML=e.trim(),t.content.children[0]};var a=n(960),s=n.n(a),l=n(81),c=n.n(l),d=n(443),u=n.n(d),p=n(120),m=n.n(p),f=n(628),g=n.n(f),h=n(849),y=n.n(h),b=n(230),v={};v.styleTagTransform=y(),v.setAttributes=m(),v.insert=u().bind(null,"head"),v.domAPI=c(),v.insertStyleElement=g();s()(b.A,v);b.A&&b.A.locals&&b.A.locals;class w{_logTypes={success:{icon:"✓",color:"#333",text:"完成"},warn:{icon:"!",color:"#f28500",text:"警告"},error:{icon:"✕",color:"#eb3941",text:"出错"}};element;headline;body=i('<div class="loger-body"></div>');logerLines=i('<ul class="loger-lines"></ul>');logDetails=[];filterButtons={};constructor(e=[],t="",n="h3"){e.length>0&&(this._logTypes=e.reduce(((e,{name:t,icon:n,color:r,text:o})=>(e[t]={icon:n,color:r,text:o},e)),{}));for(const e in this._logTypes)this._logTypes[e].show=!0;this.headline=i(`<${n} class="loger-headline"></${n}>`);const r=i('<a class="loger-clear">[清空]</a>');r.addEventListener("click",this.clear.bind(this));const o=i('<nav class="loger-filter"></nav>');for(const[e,{icon:t,color:n,text:r}]of Object.entries(this._logTypes)){const a=i(`<div class="loger-filter-selected loger-${e}" style="color:${n}"></div>`),s=i('<span class="loger-filter-icon"></span>');s.append(t);const l=i('<span class="loger-filter-count">0</span>');a.append(s,l,` ${r}`),a.addEventListener("click",(()=>{this._logTypes[e].show?(a.classList.remove("loger-filter-selected"),this.logerLines.classList.add(`loger-${e}-hidden`),this.logDetails.filter((t=>t.type===e)).forEach((e=>{e.element.style.display="none"})),this._logTypes[e].show=!1):(a.classList.add("loger-filter-selected"),this.logerLines.classList.remove(`loger-${e}-hidden`),this.logDetails.filter((t=>t.type===e)).forEach((e=>{e.element.style.display=""})),this._logTypes[e].show=!0)})),this.filterButtons[e]={button:a,countElement:l},o.appendChild(a)}this.element=i(`<div class="bearbintools-loger" id="${t||""}"></div>`),this.headline.append("日志",r),this.body.append(o,this.logerLines),this.element.append(this.headline,this.body)}record(e,t="normal",n=(new Date).toLocaleTimeString()){const r=document.createElement("li");return r.classList.add("loger-record",`loger-${t}`),r.innerHTML=`${n} - ${e}`,r.style.color=this._logTypes[t]?.color||"#222",!1===this._logTypes[t]?.show&&(r.style.display="none"),this.logerLines.appendChild(r),this.logerLines.scrollTop=this.logerLines.scrollHeight,this.logDetails.push({element:r,type:t}),this.filterButtons[t]&&(this.filterButtons[t].countElement.innerText=String(+this.filterButtons[t].countElement.innerText+1)),r}clear(){this.logDetails.length=0,this.logerLines.innerHTML="";for(const e in this.filterButtons)this.filterButtons[e].countElement.innerText="0"}}const x=async()=>{const e=new mw.Api,{query:{general:{sitename:t,dbname:n,base:r,generator:o,case:i,lang:a},namespaces:s}}=await e.post({action:"query",meta:"siteinfo",siprop:["general","namespaces"]});return{_name:"mediawiki",_attrs:{xmlns:"http://www.mediawiki.org/xml/export-0.11/","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xsi:schemaLocation":"http://www.mediawiki.org/xml/export-0.11/ http://www.mediawiki.org/xml/export-0.11.xsd",version:"0.11","xml:lang":a},_content:[{siteinfo:{sitename:t,dbname:n||"medaiwiki",base:r,generator:o,case:i,namespaces:Object.entries(s).map((([e,{case:t,"*":n}])=>({_name:"namespace",_attrs:{key:e,case:t},_content:n})))}}]}};var O=n(809),T={};T.styleTagTransform=y(),T.setAttributes=m(),T.insert=u().bind(null,"head"),T.domAPI=c(),T.insertStyleElement=g();s()(O.A,T);O.A&&O.A.locals&&O.A.locals;$((()=>(async()=>{if(!["Special:ExportXML","Special:Export","Special:导出页面"].includes(mw.config.get("wgPageName")))return void("ExportXML"in window&&(await mw.loader.using("mediawiki.util"),mw.util.addPortletLink("p-tb","/Special:ExportXML","导出页面","t-exportxml")));await mw.loader.using(["mediawiki.api","oojs-ui","moment"]);const n=new mw.Api,i=new w([{name:"success",icon:"✓",color:"#333",text:"成功"},{name:"error",icon:"✕",color:"#eb3941",text:"出错"}],"exportxml-log");mw.config.set("wgCanonicalSpecialPageName","ExportXML"),document.title="导出页面 - 萌娘百科_万物皆可萌的百科全书",$(document.body).addClass("bearbingadget-exportxml"),$(".mw-invalidspecialpage").removeClass("mw-invalidspecialpage"),$("#firstHeading").html('导出页面<div>By <a href="/User:BearBin">BearBin</a></div>'),$("#contentSub").remove();const a=new OO.ui.MultilineTextInputWidget({rows:5}),s=new OO.ui.MultilineTextInputWidget({rows:10}),l=new OO.ui.ButtonWidget({label:"导出",flags:["primary","progressive"],id:"exportxml-exportbutton"}),c=new OO.ui.CheckboxInputWidget({selected:!0});$("#mw-content-text").empty().append($("<p />").append("本页面用于",$('<a href="https://www.mediawiki.org/wiki/Help:Export/zh">导出</a>'),"特定页面的文本和编辑历史,导出的XML可用于在其他站点通过",$('<a href="/Special:Import">导入功能</a>'),"重新导入。"),$("<p />").append("由于萌娘百科未开放导出功能,本工具仅对其进行","<b>尽可能地</b>","复现,实际用时远高于MediaWiki提供的标准导出功能,且没有递归导出所使用模板的功能(理论上能做,但暂时不考虑)。"),"<p>为了避免WAF,部分导出步骤已被刻意放缓,每两个页面需要等待约5s,在导出时请耐心等待,并请尽量避免额外的访问(如边导出边浏览或编辑)</p>","<p>在下方的分类列表或页面列表输入,一行一个。对于每个分类,会获取其各自的分类和文件,不含子分类。</p>","<p>由机器人等持有“在API查询中使用更高的上限”<code>(apihighlimits)</code>权限的账号执行可以获得更快的导出速度。</p>","<h3>指定分类内的页面</h3>",a.$element,"<h3>手动输入页面</h3>",s.$element,new OO.ui.FieldLayout(c,{label:"仅包含当前修订,而不是完整历史",align:"inline"}).$element,l.$element,"<h3>日志</h3>",i.element);const d=async(e,t)=>{let r;const i={revisions:[]};do{const a={action:"query",prop:"revisions",titles:e,rvprop:["content","ids","flags","timestamp","user","userid","size","sha1","contentmodel","comment","tags"],rvlimit:t?1:"max",rvdir:t?"older":"newer"};r&&(a.rvcontinue=r,await o(4e3));const s=await n.get(a);r=s.continue?.rvcontinue;const[l]=Object.values(s.query.pages);i.id=l.pageid,i.ns=l.ns,i.title=l.title,l.revisions&&i.revisions.push(...l.revisions)}while(!t&&r);return i};l.on("click",(async()=>{l.setDisabled(!0);const n=await(async()=>{const e=r(s.getValue());for(const n of r(a.getValue())){const r=n.replace(/^ *(?:Category:|CAT:|分[类類]:)?(.*)$/i,"Category:$1"),o=await t(r,["page","file"]);i.record(`分类【<a href="/${r}">${n}</a>】下获取到${o.length}个页面。`),e.push(...o)}return[...new Set(e)]})();if(!n.length)return void l.setDisabled(!1);let u;const p=c.isSelected(),m=i.record("正在读取站点基本信息……");try{u=await x(),m.remove(),i.record("正在读取站点基本信息……成功。")}catch(e){return m.remove(),i.record(`读取站点基本信息失败:${e}`,"error"),void l.setDisabled(!1)}for(const e of n){await o(4e3);try{i.record(`正在读取页面<a href="/${e}">${e}</a>历史……`);const{title:t,ns:n,id:r,revisions:o}=await d(e,p);r?u._content.push({page:[{title:t},{ns:n},{id:r},...o.map((e=>{return n=r,{revision:[{id:(t=e).revid},{parentid:t.parentid},{timestamp:t.timestamp},{_name:"contributor",_attrs:"contributorhidden"in t?{deleted:"deleted"}:{},_content:"contributorhidden"in t?{}:{username:t.user,id:t.userid}},..."minor"in t?[{minor:t.minor}]:[],..."bot"in t?[{bot:t.bot}]:[],..."sha1hidden"in t?[{sha1hidden:t.sha1hidden}]:[],..."texthidden"in t?[{texthidden:t.texthidden}]:[],..."commenthidden"in t?[{commenthidden:t.commenthidden}]:[],{_name:"comment",_attrs:"commenthidden"in t?{deleted:"deleted"}:{},_content:t.comment},{origin:n},{model:t.contentmodel},{format:t.contentformat},{_name:"text",_attrs:"texthidden"in t?{bytes:t.size,sha1:t.sha1,deleted:"deleted"}:{bytes:t.size,sha1:t.sha1,"xml:space":"preserve"},_content:t["*"]?.replace(/&/g,"&")}]};var t,n}))]}):i.record(`页面${e}不存在。`,"error")}catch(t){i.record(`读取页面${e}历史失败:${t},已跳过。`,"error")}}i.record("数据获取完毕,正在保存。"),function(e,t){const n=new Blob([t],{type:"text/plain"}),r=URL.createObjectURL(n),o=document.createElement("a");o.href=r,o.download=e,o.style.display="none",document.body.appendChild(o),o.click(),URL.revokeObjectURL(r),document.body.removeChild(o)}(`${mw.config.get("wgSiteName")}-${moment().format("YYYYMMDDHHmmss")}.xml`,(0,e.toXML)(u,{indent:" "})),l.setDisabled(!1)}))})()))})()})();
// </nowiki>