<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://test.zybkcn.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-wikiplus-highlight.js</id>
	<title>MediaWiki:Gadget-wikiplus-highlight.js - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://test.zybkcn.com/w/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-wikiplus-highlight.js"/>
	<link rel="alternate" type="text/html" href="https://test.zybkcn.com/w/index.php?title=MediaWiki:Gadget-wikiplus-highlight.js&amp;action=history"/>
	<updated>2026-07-18T00:06:26Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://test.zybkcn.com/w/index.php?title=MediaWiki:Gadget-wikiplus-highlight.js&amp;diff=368&amp;oldid=prev</id>
		<title>2026年6月15日 (一) 13:33 鹿野耕云</title>
		<link rel="alternate" type="text/html" href="https://test.zybkcn.com/w/index.php?title=MediaWiki:Gadget-wikiplus-highlight.js&amp;diff=368&amp;oldid=prev"/>
		<updated>2026-06-15T13:33:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2026年6月15日 (一) 21:33的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/**&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;mw.loader.load(&#039;https://testingcf.jsdelivr.net/npm/wikiplus-highlight@latest&#039;);&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; * Minified by jsDelivr using Terser v5.19.2.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; * Original file: /gh/bhsd-harry/Wikiplus-highlight@2.60.3/main.js&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; *&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; */&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/**&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; * @name Wikiplus-highlight Wikiplus编辑器的CodeMirror语法高亮扩展&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; * @author Bhsd &amp;lt;https://github.com/bhsd-harry&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; * @author 机智的小鱼君 &amp;lt;https://github.com/Dragon-Fish&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; * @license GPL-3.0&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; */&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;(async()=&amp;gt;{&quot;use strict&quot;;if(mw.libs.wphl&amp;amp;&amp;amp;mw.libs.wphl.version)return;mw.libs.wphl=mw.libs.wphl||{};const e=&quot;2.60.3&quot;,t=&quot;object&quot;==typeof mw.storage&amp;amp;&amp;amp;&quot;function&quot;==typeof mw.storage.getObject?mw.storage:{getObject(e){const t=localStorage.getItem(e);if(!1===t)return!1;try{return JSON.parse(t)}catch(e){return null}},setObject(e,t){try{return localStorage.setItem(e,JSON.stringify(t))}catch(e){return!1}}};Object.fromEntries=Object.fromEntries||(e=&amp;gt;{const t={};for(const[i,n]of e)t[i]=n;return t});const i=(t=e)=&amp;gt;t.split(&quot;.&quot;).map(Number),n=(e,...t)=&amp;gt;mw.msg(`wphl-${e}`,...t),o=(...e)=&amp;gt;$($.parseHTML(n(...e))),a=(...e)=&amp;gt;()=&amp;gt;{const t=$(&quot;&amp;lt;p&amp;gt;&quot;,{html:n(...e)});return mw.notify(t,{type:&quot;success&quot;,autoHideSeconds:&quot;long&quot;,tag:&quot;wikiplus-highlight&quot;}),t},s=i().slice(0,2).join(&quot;.&quot;),r=&quot;//cdn.jsdelivr.net&quot;,l=&quot;npm/codemirror@5.65.3&quot;,d=&quot;npm/@bhsd/codemirror-mediawiki@1.1.11&quot;,c=&quot;npm/wikiparser-node@1.1.1-b&quot;,m=`gh/bhsd-harry/Wikiplus-highlight@${s}`,{config:{values:{wgPageName:p,wgNamespaceNumber:u,wgPageContentModel:g,wgServerName:w,wgScriptPath:h,wgUserLanguage:k,skin:f}}}=mw,b=null!==mw.loader.getState(&quot;ext.CodeMirror&quot;),x=mw.loader.getState(&quot;ext.CodeMirror.data&quot;)?&quot;ext.CodeMirror.data&quot;:&quot;ext.CodeMirror&quot;,y=t.getObject(&quot;InPageEditMwConfig&quot;)||{},j=`${w}${h}`,C=y[j]||{},S=!(C.time&amp;gt;Date.now()-2592e6),v={css:&quot;css&quot;,&quot;sanitized-css&quot;:&quot;css&quot;,javascript:&quot;javascript&quot;,json:&quot;javascript&quot;,wikitext:&quot;mediawiki&quot;},M=b?{lib:&quot;ext.CodeMirror.lib&quot;,css:&quot;ext.CodeMirror.lib.mode.css&quot;,javascript:&quot;ext.CodeMirror.lib.mode.javascript&quot;,lua:`${l}/mode/lua/lua.min.js`,mediawiki:S?x:[],htmlmixed:&quot;ext.CodeMirror.lib.mode.htmlmixed&quot;,xml:[]}:{lib:`${l}/lib/codemirror.min.js`,css:`${l}/mode/css/css.min.js`,javascript:`${l}/mode/javascript/javascript.min.js`,lua:`${l}/mode/lua/lua.min.js`,mediawiki:[],htmlmixed:`${l}/mode/htmlmixed/htmlmixed.min.js`,xml:`${l}/mode/xml/xml.min.js`},W={searchcursor:`${l}/addon/search/searchcursor.min.js`,search:`${m}/search.min.js`,markSelection:`${l}/addon/selection/mark-selection.min.js`,activeLine:`${l}/addon/selection/active-line.min.js`,trailingspace:`${l}/addon/edit/trailingspace.min.js`,matchBrackets:`${l}/addon/edit/matchbrackets.min.js`,closeBrackets:`${l}/addon/edit/closebrackets.min.js`,matchTags:`${m}/matchtags.min.js`,fold:`${m}/fold.min.js`,wikiEditor:&quot;ext.wikiEditor&quot;,contextmenu:&quot;mediawiki.Title&quot;,lint:`${l}/addon/lint/lint.min.js`,annotateScrollbar:`${l}/addon/scroll/annotatescrollbar.min.js`,parser:`${c}/extensions/dist/base.min.js`,linter:`${c}/extensions/dist/lint.min.js`,lintWikitext:`${m}/lint.min.js`},O=[{option:&quot;styleSelectedText&quot;,addon:&quot;search&quot;,download:&quot;markSelection&quot;,only:!0,complex:()=&amp;gt;!E.has(&quot;wikiEditor&quot;)},{option:&quot;styleActiveLine&quot;,addon:&quot;activeLine&quot;},{option:&quot;showTrailingSpace&quot;,addon:&quot;trailingspace&quot;},{option:&quot;matchBrackets&quot;,complex:(e,t)=&amp;gt;&quot;mediawiki&quot;!==e&amp;amp;&amp;amp;!t||{bracketRegex:/[{}[\]]/u}},{option:&quot;autoCloseBrackets&quot;,addon:&quot;closeBrackets&quot;,complex:(e,t)=&amp;gt;&quot;mediawiki&quot;!==e&amp;amp;&amp;amp;!t||&#039;()[]{}&quot;&quot;&#039;},{option:&quot;matchTags&quot;,addon:[&quot;matchTags&quot;,&quot;fold&quot;],modes:new Set([&quot;mediawiki&quot;,&quot;widget&quot;])},{option:&quot;fold&quot;,modes:new Set([&quot;mediawiki&quot;,&quot;widget&quot;])}],E=new Set(t.getObject(&quot;Wikiplus-highlight-addons&quot;)||[&quot;search&quot;]);let _=t.getObject(&quot;Wikiplus-highlight-indent&quot;)||4;const T={&#039;&quot;&#039;:&quot;quot&quot;,&quot;&#039;&quot;:&quot;apos&quot;,&quot;&amp;lt;&quot;:&quot;lt&quot;,&quot;&amp;gt;&quot;:&quot;gt&quot;,&quot;&amp;amp;&quot;:&quot;amp&quot;,&quot; &quot;:&quot;nbsp&quot;},A=e=&amp;gt;t=&amp;gt;{t.replaceSelections(t.getSelections().map((t=&amp;gt;t.split(&quot;\n&quot;).map(e).join(&quot;\n&quot;))),&quot;around&quot;)},I=A((e=&amp;gt;[...e].map((e=&amp;gt;{if(e in T)return`&amp;amp;${T[e]};`;const t=e.codePointAt();return t&amp;lt;256?`&amp;amp;#${t};`:`&amp;amp;#x${t.toString(16)};`})).join(&quot;&quot;))),P=A((e=&amp;gt;{if(e.includes(&quot;%&quot;))try{return decodeURIComponent(e)}catch(e){}return encodeURIComponent(e)})),L=A((e=&amp;gt;{try{return decodeURIComponent(e.replace(/\.([\da-f]{2})/giu,&quot;%$1&quot;))}catch(t){return e}})),z=({keyMap:e})=&amp;gt;e.default===e.pcDefault,D=e=&amp;gt;{const t=z(e)?&quot;Ctrl&quot;:&quot;Cmd&quot;;return{[`${t}-/`]:I,[`${t}-\\`]:P,[`Shift-${t}-\\`]:L}},N=(e,t)=&amp;gt;{if(&quot;mediawiki&quot;!==t&amp;amp;&amp;amp;&quot;widget&quot;!==t||!E.has(&quot;contextmenu&quot;))return;const i=$(e.getWrapperElement()).addClass(&quot;CodeMirror-contextmenu&quot;),{functionSynonyms:[n]}=mw.config.get(&quot;extCodeMirrorConfig&quot;)||{functionSynonyms:[{invoke:&quot;invoke&quot;,&quot;调用&quot;:&quot;invoke&quot;,widget:&quot;widget&quot;,&quot;小工具&quot;:&quot;widget&quot;}]},o=e=&amp;gt;new Set(Object.keys(n).filter((t=&amp;gt;n[t]===e)).map((e=&amp;gt;e.startsWith(&quot;#&quot;)?e:`#${e}`))),a=o(&quot;invoke&quot;),s=o(&quot;widget&quot;);i.contextmenu((({pageX:t,pageY:i})=&amp;gt;{const n=e.coordsChar({left:t,top:i}),{line:o,ch:r}=n,l=e.getTokenTypeAt(n);if(!/\bmw-(?:template-name|parserfunction)\b/u.test(l))return;const d=e.getLineTokens(o);for(let e=d.length-1;e&amp;gt;0;e--){const{type:t,end:i,string:n}=d[e];d[e-1].type===t&amp;amp;&amp;amp;(d[e-1].end=i,d[e-1].string+=n,d.splice(e,1))}const c=d.findIndex((({start:e,end:t})=&amp;gt;e&amp;lt;r&amp;amp;&amp;amp;t&amp;gt;=r)),m=d[c].string.replace(/\u200E/gu,&quot;&quot;).replace(/_/gu,&quot; &quot;).trim();if(/\bmw-template-name\b/u.test(l)){const e=new mw.Title(m);return 0!==e.namespace||m.startsWith(&quot;:&quot;)?open(e.getUrl(),&quot;_blank&quot;):open(mw.util.getUrl(`Template:${m}`),&quot;_blank&quot;),!1}if(c&amp;lt;2||!/\bmw-parserfunction-delimiter\b/u.test(d[c-1].type)||!/\bmw-parserfunction-name\b/u.test(d[c-2].type))return;const p=d[c-2].string.trim().toLowerCase();if(a.has(p))open(mw.util.getUrl(`Module:${m}`),&quot;_blank&quot;);else{if(!s.has(p))return;open(mw.util.getUrl(`Widget:${m}`,{action:&quot;edit&quot;}),&quot;_blank&quot;)}return!1}))},U=t.getObject(&quot;Wikiplus-highlight-i18n&quot;)||{};let H;U[&quot;wphl-version&quot;]?((e,t)=&amp;gt;{const[n,o]=i(e),[a,s]=i(t);return n&amp;lt;a||n===a&amp;amp;&amp;amp;o&amp;lt;s})(U[&quot;wphl-version&quot;],e)&amp;amp;&amp;amp;(H=a(&quot;welcome-upgrade&quot;,e,0)):H=a(&quot;welcome&quot;);const F={zh:&quot;zh-hans&quot;,&quot;zh-hans&quot;:&quot;zh-hans&quot;,&quot;zh-cn&quot;:&quot;zh-hans&quot;,&quot;zh-my&quot;:&quot;zh-hans&quot;,&quot;zh-sg&quot;:&quot;zh-hans&quot;,&quot;zh-hant&quot;:&quot;zh-hant&quot;,&quot;zh-tw&quot;:&quot;zh-hant&quot;,&quot;zh-hk&quot;:&quot;zh-hant&quot;,&quot;zh-mo&quot;:&quot;zh-hant&quot;,ka:&quot;ka&quot;}[k]||&quot;en&quot;,Q=`${r}/${m}/i18n/${F}.json`,V=U[&quot;wphl-version&quot;]===s,B=async()=&amp;gt;{V&amp;amp;&amp;amp;U[&quot;wphl-lang&quot;]===F||(Object.assign(U,await $.ajax(`${Q}`,{dataType:&quot;json&quot;,cache:!0})),t.setObject(&quot;Wikiplus-highlight-i18n&quot;,U)),mw.messages.set(U)},R=Promise.all([mw.loader.using(&quot;mediawiki.util&quot;),B()]),q=e=&amp;gt;e.length&amp;gt;0?mw.loader.using(e):Promise.resolve(),K=e=&amp;gt;e.length&amp;gt;0?$.ajax(`${r}/${e.length&amp;gt;1?&quot;combine/&quot;:&quot;&quot;}${e.join()}`,{dataType:&quot;script&quot;,cache:!0}):Promise.resolve(),J=async(e,t)=&amp;gt;{const i=e.filter((e=&amp;gt;!e.includes(&quot;/&quot;))),n=e.filter((e=&amp;gt;e.includes(&quot;/&quot;)));return!0===t?(await q(i),K(n)):!1===t?(await K(n),q(i)):Promise.all([q(i),K(n)])};let G;const X=(e,t=!1)=&amp;gt;{const i=[];for(const{option:n,addon:o=n,download:a=(Array.isArray(o)?n:o),only:s}of O)s&amp;amp;&amp;amp;t||n in e.optionHandlers||!Y(o,E)||i.push(W[a]);return i},Y=(e,t)=&amp;gt;Array.isArray(e)?e.some((e=&amp;gt;t.has(e))):t.has(e),Z=e=&amp;gt;{let t=[];const i=&quot;function&quot;==typeof window.CodeMirror,n=i?window.CodeMirror:{modes:{},prototype:{},commands:{},optionHandlers:{},helpers:{}};if(i||(t.push(M.lib),b||mw.loader.load(`${r}/${l}/lib/codemirror.min.css`,&quot;text/css&quot;)),&quot;mediawiki&quot;===e&amp;amp;&amp;amp;C.config&amp;amp;&amp;amp;C.config.tags.html&amp;amp;&amp;amp;(e=&quot;html&quot;),&quot;mediawiki&quot;!==e&amp;amp;&amp;amp;&quot;widget&quot;!==e||n.modes.mediawiki||(mw.loader.load(`${r}/${d}/mediawiki.min.css`,&quot;text/css&quot;),t.push(`${d}/mediawiki.min.js`)),&quot;widget&quot;===e||&quot;html&quot;===e)for(const e of[&quot;css&quot;,&quot;javascript&quot;,&quot;mediawiki&quot;,&quot;htmlmixed&quot;,&quot;xml&quot;])n.modes[e]||(t=t.concat(M[e]));else t=t.concat(M[e]);if(n.prototype.getSearchCursor||!E.has(&quot;search&quot;)||E.has(&quot;wikiEditor&quot;)||t.push(W.searchcursor),!n.prototype.annotateScrollbar&amp;amp;&amp;amp;&quot;mediawiki&quot;===e&amp;amp;&amp;amp;E.has(&quot;lint&quot;)&amp;amp;&amp;amp;t.push(W.annotateScrollbar),n.commands.find||!E.has(&quot;search&quot;)||E.has(&quot;wikiEditor&quot;)||t.push(W.search),!window.wikiparse&amp;amp;&amp;amp;&quot;mediawiki&quot;===e&amp;amp;&amp;amp;E.has(&quot;lint&quot;)&amp;amp;&amp;amp;t.push(W.parser,W.linter),!n.optionHandlers.lint&amp;amp;&amp;amp;&quot;mediawiki&quot;===e&amp;amp;&amp;amp;E.has(&quot;lint&quot;)&amp;amp;&amp;amp;(mw.loader.load(`${r}/${l}/addon/lint/lint.min.css`,&quot;text/css&quot;),t.push(W.lint)),n.helpers.lint&amp;amp;&amp;amp;n.helpers.lint.mediawiki||&quot;mediawiki&quot;!==e||!E.has(&quot;lint&quot;)||t.push(W.lintWikitext),E.has(&quot;wikiEditor&quot;)){const e=mw.loader.getState(&quot;ext.wikiEditor&quot;);e?&quot;ready&quot;!==e&amp;amp;&amp;amp;t.push(W.wikiEditor):E.delete(&quot;wikiEditor&quot;)}return&quot;ready&quot;!==mw.loader.getState(&quot;mediawiki.Title&quot;)&amp;amp;&amp;amp;E.has(&quot;contextmenu&quot;)&amp;amp;&amp;amp;t.push(W.contextmenu),t.push(...X(n)),J(t,i?void 0:b)},ee=e=&amp;gt;{y[j]={config:e,time:Date.now()},t.setObject(&quot;InPageEditMwConfig&quot;,y)},te=e=&amp;gt;e.flatMap((({aliases:e,name:t})=&amp;gt;e.map((e=&amp;gt;({alias:e,name:t}))))),ie=e=&amp;gt;Object.fromEntries(e.map((({alias:e,name:t})=&amp;gt;[e.replace(/:$/u,&quot;&quot;),t]))),ne=e=&amp;gt;{const t=[&quot;indicator&quot;,&quot;poem&quot;,&quot;ref&quot;,&quot;tabs&quot;,&quot;tab&quot;,&quot;poll&quot;];for(const i of t)e.tags[i]&amp;amp;&amp;amp;(e.tagModes[i]=&quot;text/mediawiki&quot;)},oe=async(e,t)=&amp;gt;{if(&quot;mediawiki&quot;!==e&amp;amp;&amp;amp;&quot;widget&quot;!==e)return;b&amp;amp;&amp;amp;S&amp;amp;&amp;amp;await t;let i=mw.config.get(&quot;extCodeMirrorConfig&quot;);i||S||!V||(({config:i}=C),ne(i),mw.config.set(&quot;extCodeMirrorConfig&quot;,i));const n=i&amp;amp;&amp;amp;Object.values(i.functionSynonyms[0]).includes(!0);if(i&amp;amp;&amp;amp;i.redirect&amp;amp;&amp;amp;i.img&amp;amp;&amp;amp;i.variants&amp;amp;&amp;amp;!n)return i;const{query:{general:{variants:o},magicwords:a,extensiontags:s,functionhooks:r,variables:l}}=await(new mw.Api).get({meta:&quot;siteinfo&quot;,siprop:&quot;general|magicwords&quot;+(i&amp;amp;&amp;amp;!n?&quot;&quot;:&quot;|extensiontags|functionhooks|variables&quot;),formatversion:2}),d=new Set([&quot;msg&quot;,&quot;raw&quot;,&quot;msgnw&quot;,&quot;subst&quot;,&quot;safesubst&quot;]);if(i&amp;amp;&amp;amp;!n){const{functionSynonyms:[e]}=i;if(!e.subst){const t=te(a.filter((({name:e})=&amp;gt;d.has(e))));for(const{alias:i,name:n}of t)e[i.replace(/:$/u,&quot;&quot;)]=n}}else{i={tagModes:{pre:&quot;mw-tag-pre&quot;,nowiki:&quot;mw-tag-nowiki&quot;,ref:&quot;text/mediawiki&quot;},tags:Object.fromEntries(s.map((e=&amp;gt;[e.slice(1,-1),!0]))),urlProtocols:mw.config.get(&quot;wgUrlProtocols&quot;)};const e=new Set([...r,...l,...d]),t=a.filter((({name:t,aliases:i})=&amp;gt;i.some((e=&amp;gt;/^__.+__$/u.test(e)))||e.has(t))),n=te(t.filter((e=&amp;gt;e[&quot;case-sensitive&quot;]))),o=te(t.filter((e=&amp;gt;!e[&quot;case-sensitive&quot;]))).map((({alias:e,name:t})=&amp;gt;({alias:e.toLowerCase(),name:t})));i.doubleUnderscore=[ie(o.filter((({alias:e})=&amp;gt;/^__.+__$/u.test(e)))),ie(n.filter((({alias:e})=&amp;gt;/^__.+__$/u.test(e))))],i.functionSynonyms=[ie(o.filter((({alias:e})=&amp;gt;!/^__.+__|^#$/u.test(e)))),ie(n.filter((({alias:e})=&amp;gt;!/^__.+__|^#$/u.test(e))))]}return i.redirect=a.find((({name:e})=&amp;gt;&quot;redirect&quot;===e)).aliases,i.img=ie(te(a.filter((({name:e})=&amp;gt;e.startsWith(&quot;img_&quot;))))),i.variants=o?o.map((({code:e})=&amp;gt;e)):[],ne(i),mw.config.set(&quot;extCodeMirrorConfig&quot;,i),ee(i),i},ae={getContents:()=&amp;gt;G.getValue(),setContents(e){return G.setValue(e),this},getSelection:()=&amp;gt;G.getSelection(),setSelection(e){return G.setSelection(G.posFromIndex(e.start),&quot;end&quot;in e?G.posFromIndex(e.end):void 0),G.focus(),this},replaceSelection(e){return G.replaceSelection(e),this},getCaretPosition(e){const t=G.indexFromPos(G.getCursor(&quot;from&quot;)),i=G.indexFromPos(G.getCursor(&quot;to&quot;));return e.startAndEnd?[t,i]:t},scrollToCaretPosition(){return G.scrollIntoView(),this}},se=async(e,i)=&amp;gt;{const o=i?&quot;javascript&quot;:await(async()=&amp;gt;{if(p.endsWith(&quot;/doc&quot;))return&quot;mediawiki&quot;;if(274!==u&amp;amp;&amp;amp;828!==u)return v[g];const e=274===u?&quot;Widget&quot;:&quot;Lua&quot;;return await mw.loader.using([&quot;oojs-ui-windows&quot;,&quot;oojs-ui.styles.icons-content&quot;]),await OO.ui.confirm(n(&quot;contentmodel&quot;),{actions:[{label:e},{label:&quot;Wikitext&quot;,action:&quot;accept&quot;}]})?&quot;mediawiki&quot;:e.toLowerCase()})(),a=Z(o),[s]=await Promise.all([oe(o,a),a]);if(!i&amp;amp;&amp;amp;E.has(&quot;wikiEditor&quot;))try{if(&quot;function&quot;==typeof mw.addWikiEditor)mw.addWikiEditor(e);else{const{wikiEditor:{modules:{dialogs:{config:t}}}}=$;e.wikiEditor(&quot;addModule&quot;,{...$.wikiEditor.modules.toolbar.config.getDefaultConfig(),...t.getDefaultConfig()}),t.replaceIcons(e)}}catch(e){E.delete(&quot;wikiEditor&quot;),mw.notify(&quot;WikiEditor工具栏加载失败。&quot;,{type:&quot;error&quot;}),console.error(e)}&quot;mediawiki&quot;===o&amp;amp;&amp;amp;s.tags.html?(s.tagModes.html=&quot;htmlmixed&quot;,await Z(&quot;html&quot;)):&quot;widget&quot;!==o||CodeMirror.mimeModes.widget||CodeMirror.defineMIME(&quot;widget&quot;,{name:&quot;htmlmixed&quot;,tags:{noinclude:[[null,null,&quot;mediawiki&quot;]]}});const r=e.height();G&amp;amp;&amp;amp;G.toTextArea();const l=i||&quot;json&quot;===g;G=CodeMirror.fromTextArea(e[0],$.extend({inputStyle:&quot;contenteditable&quot;,lineNumbers:!/Android\b/u.test(navigator.userAgent),lineWrapping:!0,mode:o,mwConfig:s,json:l},Object.fromEntries(O.map((({option:e,addon:t=e,modes:i,complex:n=(e=&amp;gt;!i||i.has(e))})=&amp;gt;{const a=Array.isArray(t)?t[0]:t;return[e,E.has(a)&amp;amp;&amp;amp;n(o,l)]}))),&quot;mediawiki&quot;===o?{extraKeys:E.has(&quot;escape&quot;)&amp;amp;&amp;amp;D(CodeMirror)}:{indentUnit:E.has(&quot;indentWithSpace&quot;)?_:4,indentWithTabs:!E.has(&quot;indentWithSpace&quot;)})),G.setSize(null,r),G.getWrapperElement().id=&quot;Wikiplus-CodeMirror&quot;,$.fn.textSelection&amp;amp;&amp;amp;e.textSelection(&quot;register&quot;,ae);const d=z(CodeMirror)?&quot;Ctrl&quot;:&quot;Cmd&quot;;if(E.has(&quot;wikiEditor&quot;)){const t=e.data(&quot;wikiEditorContext&quot;);G.addKeyMap({[`${d}-F`](){$.wikiEditor.modules.dialogs.api.openDialog(t,&quot;search-and-replace&quot;)}})}if(N(G,o),$(&quot;#Wikiplus-Quickedit-Jump&quot;).children(&quot;a&quot;).attr(&quot;href&quot;,&quot;#Wikiplus-CodeMirror&quot;),!i){const e=t.getObject(&quot;Wikiplus_Settings&quot;),i=e&amp;amp;&amp;amp;e.esc_to_exit_quickedit||e.escToExitQuickEdit,n=()=&amp;gt;{$(&quot;#Wikiplus-Quickedit-Submit&quot;).triggerHandler(&quot;click&quot;)},o=()=&amp;gt;{$(&quot;#Wikiplus-Quickedit-MinorEdit&quot;).click(),$(&quot;#Wikiplus-Quickedit-Submit&quot;).triggerHandler(&quot;click&quot;)};G.addKeyMap($.extend({[`${d}-S`]:n,[`Shift-${d}-S`]:o},!0===i||&quot;true&quot;===i?{Esc(){$(&quot;#Wikiplus-Quickedit-Back&quot;).triggerHandler(&quot;click&quot;)}}:{}))}G.refresh(),mw.hook(&quot;wiki-codemirror&quot;).fire(G)},{body:re}=document;new MutationObserver((e=&amp;gt;{const t=$(e.flatMap((({addedNodes:e})=&amp;gt;[...e]))).find(&quot;#Wikiplus-Quickedit, #Wikiplus-Setting-Input&quot;);t.length&amp;gt;0&amp;amp;&amp;amp;se(t,&quot;Wikiplus-Setting-Input&quot;===t.attr(&quot;id&quot;))})).observe(re,{childList:!0}),$(re).on(&quot;keydown.wphl&quot;,&quot;.ui-dialog&quot;,(function(e){if(&quot;Escape&quot;===e.key){const t=$(this).children(&quot;.ui-dialog-content&quot;).data(&quot;context&quot;);t&amp;amp;&amp;amp;t.$textarea&amp;amp;&amp;amp;&quot;Wikiplus-Quickedit&quot;===t.$textarea.attr(&quot;id&quot;)&amp;amp;&amp;amp;e.stopPropagation()}}));const le=e=&amp;gt;&quot;Wikiplus-Quickedit&quot;===e.id||&quot;Wikiplus-Setting-Input&quot;===e.id;let de,ce,me,pe,ue,ge,we;$.valHooks.textarea={get:e=&amp;gt;le(e)&amp;amp;&amp;amp;G?G.getValue():e.value,set(e,t){le(e)&amp;amp;&amp;amp;G?G.setValue(t):e.value=t}},await R;const he=(e=[...E])=&amp;gt;{we.toggle(e.includes(&quot;indentWithSpace&quot;))},ke=$(mw.util.addPortletLink({minerva:&quot;page-actions-overflow&quot;,moeskin:&quot;ca-more-actions&quot;}[f]||&quot;p-cactions&quot;,&quot;#&quot;,n(&quot;portlet&quot;),&quot;wphl-settings&quot;)).click((async()=&amp;gt;{if(de)ce.setValue([...E]),ue.setValue(_);else{await mw.loader.using([&quot;oojs-ui-windows&quot;,&quot;oojs-ui.styles.icons-content&quot;]),de=new OO.ui.MessageDialog({id:&quot;Wikiplus-highlight-dialog&quot;});const e=new OO.ui.WindowManager;e.$element.appendTo(re),e.addWindows([de]),ce=new OO.ui.CheckboxMultiselectInputWidget({options:[...O.map((({option:e,addon:t=e})=&amp;gt;{const i=Array.isArray(t)?t[0]:t;return{data:i,label:o(`addon-${i.toLowerCase()}`)}})),...[&quot;wikiEditor&quot;,&quot;escape&quot;,&quot;contextmenu&quot;,&quot;lint&quot;,&quot;indentWithSpace&quot;,&quot;otherEditors&quot;].map((e=&amp;gt;({data:e,label:o(`addon-${e.toLowerCase()}`)})))],value:[...E]}).on(&quot;change&quot;,he);const{checkboxMultiselectWidget:t}=ce;me=t.findItemFromData(&quot;search&quot;),pe=t.findItemFromData(&quot;wikiEditor&quot;),ue=new OO.ui.NumberInputWidget({min:0,value:_}),ge=new OO.ui.FieldLayout(ce,{label:n(&quot;addon-label&quot;),notices:[n(&quot;addon-notice&quot;)],align:&quot;top&quot;}),we=new OO.ui.FieldLayout(ue,{label:n(&quot;addon-indent&quot;)}),he(),Object.assign(mw.libs.wphl,{widget:ce,indentWidget:ue})}const e=&quot;object&quot;==typeof window.Wikiplus||&quot;object&quot;==typeof window._WikiplusPages;me.setDisabled(!e),pe.setDisabled(!e||!mw.loader.getState(&quot;ext.wikiEditor&quot;));const i=await de.open({title:n(&quot;addon-title&quot;),message:ge.$element.add(we.$element).add($(&quot;&amp;lt;p&amp;gt;&quot;,{html:n(&quot;feedback&quot;)})),actions:[{action:&quot;reject&quot;,label:mw.msg(&quot;ooui-dialog-message-reject&quot;)},{action:&quot;accept&quot;,label:mw.msg(&quot;ooui-dialog-message-accept&quot;),flags:&quot;progressive&quot;}],size:&quot;en&quot;===F||&quot;minerva&quot;===f?&quot;medium&quot;:&quot;small&quot;}).closing;if(ge.$element.detach(),we.$element.detach(),&quot;object&quot;==typeof i&amp;amp;&amp;amp;&quot;accept&quot;===i.action){const e=ce.getValue();E.clear();for(const t of e)E.add(t);_=Number(ue.getValue()),t.setObject(&quot;Wikiplus-highlight-addons&quot;,e),t.setObject(&quot;Wikiplus-highlight-indent&quot;,_)}}));&quot;minerva&quot;===f&amp;amp;&amp;amp;ke.find(&quot;.mw-ui-icon&quot;).addClass(&quot;mw-ui-icon-minerva-settings&quot;),&quot;function&quot;==typeof H&amp;amp;&amp;amp;H().find(&quot;#wphl-settings-notify&quot;).click((e=&amp;gt;{e.preventDefault(),$(&quot;#wphl-settings&quot;).triggerHandler(&quot;click&quot;)}));const fe=async e=&amp;gt;{if(!E.has(&quot;otherEditors&quot;))return;let t=e.getOption(&quot;mode&quot;);t=&quot;text/mediawiki&quot;===t?&quot;mediawiki&quot;:t;const i=X(CodeMirror,!0),n=e.getOption(&quot;json&quot;),{prototype:o,optionHandlers:a,helpers:{lint:s}}=CodeMirror;!o.annotateScrollbar&amp;amp;&amp;amp;&quot;mediawiki&quot;===t&amp;amp;&amp;amp;E.has(&quot;lint&quot;)&amp;amp;&amp;amp;i.push(W.annotateScrollbar),!window.wikiparse&amp;amp;&amp;amp;&quot;mediawiki&quot;===t&amp;amp;&amp;amp;E.has(&quot;lint&quot;)&amp;amp;&amp;amp;i.push(W.parser),!a.lint&amp;amp;&amp;amp;&quot;mediawiki&quot;===t&amp;amp;&amp;amp;E.has(&quot;lint&quot;)&amp;amp;&amp;amp;(mw.loader.load(`${r}/${l}/addon/lint/lint.min.css`,&quot;text/css&quot;),i.push(W.lint)),s&amp;amp;&amp;amp;s.mediawiki||&quot;mediawiki&quot;!==t||!E.has(&quot;lint&quot;)||i.push(W.lintWikitext),await J(i);for(const{option:i,addon:o=i,modes:a,complex:s=(e=&amp;gt;!a||a.has(e))}of O.filter((({only:e})=&amp;gt;!e))){const a=Array.isArray(o)?o[0]:o;void 0===e.getOption(i)&amp;amp;&amp;amp;E.has(a)&amp;amp;&amp;amp;e.setOption(i,s(t,n))}&quot;mediawiki&quot;===t&amp;amp;&amp;amp;E.has(&quot;escape&quot;)?e.addKeyMap(D(CodeMirror),!0):&quot;mediawiki&quot;!==t&amp;amp;&amp;amp;E.has(&quot;indentWithSpace&quot;)&amp;amp;&amp;amp;(e.setOption(&quot;indentUnit&quot;,_),e.setOption(&quot;indentWithTabs&quot;,!1)),N(e,t)};mw.hook(&quot;InPageEdit.quickEdit.codemirror&quot;).add((({cm:e})=&amp;gt;fe(e))),mw.hook(&quot;inspector&quot;).add((e=&amp;gt;fe(e))),mw.hook(&quot;wiki-codemirror&quot;).add((e=&amp;gt;{e.getTextArea&amp;amp;&amp;amp;le(e.getTextArea())||fe(e)})),mw.loader.load(`${r}/${m}/styles.min.css`,&quot;text/css&quot;),Object.assign(mw.libs.wphl,{version:e,options:O,addons:E,i18n:U,i18nLang:F,storage:t,$portlet:ke,CDN:r,PARSER_CDN:c,USING_LOCAL:b,MODE_LIST:M,ADDON_LIST:W,msg:n,htmlMsg:o,escapeHTML:I,handleContextMenu:N,setI18N:B,getAddonScript:X,updateCachedConfig:ee,getMwConfig:oe,renderEditor:se,handleOtherEditors:fe,isPc:z})})();&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;//# sourceMappingURL=/sm/5ec6066ae194fdd6b69ec2894fedea411edfd6170e606001dad4c36094921ae6.map&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key zybkcn_com:diff:1.41:old-18:rev-368:wikidiff2=table:1.14.2:bc2a06be --&gt;
&lt;/table&gt;</summary>
		<author><name>鹿野耕云</name></author>
	</entry>
	<entry>
		<id>https://test.zybkcn.com/w/index.php?title=MediaWiki:Gadget-wikiplus-highlight.js&amp;diff=18&amp;oldid=prev</id>
		<title>鹿野耕云：​创建页面，内容为“mw.loader.load(&#039;https://testingcf.jsdelivr.net/npm/wikiplus-highlight@latest&#039;);”</title>
		<link rel="alternate" type="text/html" href="https://test.zybkcn.com/w/index.php?title=MediaWiki:Gadget-wikiplus-highlight.js&amp;diff=18&amp;oldid=prev"/>
		<updated>2025-11-23T02:36:46Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“mw.loader.load(&amp;#039;https://testingcf.jsdelivr.net/npm/wikiplus-highlight@latest&amp;#039;);”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;mw.loader.load(&amp;#039;https://testingcf.jsdelivr.net/npm/wikiplus-highlight@latest&amp;#039;);&lt;/div&gt;</summary>
		<author><name>鹿野耕云</name></author>
	</entry>
</feed>