wikiplus-highlight 2.16.0 → 2.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,5 @@
1
1
  # Wikiplus-highlight
2
2
  [![npm version](https://badge.fury.io/js/wikiplus-highlight.svg)](https://www.npmjs.com/package/wikiplus-highlight)
3
- [![npm downloads](https://img.shields.io/npm/dw/wikiplus-highlight.svg)](https://www.npmjs.com/package/wikiplus-highlight)
4
3
  [![jsdelivr hits](https://img.shields.io/jsdelivr/npm/hd/wikiplus-highlight.svg)](https://www.npmjs.com/package/wikiplus-highlight)
5
4
 
6
5
  **Wikiplus-highlight** 是由 Bhsd 编写的一款 [Wikiplus](https://github.com/Wikiplus/Wikiplus) 语法高亮插件,它主要基于 MediaWiki 内置的 [JavaScript 模块](https://www.mediawiki.org/wiki/ResourceLoader/Core_modules)和 [CodeMirror](https://codemirror.net/) 编写。
@@ -12,13 +11,13 @@
12
11
  在*个人 JS 页*添加以下代码:
13
12
 
14
13
  ```javascript
15
- mw.loader.load('//cdn.jsdelivr.net/npm/wikiplus-highlight@2.16.0');
14
+ mw.loader.load('//cdn.jsdelivr.net/npm/wikiplus-highlight@2.18.2');
16
15
  ```
17
16
 
18
17
 
19
18
 
20
19
  ```javascript
21
- mw.loader.load('//unpkg.com/wikiplus-highlight@2.16.0/dist/main.min.js');
20
+ mw.loader.load('//unpkg.com/wikiplus-highlight@2.18.2/dist/main.min.js');
22
21
  ```
23
22
 
24
23
  ### 稳定版本
package/dist/main.min.js CHANGED
@@ -4,5 +4,5 @@
4
4
  * @author 机智的小鱼君 <https://github.com/Dragon-Fish>
5
5
  * @license GPL-3.0
6
6
  */
7
- (async()=>{"use strict";if(mw.libs.wphl)return;mw.libs.wphl=!0;const i="2.16",d="object"==typeof mw.storage&&"function"==typeof mw.storage.getObject?mw.storage:{getObject(e){e=localStorage.getItem(e);if(!1===e)return!1;try{return JSON.parse(e)}catch(e){return null}},setObject(e,i){try{var t=JSON.stringify(i);return localStorage.setItem(e,t)}catch(e){return!1}}},g=Object.fromEntries||(e=>{const i={};for(var[t,n]of e)i[t]=n;return i}),P=e=>"function"==typeof e.flat?e.flat():e.reduce((e,i)=>e.concat(i),[]),o=(e=i)=>e.split(".").map(e=>Number(e));const c=(e,...i)=>mw.msg("wphl-"+e,...i),n=(...e)=>$($.parseHTML(c(...e)));var e=(...i)=>()=>{var e=$("<p>",{html:c(...i)});return mw.notify(e,{type:"success",autoHideSeconds:"long",tag:"wikiplus-highlight"}),e},t=o().slice(0,2).join(".");const r="//fastly.jsdelivr.net",l="npm/codemirror@5.65.3",N="gh/bhsd-harry/codemirror-mediawiki@1.1.5",a="npm/wikiplus-highlight@"+t,{wgPageName:U,wgNamespaceNumber:H,wgPageContentModel:D,wgServerName:B,wgScriptPath:Q,wgUserLanguage:V,skin:q}=mw.config.values,p=null!==mw.loader.getState("ext.CodeMirror"),s=d.getObject("InPageEditMwConfig")||{},F=""+B+Q,w=s[F]||{},h=!(w.time>Date.now()-2592e6),J={css:"css","sanitized-css":"css",javascript:"javascript",json:"javascript",wikitext:"mediawiki"},m=p?{lib:"ext.CodeMirror.lib",css:"ext.CodeMirror.lib.mode.css",javascript:"ext.CodeMirror.lib.mode.javascript",lua:l+"/mode/lua/lua.min.js",mediawiki:h?"ext.CodeMirror.data":[],htmlmixed:"ext.CodeMirror.lib.mode.htmlmixed",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"},u={searchcursor:l+"/addon/search/searchcursor.min.js",search:a+"/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:a+"/matchtags.min.js",fold:a+"/fold.min.js"},f=[{option:"styleSelectedText",addon:"search",download:"markSelection",only:!0},{option:"styleActiveLine",addon:"activeLine"},{option:"showTrailingSpace",addon:"trailingspace"},{option:"matchBrackets",complex:(e,i)=>"mediawiki"!==e&&!i||{bracketRegex:/[{}[\]]/}},{option:"autoCloseBrackets",addon:"closeBrackets",complex:(e,i)=>"mediawiki"!==e&&!i||'()[]{}""'},{option:"matchTags",addon:["matchTags","fold"],modes:["mediawiki","widget"]},{option:"fold",modes:["mediawiki","widget"]}];let k=d.getObject("Wikiplus-highlight-addons")||["search"],b=d.getObject("Wikiplus-highlight-indent")||"4";const K={'"':"quot","'":"apos","<":"lt",">":"gt","&":"amp"," ":"nbsp"},y=i=>e=>{e.replaceSelection(e.getSelection().split("\n").map(i).join("\n"),"around")},x=y(e=>e.split("").map(e=>{if(e in K)return`&${K[e]};`;const i=e.charCodeAt();return i<256?`&#${i};`:`&#x${i.toString(16)};`}).join("")),C=({keyMap:e})=>e.default===e.pcDefault,R={"Ctrl-/":x,"Ctrl-\\":y(encodeURIComponent)},G={"Cmd-/":x,"Cmd-\\":y(encodeURIComponent)},j=async(p,e)=>{if(["mediawiki","widget"].includes(e)&&k.includes("contextmenu")){const i=$(p.getWrapperElement()).addClass("CodeMirror-contextmenu"),[t]=(mw.config.get("extCodeMirrorConfig")||{functionSynonyms:[{invoke:"invoke","调用":"invoke",widget:"widget","小工具":"widget"}]})["functionSynonyms"];e=i=>Object.keys(t).filter(e=>t[e]===i).map(e=>e.startsWith("#")?e:"#"+e);const w=e("invoke"),h=e("widget");await mw.loader.using("mediawiki.Title"),i.contextmenu(({pageX:e,pageY:i})=>{const t=p.coordsChar({left:e,top:i}),{line:n,ch:o}=t,a=p.getTokenTypeAt(t);if(/\bmw-(?:template-name|parserfunction)\b/.test(a)){const c=p.getLineTokens(n);for(var[s,{type:r,end:l,string:d}]of[...c.entries()].reverse())0<s&&c[s-1].type===r&&(c[s-1].end=l,c[s-1].string+=d,c.splice(s,1));const m=c.findIndex(({start:e,end:i})=>e<o&&i>=o),u=c[m].string.replace(/\u200e/g,"").replace(/_/g," ").trim();if(/\bmw-template-name\b/.test(a)){const g=new mw.Title(u);return 0!==g.namespace||u.startsWith(":")?open(g.getUrl(),"_blank"):open(mw.util.getUrl("Template:"+u),"_blank"),!1}if(!(m<2)&&/\bmw-parserfunction-delimiter\b/.test(c[m-1].type)&&/\bmw-parserfunction-name\b/.test(c[m-2].type)){e=c[m-2].string.trim().toLowerCase();if(w.includes(e))open(mw.util.getUrl("Module:"+u),"_blank");else{if(!h.includes(e))return;open(mw.util.getUrl("Widget:"+u,{action:"edit"}),"_blank")}return!1}}})}};let v=d.getObject("Wikiplus-highlight-i18n"),M;v?((e,i)=>{var[e,t]=o(e),[i,n]=o(i);return e<i||e===i&&t<n})(v["wphl-version"],i)&&(M=e("welcome-upgrade",i,0)):(v={},M=e("welcome"));const W={zh:"zh-hans","zh-hans":"zh-hans","zh-cn":"zh-hans","zh-my":"zh-hans","zh-sg":"zh-hans","zh-hant":"zh-hant","zh-tw":"zh-hant","zh-hk":"zh-hant","zh-mo":"zh-hant"}[V]||"en",X=`${r}/${a}/i18n/${W}.json`,Y=v["wphl-version"]===t;e=async()=>{Y&&v["wphl-lang"]===W||(v=await $.ajax(X,{dataType:"json",cache:!0}),d.setObject("Wikiplus-highlight-i18n",v)),mw.messages.set(v)},t=Promise.all([mw.loader.using("mediawiki.util"),e()]);const S=(e,i)=>0===e.length?Promise.resolve():i?mw.loader.using(e):$.ajax(r+"/"+(1<e.length?"combine/":"")+e.join(),{dataType:"script",cache:!0});let O;const _=(e,i=!1)=>{const t=[];for(var{option:n,addon:o=n,download:a=Array.isArray(o)?n:o,only:s}of f)s&&i||n in e.optionHandlers||!Z(o,k)||t.push(u[a]);return t},Z=(e,i)=>Array.isArray(e)?e.some(e=>i.includes(e)):i.includes(e),ee=async e=>{let i=[];const t=[],n=[],o="function"==typeof window.CodeMirror;var a=o?window.CodeMirror:{modes:{},prototype:{},commands:{},optionHandlers:{}};if(["mediawiki","widget"].includes(e)&&!a.modes.mediawiki&&(mw.loader.load(`${r}/${N}/mediawiki.min.css`,"text/css"),(p?t:i).push(N+"/mediawiki.min.js")),"mediawiki"===e&&w.config&&w.config.tags.html&&(e="html"),o||((p?i:n).push(m.lib),p||mw.loader.load(`${r}/${l}/lib/codemirror.min.css`,"text/css")),!a.prototype.getSearchCursor&&k.includes("search")&&n.push(u.searchcursor),!a.commands.findForward&&k.includes("search")&&n.push(u.search),n.push(..._(a)),["widget","html"].includes(e))for(const s of["css","javascript","mediawiki","htmlmixed","xml"])a.modes[s]||(i=i.concat(m[s]));else"mediawiki"===e?i=i.concat(m.mediawiki):a.modes[e]||("lua"===e?(p?t:i).push(m.lua):i=i.concat(m[e]));o?await Promise.all([S(i,p),S(t),S(n)]):p?(await S(i,!0),await Promise.all([S(t),S(n)])):(await S(n),await S(i))},ie=e=>{s[F]={config:e,time:Date.now()},d.setObject("InPageEditMwConfig",s)},te=async(i,t)=>{if(["mediawiki","widget"].includes(i)){p&&h&&await t;let e=mw.config.get("extCodeMirrorConfig");if(e||h||!Y||({config:e}=w,e.tags.ref&&(e.tagModes.ref="text/mediawiki"),mw.config.set("extCodeMirrorConfig",e)),e&&e.redirect&&e.img)return e;if(e)return e;const{magicwords:n,extensiontags:o,functionhooks:a,variables:s}=(await(new mw.Api).get({meta:"siteinfo",siprop:e?"magicwords":"magicwords|extensiontags|functionhooks|variables",formatversion:2}))["query"],r=["msg","raw","msgnw","subst","safesubst"];i=e=>P(e.map(({aliases:e,name:i})=>e.map(e=>({alias:e,name:i})))),t=e=>g(e.map(({alias:e,name:i})=>[e.replace(/:$/,""),i]));if(e){const[l]=e["functionSynonyms"];l.subst||i(n.filter(({name:e})=>r.includes(e))).forEach(({alias:e,name:i})=>{l[e.replace(/:$/,"")]=i})}else{e={tagModes:{pre:"mw-tag-pre",nowiki:"mw-tag-nowiki",ref:"text/mediawiki"},tags:g(o.map(e=>[e.slice(1,-1),!0])),urlProtocols:mw.config.get("wgUrlProtocols")};const d=new Set([...a,...s,...r]),c=n.filter(({name:e,aliases:i})=>i.some(e=>/^__.+__$/.test(e))||d.has(e)),m=i(c.filter(e=>e["case-sensitive"])),u=i(c.filter(e=>!e["case-sensitive"])).map(({alias:e,name:i})=>({alias:e.toLowerCase(),name:i}));e.doubleUnderscore=[t(u.filter(({alias:e})=>/^__.+__$/.test(e))),t(m.filter(({alias:e})=>/^__.+__$/.test(e)))],e.functionSynonyms=[t(u.filter(({alias:e})=>!/^__.+__|^#$/.test(e))),t(m.filter(({alias:e})=>!/^__.+__|^#$/.test(e)))]}return e.redirect=n.find(({name:e})=>"redirect"===e).aliases,e.img=t(i(n.filter(({name:e})=>e.startsWith("img_")))),mw.config.set("extCodeMirrorConfig",e),ie(e),e}},ne=async(e,i)=>{const o=i?"javascript":await(async()=>{if(![274,828].includes(H)||U.endsWith("/doc"))return U.endsWith("/doc")?"mediawiki":J[D];{const e=274===H?"Widget":"Lua";return await mw.loader.using(["oojs-ui-windows","oojs-ui.styles.icons-content"]),await OO.ui.confirm(c("contentmodel"),{actions:[{label:e},{label:"Wikitext",action:"accept"}]})?"mediawiki":e.toLowerCase()}})();var t=ee(o);const[n]=await Promise.all([te(o,t),t]);"mediawiki"===o&&n.tags.html?(n.tagModes.html="htmlmixed",await ee("html")):"widget"!==o||CodeMirror.mimeModes.widget||CodeMirror.defineMIME("widget",{name:"htmlmixed",tags:{noinclude:[[null,null,"mediawiki"]]}});t=e.height();O&&O.toTextArea();const a=i||"json"===D;if((O=CodeMirror.fromTextArea(e[0],$.extend({inputStyle:"contenteditable",lineNumbers:!/Android\b/.test(navigator.userAgent),lineWrapping:!0,mode:o,mwConfig:n,json:a},g(f.map(({option:e,addon:i=e,modes:t,complex:n=e=>!t||t.includes(e)})=>{i=Array.isArray(i)?i[0]:i;return[e,k.includes(i)&&n(o,a)]})),"mediawiki"===o?{extraKeys:k.includes("escape")&&(C(CodeMirror)?R:G)}:{indentUnit:k.includes("indentWithSpace")?b:"4",indentWithTabs:!k.includes("indentWithSpace")}))).setSize(null,t),O.refresh(),O.getWrapperElement().id="Wikiplus-CodeMirror",j(O,o),$("#Wikiplus-Quickedit-Jump").children("a").attr("href","#Wikiplus-CodeMirror"),!i){const s="object"==typeof window.Wikiplus?window.Wikiplus:{getSetting(e){var i=d.getObject("Wikiplus_Settings");return i&&i[e]}},r=()=>{$("#Wikiplus-Quickedit-Submit").triggerHandler("click")},l=()=>{$("#Wikiplus-Quickedit-MinorEdit").click(),$("#Wikiplus-Quickedit-Submit").triggerHandler("click")};O.addKeyMap($.extend(C(CodeMirror)?{"Ctrl-S":r,"Shift-Ctrl-S":l}:{"Cmd-S":r,"Shift-Cmd-S":l},[!0,"true"].includes(s.getSetting("esc_to_exit_quickedit"))?{Esc(){$("#Wikiplus-Quickedit-Back").triggerHandler("click")}}:{}))}mw.hook("wiki-codemirror").fire(O)},oe=new MutationObserver(e=>{const i=$(P(e.map(({addedNodes:e})=>[...e]))).find("#Wikiplus-Quickedit, #Wikiplus-Setting-Input");0!==i.length&&ne(i,"Wikiplus-Setting-Input"===i.attr("id"))}),ae=(oe.observe(document.body,{childList:!0}),document.getElementById("wphl-style")||mw.loader.addStyleTag("#Wikiplus-CodeMirror{border:1px solid #c8ccd1;line-height:1.3;clear:both;-moz-user-select:auto;-webkit-user-select:auto;user-select:auto}#Wikiplus-CodeMirror .CodeMirror-gutter-wrapper{-moz-user-select:none;-webkit-user-select:none;user-select:none}div.Wikiplus-InterBox{font-size:14px;z-index:100}.skin-minerva .Wikiplus-InterBox{font-size:16px}.cm-trailingspace{text-decoration:underline wavy red}div.CodeMirror span.CodeMirror-matchingbracket{box-shadow:0 0 0 2px #9aef98}div.CodeMirror span.CodeMirror-nonmatchingbracket{box-shadow:0 0 0 2px #eace64}#Wikiplus-highlight-dialog .oo-ui-messageDialog-title{margin-bottom:0.28571429em}#Wikiplus-highlight-dialog .oo-ui-flaggedElement-notice{font-weight:normal;margin:0}.CodeMirror-contextmenu .cm-mw-template-name{cursor:pointer}")),{get:se=function(e){return e.value},set:re=function(e,i){e.value=i}}=(ae.id="wphl-style",$.valHooks.textarea||{}),le=e=>["Wikiplus-Quickedit","Wikiplus-Setting-Input"].includes(e.id);$.valHooks.textarea={get(e){return le(e)&&O?O.getValue():se(e)},set(e,i){le(e)&&O?O.setValue(i):re(e,i)}},await t;let z,T,I,L,A;const de=(e=k)=>{A.toggle(e.includes("indentWithSpace"))};const ce=$(mw.util.addPortletLink({minerva:"page-actions-overflow",citizen:"p-actions"}[q]||"p-cactions","#",c("portlet"),"wphl-settings")).click(async e=>{if(e.preventDefault(),z)T.setValue(k),I.setValue(b);else{await mw.loader.using(["oojs-ui-windows","oojs-ui.styles.icons-content"]),z=new OO.ui.MessageDialog({id:"Wikiplus-highlight-dialog"});const i=new OO.ui.WindowManager;i.$element.appendTo(document.body),i.addWindows([z]),T=new OO.ui.CheckboxMultiselectInputWidget({options:[...f.map(({option:e,addon:i=e})=>{const t=Array.isArray(i)?i[0]:i;return{data:t,label:n("addon-"+t.toLowerCase())}}),...["escape","contextmenu","indentWithSpace","otherEditors"].map(e=>({data:e,label:n("addon-"+e.toLowerCase())}))],value:k}).on("change",de),I=new OO.ui.NumberInputWidget({min:0,value:b}),L=new OO.ui.FieldLayout(T,{label:c("addon-label"),notices:[c("addon-notice")],align:"top"}),A=new OO.ui.FieldLayout(I,{label:c("addon-indent")}),de()}e="object"==typeof window.Wikiplus||"object"==typeof window.Pages;T.$element.find(".oo-ui-checkboxInputWidget").first().toggleClass("oo-ui-widget-enabled",e).children("input").prop("disabled",!e),z.open({title:c("addon-title"),message:L.$element.add(A.$element).add($("<p>",{html:c("feedback")})),actions:[{action:"reject",label:mw.msg("ooui-dialog-message-reject")},{action:"accept",label:mw.msg("ooui-dialog-message-accept"),flags:"progressive"}],size:"en"===W?"medium":"small"}).closing.then(e=>{L.$element.detach(),A.$element.detach(),"object"==typeof e&&"accept"===e.action&&(k=T.getValue(),b=I.getValue(),d.setObject("Wikiplus-highlight-addons",k),d.setObject("Wikiplus-highlight-indent",b))})}),E=("minerva"===q&&ce.find("a").addClass("mw-ui-icon-minerva-settings"),"function"==typeof M&&M().find("#wphl-settings-notify").click(e=>{e.preventDefault(),$("#wphl-settings").triggerHandler("click")}),async i=>{if(k.includes("otherEditors")){let e=i.getOption("mode");e="text/mediawiki"===e?"mediawiki":e;var t=_(CodeMirror,!0),n=i.getOption("json");await S(t);for(const{option:a,addon:s=a,modes:r,complex:l=e=>!r||r.includes(e)}of f.filter(({only:e})=>!e)){var o=Array.isArray(s)?s[0]:s;void 0===i.getOption(a)&&k.includes(o)&&i.setOption(a,l(e,n))}"mediawiki"!==e&&k.includes("indentWithSpace")?(i.setOption("indentUnit",b),i.setOption("indentWithTabs",!1)):"mediawiki"===e&&k.includes("escape")&&i.addKeyMap(C(CodeMirror)?R:G,!0),j(i,e)}});mw.hook("InPageEdit.quickEdit.codemirror").add(({cm:e})=>E(e)),mw.hook("inspector").add(e=>E(e)),mw.libs.wphl={version:i,options:f,addons:k,i18n:v,i18nLang:W,wphlStyle:ae,$portlet:ce,USING_LOCAL:p,MODE_LIST:m,ADDON_LIST:u,msg:c,htmlMsg:n,escapeHTML:x,handleContextMenu:j,setI18N:e,getAddonScript:_,intersect:Z,updateCachedConfig:ie,getMwConfig:te,renderEditor:ne,handleOtherEditors:E}})();
7
+ (async()=>{"use strict";if(mw.libs.wphl)return;mw.libs.wphl={};const i="2.18.2",m="object"==typeof mw.storage&&"function"==typeof mw.storage.getObject?mw.storage:{getObject(e){e=localStorage.getItem(e);if(!1===e)return!1;try{return JSON.parse(e)}catch(e){return null}},setObject(e,i){try{return localStorage.setItem(e,JSON.stringify(i))}catch(e){return!1}}},g=Object.fromEntries||(e=>{const i={};for(var[t,n]of e)i[t]=n;return i}),P=e=>"function"==typeof e.flat?e.flat():e.reduce((e,i)=>e.concat(i),[]),o=(e=i)=>e.split(".").map(e=>Number(e));const u=(e,...i)=>mw.msg("wphl-"+e,...i),n=(...e)=>$($.parseHTML(u(...e)));var e=(...i)=>()=>{var e=$("<p>",{html:u(...i)});return mw.notify(e,{type:"success",autoHideSeconds:"long",tag:"wikiplus-highlight"}),e},t=o().slice(0,2).join(".");const a="//fastly.jsdelivr.net",s="npm/codemirror@5.65.3",N="gh/bhsd-harry/codemirror-mediawiki@1.1.5",r="npm/wikiplus-highlight@"+t,{wgPageName:D,wgNamespaceNumber:U,wgPageContentModel:H,wgServerName:B,wgScriptPath:V,wgUserLanguage:F,skin:d}=mw.config.values,p=null!==mw.loader.getState("ext.CodeMirror"),l=m.getObject("InPageEditMwConfig")||{},Q=""+B+V,w=l[Q]||{},h=!(w.time>Date.now()-2592e6),q={css:"css","sanitized-css":"css",javascript:"javascript",json:"javascript",wikitext:"mediawiki"},c=p?{lib:"ext.CodeMirror.lib",css:"ext.CodeMirror.lib.mode.css",javascript:"ext.CodeMirror.lib.mode.javascript",lua:s+"/mode/lua/lua.min.js",mediawiki:h?"ext.CodeMirror.data":[],htmlmixed:"ext.CodeMirror.lib.mode.htmlmixed",xml:[]}:{lib:s+"/lib/codemirror.min.js",css:s+"/mode/css/css.min.js",javascript:s+"/mode/javascript/javascript.min.js",lua:s+"/mode/lua/lua.min.js",mediawiki:[],htmlmixed:s+"/mode/htmlmixed/htmlmixed.min.js",xml:s+"/mode/xml/xml.min.js"},f={searchcursor:s+"/addon/search/searchcursor.min.js",search:r+"/search.min.js",markSelection:s+"/addon/selection/mark-selection.min.js",activeLine:s+"/addon/selection/active-line.min.js",trailingspace:s+"/addon/edit/trailingspace.min.js",matchBrackets:s+"/addon/edit/matchbrackets.min.js",closeBrackets:s+"/addon/edit/closebrackets.min.js",matchTags:r+"/matchtags.min.js",fold:r+"/fold.min.js",wikiEditor:"ext.wikiEditor",contextmenu:"mediawiki.Title"},k=[{option:"styleSelectedText",addon:"search",download:"markSelection",only:!0,complex:()=>!b.includes("wikiEditor")},{option:"styleActiveLine",addon:"activeLine"},{option:"showTrailingSpace",addon:"trailingspace"},{option:"matchBrackets",complex:(e,i)=>"mediawiki"!==e&&!i||{bracketRegex:/[{}[\]]/}},{option:"autoCloseBrackets",addon:"closeBrackets",complex:(e,i)=>"mediawiki"!==e&&!i||'()[]{}""'},{option:"matchTags",addon:["matchTags","fold"],modes:["mediawiki","widget"]},{option:"fold",modes:["mediawiki","widget"]}];let b=m.getObject("Wikiplus-highlight-addons")||["search"],y=m.getObject("Wikiplus-highlight-indent")||4;const J={'"':"quot","'":"apos","<":"lt",">":"gt","&":"amp"," ":"nbsp"},x=i=>e=>{e.replaceSelection(e.getSelection().split("\n").map(i).join("\n"),"around")},C=x(e=>e.split("").map(e=>{if(e in J)return`&${J[e]};`;const i=e.charCodeAt();return i<256?`&#${i};`:`&#x${i.toString(16)};`}).join("")),v=({keyMap:e})=>e.default===e.pcDefault,K={"Ctrl-/":C,"Ctrl-\\":x(encodeURIComponent)},R={"Cmd-/":C,"Cmd-\\":x(encodeURIComponent)},j=(p,e)=>{if(["mediawiki","widget"].includes(e)&&b.includes("contextmenu")){const i=$(p.getWrapperElement()).addClass("CodeMirror-contextmenu"),[t]=(mw.config.get("extCodeMirrorConfig")||{functionSynonyms:[{invoke:"invoke","调用":"invoke",widget:"widget","小工具":"widget"}]})["functionSynonyms"];e=i=>Object.keys(t).filter(e=>t[e]===i).map(e=>e.startsWith("#")?e:"#"+e);const w=e("invoke"),h=e("widget");i.contextmenu(({pageX:e,pageY:i})=>{const t=p.coordsChar({left:e,top:i}),{line:n,ch:o}=t,a=p.getTokenTypeAt(t);if(/\bmw-(?:template-name|parserfunction)\b/.test(a)){const c=p.getLineTokens(n);for(var[s,{type:r,end:d,string:l}]of[...c.entries()].reverse())0<s&&c[s-1].type===r&&(c[s-1].end=d,c[s-1].string+=l,c.splice(s,1));const m=c.findIndex(({start:e,end:i})=>e<o&&i>=o),u=c[m].string.replace(/\u200e/g,"").replace(/_/g," ").trim();if(/\bmw-template-name\b/.test(a)){const g=new mw.Title(u);return 0!==g.namespace||u.startsWith(":")?open(g.getUrl(),"_blank"):open(mw.util.getUrl("Template:"+u),"_blank"),!1}if(!(m<2)&&/\bmw-parserfunction-delimiter\b/.test(c[m-1].type)&&/\bmw-parserfunction-name\b/.test(c[m-2].type)){e=c[m-2].string.trim().toLowerCase();if(w.includes(e))open(mw.util.getUrl("Module:"+u),"_blank");else{if(!h.includes(e))return;open(mw.util.getUrl("Widget:"+u,{action:"edit"}),"_blank")}return!1}}})}};let S=m.getObject("Wikiplus-highlight-i18n"),M;S?((e,i)=>{var[e,t]=o(e),[i,n]=o(i);return e<i||e===i&&t<n})(S["wphl-version"],i)&&(M=e("welcome-new-addon",i,1)):(S={},M=e("welcome"));const W={zh:"zh-hans","zh-hans":"zh-hans","zh-cn":"zh-hans","zh-my":"zh-hans","zh-sg":"zh-hans","zh-hant":"zh-hant","zh-tw":"zh-hant","zh-hk":"zh-hant","zh-mo":"zh-hant"}[F]||"en",G=`${a}/${r}/i18n/${W}.json`,X=S["wphl-version"]===t;e=async()=>{X&&S["wphl-lang"]===W||(S=await $.ajax(G,{dataType:"json",cache:!0}),m.setObject("Wikiplus-highlight-i18n",S)),mw.messages.set(S)},t=Promise.all([mw.loader.using("mediawiki.util"),e()]);const O=e=>e.length?mw.loader.using(e):Promise.resolve(),E=e=>e.length?$.ajax(a+"/"+(1<e.length?"combine/":"")+e.join(),{dataType:"script",cache:!0}):Promise.resolve(),Y=async(e,i)=>{var t=e.filter(e=>!e.includes("/")),e=e.filter(e=>e.includes("/"));return!0===i?(await O(t),E(e)):!1===i?(await E(e),O(t)):Promise.all([O(t),E(e)])};let _;const z=(e,i=!1)=>{const t=[];for(var{option:n,addon:o=n,download:a=Array.isArray(o)?n:o,only:s}of k)s&&i||n in e.optionHandlers||!Z(o,b)||t.push(f[a]);return t},Z=(e,i)=>Array.isArray(e)?e.some(e=>i.includes(e)):i.includes(e),ee=e=>{let i=[];var t="function"==typeof window.CodeMirror,n=t?window.CodeMirror:{modes:{},prototype:{},commands:{},optionHandlers:{}};if(t||(i.push(c.lib),p||mw.loader.load(`${a}/${s}/lib/codemirror.min.css`,"text/css")),"mediawiki"===e&&w.config&&w.config.tags.html&&(e="html"),["mediawiki","widget"].includes(e)&&!n.modes.mediawiki&&(mw.loader.load(`${a}/${N}/mediawiki.min.css`,"text/css"),i.push(N+"/mediawiki.min.js")),["widget","html"].includes(e))for(const o of["css","javascript","mediawiki","htmlmixed","xml"])n.modes[o]||(i=i.concat(c[o]));else i=i.concat(c[e]);return n.prototype.getSearchCursor||!b.includes("search")||b.includes("wikiEditor")||i.push(f.searchcursor),n.commands.findForward||!b.includes("search")||b.includes("wikiEditor")||i.push(f.search),"ready"!==mw.loader.getState("ext.wikiEditor")&&b.includes("wikiEditor")&&i.push(f.wikiEditor),"ready"!==mw.loader.getState("mediawiki.Title")&&b.includes("contextmenu")&&i.push(f.contextmenu),i.push(...z(n)),Y(i,t?void 0:p)},ie=e=>{l[Q]={config:e,time:Date.now()},m.setObject("InPageEditMwConfig",l)},te=async(i,t)=>{if(["mediawiki","widget"].includes(i)){p&&h&&await t;let e=mw.config.get("extCodeMirrorConfig");if(e||h||!X||({config:e}=w,e.tags.ref&&(e.tagModes.ref="text/mediawiki"),mw.config.set("extCodeMirrorConfig",e)),e&&e.redirect&&e.img)return e;if(e)return e;const{magicwords:n,extensiontags:o,functionhooks:a,variables:s}=(await(new mw.Api).get({meta:"siteinfo",siprop:e?"magicwords":"magicwords|extensiontags|functionhooks|variables",formatversion:2}))["query"],r=["msg","raw","msgnw","subst","safesubst"];i=e=>P(e.map(({aliases:e,name:i})=>e.map(e=>({alias:e,name:i})))),t=e=>g(e.map(({alias:e,name:i})=>[e.replace(/:$/,""),i]));if(e){const[d]=e["functionSynonyms"];d.subst||i(n.filter(({name:e})=>r.includes(e))).forEach(({alias:e,name:i})=>{d[e.replace(/:$/,"")]=i})}else{e={tagModes:{pre:"mw-tag-pre",nowiki:"mw-tag-nowiki",ref:"text/mediawiki"},tags:g(o.map(e=>[e.slice(1,-1),!0])),urlProtocols:mw.config.get("wgUrlProtocols")};const l=new Set([...a,...s,...r]),c=n.filter(({name:e,aliases:i})=>i.some(e=>/^__.+__$/.test(e))||l.has(e)),m=i(c.filter(e=>e["case-sensitive"])),u=i(c.filter(e=>!e["case-sensitive"])).map(({alias:e,name:i})=>({alias:e.toLowerCase(),name:i}));e.doubleUnderscore=[t(u.filter(({alias:e})=>/^__.+__$/.test(e))),t(m.filter(({alias:e})=>/^__.+__$/.test(e)))],e.functionSynonyms=[t(u.filter(({alias:e})=>!/^__.+__|^#$/.test(e))),t(m.filter(({alias:e})=>!/^__.+__|^#$/.test(e)))]}return e.redirect=n.find(({name:e})=>"redirect"===e).aliases,e.img=t(i(n.filter(({name:e})=>e.startsWith("img_")))),mw.config.set("extCodeMirrorConfig",e),ie(e),e}},ne={getContents(){return _.getValue()},setContents(e){return _.setValue(e),this},getSelection(){return _.getSelection()},setSelection(e){return _.setSelection(_.posFromIndex(e.start),"end"in e?_.posFromIndex(e.end):void 0),_.focus(),this},replaceSelection(e){return _.replaceSelection(e),this},getCaretPosition(e){var i=_.indexFromPos(_.getCursor("from")),t=_.indexFromPos(_.getCursor("to"));return e.startAndEnd?[i,t]:i},scrollToCaretPosition(){return _.scrollIntoView(),this}},oe=async(e,i)=>{const o=i?"javascript":await(async()=>{if(![274,828].includes(U)||D.endsWith("/doc"))return D.endsWith("/doc")?"mediawiki":q[H];{const e=274===U?"Widget":"Lua";return await mw.loader.using(["oojs-ui-windows","oojs-ui.styles.icons-content"]),await OO.ui.confirm(u("contentmodel"),{actions:[{label:e},{label:"Wikitext",action:"accept"}]})?"mediawiki":e.toLowerCase()}})(),t=ee(o),[n]=await Promise.all([te(o,t),t]);if(!i&&b.includes("wikiEditor"))try{if("function"==typeof mw.addWikiEditor)mw.addWikiEditor(e);else{const r=$.wikiEditor.modules.dialogs["config"];e.wikiEditor("addModule",{...$.wikiEditor.modules.toolbar.config.getDefaultConfig(),...r.getDefaultConfig()}),r.replaceIcons(e)}}catch(e){b.splice(b.indexOf("wikiEditor"),1),mw.notify("WikiEditor工具栏加载失败。",{type:"error"}),console.error(e)}"mediawiki"===o&&n.tags.html?(n.tagModes.html="htmlmixed",await ee("html")):"widget"!==o||CodeMirror.mimeModes.widget||CodeMirror.defineMIME("widget",{name:"htmlmixed",tags:{noinclude:[[null,null,"mediawiki"]]}});var a=e.height();_&&_.toTextArea();const s=i||"json"===H;if((_=CodeMirror.fromTextArea(e[0],$.extend({inputStyle:"contenteditable",lineNumbers:!/Android\b/.test(navigator.userAgent),lineWrapping:!0,mode:o,mwConfig:n,json:s},g(k.map(({option:e,addon:i=e,modes:t,complex:n=e=>!t||t.includes(e)})=>{i=Array.isArray(i)?i[0]:i;return[e,b.includes(i)&&n(o,s)]})),"mediawiki"===o?{extraKeys:b.includes("escape")&&(v(CodeMirror)?K:R)}:{indentUnit:b.includes("indentWithSpace")?y:4,indentWithTabs:!b.includes("indentWithSpace")}))).setSize(null,a),_.refresh(),_.getWrapperElement().id="Wikiplus-CodeMirror",$.fn.textSelection&&e.textSelection("register",ne),j(_,o),$("#Wikiplus-Quickedit-Jump").children("a").attr("href","#Wikiplus-CodeMirror"),!i){const d="object"==typeof window.Wikiplus?window.Wikiplus:{getSetting(e){var i=m.getObject("Wikiplus_Settings");return i&&i[e]}},l=()=>{$("#Wikiplus-Quickedit-Submit").triggerHandler("click")},c=()=>{$("#Wikiplus-Quickedit-MinorEdit").click(),$("#Wikiplus-Quickedit-Submit").triggerHandler("click")};_.addKeyMap($.extend(v(CodeMirror)?{"Ctrl-S":l,"Shift-Ctrl-S":c}:{"Cmd-S":l,"Shift-Cmd-S":c},[!0,"true"].includes(d.getSetting("esc_to_exit_quickedit"))?{Esc(){$("#Wikiplus-Quickedit-Back").triggerHandler("click")}}:{}))}mw.hook("wiki-codemirror").fire(_)},ae=new MutationObserver(e=>{const i=$(P(e.map(({addedNodes:e})=>[...e]))).find("#Wikiplus-Quickedit, #Wikiplus-Setting-Input");0!==i.length&&oe(i,"Wikiplus-Setting-Input"===i.attr("id"))}),se=(ae.observe(document.body,{childList:!0}),document.getElementById("wphl-style")||mw.loader.addStyleTag("#Wikiplus-CodeMirror{border:1px solid #c8ccd1;line-height:1.3;clear:both;-moz-user-select:auto;-webkit-user-select:auto;user-select:auto}#Wikiplus-CodeMirror .CodeMirror-gutter-wrapper{-moz-user-select:none;-webkit-user-select:none;user-select:none}div.Wikiplus-InterBox{font-size:14px;z-index:100}.skin-minerva .Wikiplus-InterBox{font-size:16px}.cm-trailingspace{text-decoration:underline wavy red}div.CodeMirror span.CodeMirror-matchingbracket{box-shadow:0 0 0 2px #9aef98}div.CodeMirror span.CodeMirror-nonmatchingbracket{box-shadow:0 0 0 2px #eace64}#Wikiplus-highlight-dialog .oo-ui-messageDialog-title{margin-bottom:0.28571429em}#Wikiplus-highlight-dialog .oo-ui-flaggedElement-notice{font-weight:normal;margin:0}.CodeMirror-contextmenu .cm-mw-template-name{cursor:pointer}")),{get:re=function(e){return e.value},set:de=function(e,i){e.value=i}}=(se.id="wphl-style",$.valHooks.textarea||{}),le=e=>["Wikiplus-Quickedit","Wikiplus-Setting-Input"].includes(e.id);$.valHooks.textarea={get(e){return le(e)&&_?_.getValue():re(e)},set(e,i){le(e)&&_?_.setValue(i):de(e,i)}},await t;let I,T,A,ce,L;const me=(e=b)=>{L.toggle(e.includes("indentWithSpace"))};const ue=$(mw.util.addPortletLink({minerva:"page-actions-overflow",citizen:"p-actions"}[d]||"p-cactions","#",u("portlet"),"wphl-settings")).click(async e=>{if(e.preventDefault(),I)T.setValue(b),A.setValue(y);else{await mw.loader.using(["oojs-ui-windows","oojs-ui.styles.icons-content"]),I=new OO.ui.MessageDialog({id:"Wikiplus-highlight-dialog"});const i=new OO.ui.WindowManager;i.$element.appendTo(document.body),i.addWindows([I]),T=new OO.ui.CheckboxMultiselectInputWidget({options:[...k.map(({option:e,addon:i=e})=>{const t=Array.isArray(i)?i[0]:i;return{data:t,label:n("addon-"+t.toLowerCase())}}),...["wikiEditor","escape","contextmenu","indentWithSpace","otherEditors"].map(e=>({data:e,label:n("addon-"+e.toLowerCase())}))],value:b}).on("change",me),A=new OO.ui.NumberInputWidget({min:0,value:y}),ce=new OO.ui.FieldLayout(T,{label:u("addon-label"),notices:[u("addon-notice")],align:"top"}),L=new OO.ui.FieldLayout(A,{label:u("addon-indent")}),me()}e="object"==typeof window.Wikiplus||"object"==typeof window.Pages;T.$element.find(".oo-ui-checkboxInputWidget").first().toggleClass("oo-ui-widget-enabled",e).children("input").prop("disabled",!e),I.open({title:u("addon-title"),message:ce.$element.add(L.$element).add($("<p>",{html:u("feedback")})),actions:[{action:"reject",label:mw.msg("ooui-dialog-message-reject")},{action:"accept",label:mw.msg("ooui-dialog-message-accept"),flags:"progressive"}],size:"en"===W||"minerva"===d?"medium":"small"}).closing.then(e=>{ce.$element.detach(),L.$element.detach(),"object"==typeof e&&"accept"===e.action&&(b=T.getValue(),y=Number(A.getValue()),m.setObject("Wikiplus-highlight-addons",b),m.setObject("Wikiplus-highlight-indent",y))})}),ge=("minerva"===d&&ue.find(".mw-ui-icon").addClass("mw-ui-icon-minerva-settings"),"function"==typeof M&&M().find("#wphl-settings-notify").click(e=>{e.preventDefault(),$("#wphl-settings").triggerHandler("click")}),async i=>{if(b.includes("otherEditors")){let e=i.getOption("mode");e="text/mediawiki"===e?"mediawiki":e;var t=z(CodeMirror,!0),n=i.getOption("json");await Y(t);for(const{option:a,addon:s=a,modes:r,complex:d=e=>!r||r.includes(e)}of k.filter(({only:e})=>!e)){var o=Array.isArray(s)?s[0]:s;void 0===i.getOption(a)&&b.includes(o)&&i.setOption(a,d(e,n))}"mediawiki"!==e&&b.includes("indentWithSpace")?(i.setOption("indentUnit",y),i.setOption("indentWithTabs",!1)):"mediawiki"===e&&b.includes("escape")&&i.addKeyMap(v(CodeMirror)?K:R,!0),j(i,e)}});mw.hook("InPageEdit.quickEdit.codemirror").add(({cm:e})=>ge(e)),mw.hook("inspector").add(e=>ge(e)),mw.libs.wphl={version:i,options:k,addons:b,i18n:S,i18nLang:W,wphlStyle:se,$portlet:ue,USING_LOCAL:p,MODE_LIST:c,ADDON_LIST:f,msg:u,htmlMsg:n,escapeHTML:C,handleContextMenu:j,setI18N:e,getAddonScript:z,intersect:Z,updateCachedConfig:ie,getMwConfig:te,renderEditor:oe,handleOtherEditors:ge}})();
8
8
  //# sourceMappingURL=main.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"../","sources":["main.js"],"names":["mw","libs","wphl","version","storage","getObject","key","json","localStorage","getItem","JSON","parse","e","setObject","value","stringify","setItem","fromEntries","Object","entries","obj","flatten","arr","flat","reduce","acc","cur","concat","getVersion","str","split","map","s","Number","msg","args","htmlMsg","$","parseHTML","notify","$p","html","type","autoHideSeconds","tag","majorVersion","slice","join","CDN","CM_CDN","MW_CDN","REPO_CDN","wgPageName","page","wgNamespaceNumber","ns","wgPageContentModel","contentmodel","wgServerName","server","wgScriptPath","scriptPath","wgUserLanguage","userLang","skin","config","values","USING_LOCAL","loader","getState","ALL_SETTINGS_CACHE","SITE_ID","SITE_SETTINGS","EXPIRED","time","Date","now","CONTENTMODEL","css","sanitized-css","javascript","wikitext","MODE_LIST","lib","lua","mediawiki","htmlmixed","xml","ADDON_LIST","searchcursor","search","markSelection","activeLine","trailingspace","matchBrackets","closeBrackets","matchTags","fold","options","option","addon","download","only","complex","mode","bracketRegex","modes","let","addons","indent","entity","\"","'","<",">","&"," ","convert","func","doc","replaceSelection","getSelection","escapeHTML","c","code","charCodeAt","toString","isPc","keyMap","default","pcDefault","extraKeysPc","Ctrl-/","Ctrl-\\","encodeURIComponent","extraKeysMac","Cmd-/","Cmd-\\","handleContextMenu","async","includes","$wrapper","getWrapperElement","addClass","synonyms","get","functionSynonyms","invoke","调用","widget","小工具","getSysnonyms","keys","filter","startsWith","using","contextmenu","pageX","pageY","pos","coordsChar","left","top","line","ch","curType","getTokenTypeAt","test","tokens","getLineTokens","i","end","string","reverse","splice","index","findIndex","start","text","replace","trim","title","Title","namespace","open","getUrl","util","parserFunction","toLowerCase","action","i18n","welcome","a","b","a0","a1","b0","b1","cmpVersion","i18nLang","zh","zh-hans","zh-cn","zh-my","zh-sg","zh-hant","zh-tw","zh-hk","zh-mo","I18N_CDN","isLatest","setI18N","ajax","dataType","cache","messages","set","i18nPromise","Promise","all","getScript","urls","local","length","resolve","cm","getAddonScript","CM","other","addonScript","Array","isArray","optionHandlers","intersect","push","arr1","arr2","some","ele","initMode","scripts","externalScript","loaded","window","CodeMirror","prototype","commands","load","tags","getSearchCursor","findForward","lang","updateCachedConfig","getMwConfig","initModePromise","ref","tagModes","redirect","img","magicwords","extensiontags","functionhooks","variables","Api","meta","siprop","formatversion","query","otherMagicwords","getAliases","words","aliases","name","alias","getConfig","insensitive","subst","forEach","pre","nowiki","urlProtocols","realMagicwords","Set","allMagicwords","has","sensitive","word","doubleUnderscore","find","renderEditor","$target","setting","endsWith","pageMode","OO","ui","confirm","actions","label","getPageMode","mwConfig","mimeModes","defineMIME","noinclude","height","toTextArea","fromTextArea","extend","inputStyle","lineNumbers","navigator","userAgent","lineWrapping","mod","mainAddon","extraKeys","indentUnit","indentWithTabs","setSize","refresh","id","children","attr","Wikiplus","getSetting","settings","submit","triggerHandler","submitMinor","click","addKeyMap","Ctrl-S","Shift-Ctrl-S","Cmd-S","Shift-Cmd-S","Esc","hook","fire","observer","MutationObserver","records","$editArea","addedNodes","wphlStyle","observe","document","body","childList","getElementById","addStyleTag","elem","valHooks","textarea","isWikiplus","getValue","setValue","dialog","indentWidget","field","indentField","toggleIndent","toggle","$portlet","addPortletLink","minerva","citizen","preventDefault","MessageDialog","windowManager","WindowManager","$element","appendTo","addWindows","CheckboxMultiselectInputWidget","data","on","NumberInputWidget","min","FieldLayout","notices","align","wikiplusLoaded","Pages","first","toggleClass","prop","message","add","flags","size","closing","then","detach","handleOtherEditors","getOption","undefined","setOption"],"mappings":"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"}
1
+ {"version":3,"sourceRoot":"../","sources":["main.js"],"names":["mw","libs","wphl","version","storage","getObject","key","json","localStorage","getItem","JSON","parse","e","setObject","value","setItem","stringify","fromEntries","Object","entries","obj","flatten","arr","flat","reduce","acc","cur","concat","getVersion","str","split","map","s","Number","msg","args","htmlMsg","$","parseHTML","notify","$p","html","type","autoHideSeconds","tag","majorVersion","slice","join","CDN","CM_CDN","MW_CDN","REPO_CDN","wgPageName","page","wgNamespaceNumber","ns","wgPageContentModel","contentmodel","wgServerName","server","wgScriptPath","scriptPath","wgUserLanguage","userLang","skin","config","values","USING_LOCAL","loader","getState","ALL_SETTINGS_CACHE","SITE_ID","SITE_SETTINGS","EXPIRED","time","Date","now","CONTENTMODEL","css","sanitized-css","javascript","wikitext","MODE_LIST","lib","lua","mediawiki","htmlmixed","xml","ADDON_LIST","searchcursor","search","markSelection","activeLine","trailingspace","matchBrackets","closeBrackets","matchTags","fold","wikiEditor","contextmenu","options","option","addon","download","only","complex","addons","includes","mode","bracketRegex","modes","let","indent","entity","\"","'","<",">","&"," ","convert","func","doc","replaceSelection","getSelection","escapeHTML","c","code","charCodeAt","toString","isPc","keyMap","default","pcDefault","extraKeysPc","Ctrl-/","Ctrl-\\","encodeURIComponent","extraKeysMac","Cmd-/","Cmd-\\","handleContextMenu","$wrapper","getWrapperElement","addClass","synonyms","get","functionSynonyms","invoke","调用","widget","小工具","getSysnonyms","keys","filter","startsWith","pageX","pageY","pos","coordsChar","left","top","line","ch","curType","getTokenTypeAt","test","tokens","getLineTokens","i","end","string","reverse","splice","index","findIndex","start","text","replace","trim","title","Title","namespace","open","getUrl","util","parserFunction","toLowerCase","action","i18n","welcome","a","b","a0","a1","b0","b1","cmpVersion","i18nLang","zh","zh-hans","zh-cn","zh-my","zh-sg","zh-hant","zh-tw","zh-hk","zh-mo","I18N_CDN","isLatest","setI18N","async","ajax","dataType","cache","messages","set","i18nPromise","Promise","all","using","getInternalScript","exts","length","resolve","getExternalScript","urls","getScript","local","internal","url","external","cm","getAddonScript","CM","other","addonScript","Array","isArray","optionHandlers","intersect","push","arr1","arr2","some","ele","initMode","scripts","loaded","window","CodeMirror","prototype","commands","load","tags","lang","getSearchCursor","findForward","undefined","updateCachedConfig","getMwConfig","initModePromise","ref","tagModes","redirect","img","magicwords","extensiontags","functionhooks","variables","Api","meta","siprop","formatversion","query","otherMagicwords","getAliases","words","aliases","name","alias","getConfig","insensitive","subst","forEach","pre","nowiki","urlProtocols","realMagicwords","Set","allMagicwords","has","sensitive","word","doubleUnderscore","find","cmTextSelection","getContents","getValue","setContents","content","setValue","this","setSelection","posFromIndex","focus","getCaretPosition","caretPos","indexFromPos","getCursor","endPos","startAndEnd","scrollToCaretPosition","scrollIntoView","renderEditor","$target","setting","endsWith","pageMode","OO","ui","confirm","actions","label","getPageMode","mwConfig","addWikiEditor","modules","dialogs","toolbar","getDefaultConfig","replaceIcons","indexOf","console","error","mimeModes","defineMIME","noinclude","height","toTextArea","fromTextArea","extend","inputStyle","lineNumbers","navigator","userAgent","lineWrapping","mod","mainAddon","extraKeys","indentUnit","indentWithTabs","setSize","refresh","id","fn","textSelection","children","attr","Wikiplus","getSetting","settings","submit","triggerHandler","submitMinor","click","addKeyMap","Ctrl-S","Shift-Ctrl-S","Cmd-S","Shift-Cmd-S","Esc","hook","fire","observer","MutationObserver","records","$editArea","addedNodes","wphlStyle","observe","document","body","childList","getElementById","addStyleTag","elem","valHooks","textarea","isWikiplus","dialog","indentWidget","field","indentField","toggleIndent","toggle","$portlet","addPortletLink","minerva","citizen","preventDefault","MessageDialog","windowManager","WindowManager","$element","appendTo","addWindows","CheckboxMultiselectInputWidget","data","on","NumberInputWidget","min","FieldLayout","notices","align","wikiplusLoaded","Pages","first","toggleClass","prop","message","add","flags","size","closing","then","detach","handleOtherEditors","getOption","setOption"],"mappings":"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"}
package/i18n/en.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "wphl-version": "2.16",
2
+ "wphl-version": "2.18.2",
3
3
  "wphl-lang": "en",
4
4
  "wphl-addon-search": "<span title=\"Search with a string or a regular expression\">Search</span>",
5
5
  "wphl-addon-activeline": "Show the active line",
@@ -8,6 +8,7 @@
8
8
  "wphl-addon-closebrackets": "Auto-close brackets and quotes",
9
9
  "wphl-addon-matchtags": "Highlight matching/nonmatching tags",
10
10
  "wphl-addon-fold": "Fold template arguments and tags' innerHTML",
11
+ "wphl-addon-wikieditor": "Add WikiEditor toolbar",
11
12
  "wphl-addon-escape": "<span title=\"Ctrl/Cmd + / : HTML encoding\nCtrl/Cmd + \\ : URL encoding\">Keyboard shortcuts for HTML/URL encoding</span>",
12
13
  "wphl-addon-contextmenu": "Open the template or module page when right clicking",
13
14
  "wphl-addon-indentwithspace": "Indent JavaScript/CSS/Lua codes with spaces instead of tabs",
package/i18n/zh-hans.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "wphl-version": "2.16",
2
+ "wphl-version": "2.18.2",
3
3
  "wphl-lang": "zh-hans",
4
4
  "wphl-addon-search": "<span title=\"搜索字符串或正则表达式\">搜索</span>",
5
5
  "wphl-addon-activeline": "高亮显示光标所在行",
@@ -8,6 +8,7 @@
8
8
  "wphl-addon-closebrackets": "自动闭合括号和引号",
9
9
  "wphl-addon-matchtags": "高亮显示匹配和未匹配的标签",
10
10
  "wphl-addon-fold": "折叠模板参数和标签内部文本",
11
+ "wphl-addon-wikieditor": "添加WikiEditor工具条",
11
12
  "wphl-addon-escape": "<span title=\"Ctrl/Cmd + / : HTML编码\nCtrl/Cmd + \\ : URL编码\">添加HTML和URL编码快捷键</span>",
12
13
  "wphl-addon-contextmenu": "右键点击可打开模板或模块页面",
13
14
  "wphl-addon-indentwithspace": "代码缩进使用空格而非Tab",
package/i18n/zh-hant.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "wphl-version": "2.16",
2
+ "wphl-version": "2.18.2",
3
3
  "wphl-lang": "zh-hant",
4
4
  "wphl-addon-search": "<span title=\"搜尋字串或正規表示式\">搜尋</span>",
5
5
  "wphl-addon-activeline": "突出顯示游標所在行",
@@ -8,6 +8,7 @@
8
8
  "wphl-addon-closebrackets": "自動閉合括號和引號 ",
9
9
  "wphl-addon-matchtags": "突出顯示匹配和未匹配的標籤",
10
10
  "wphl-addon-fold": "摺疊模板參數和標籤內部文字",
11
+ "wphl-addon-wikieditor": "添加WikiEditor工具條",
11
12
  "wphl-addon-escape": "<span title=\"Ctrl/Cmd + / : HTML編碼\nCtrl/Cmd + \\ : URL編碼\">添加HTML和URL編碼快速鍵</span>",
12
13
  "wphl-addon-contextmenu": "右鍵點擊可打開模板或模組頁面",
13
14
  "wphl-addon-indentwithspace": "代碼縮排使用空格而非Tab",
package/main.js CHANGED
@@ -11,10 +11,10 @@
11
11
  if (mw.libs.wphl) {
12
12
  return;
13
13
  }
14
- mw.libs.wphl = true; // 开始加载
14
+ mw.libs.wphl = {}; // 开始加载
15
15
 
16
- const version = '2.16',
17
- newAddon = 0;
16
+ const version = '2.18.2',
17
+ newAddon = 1;
18
18
 
19
19
  /** @type {typeof mw.storage} */
20
20
  const storage = typeof mw.storage === 'object' && typeof mw.storage.getObject === 'function'
@@ -33,8 +33,7 @@
33
33
  },
34
34
  setObject(key, value) {
35
35
  try {
36
- const json = JSON.stringify(value);
37
- return localStorage.setItem(key, json);
36
+ return localStorage.setItem(key, JSON.stringify(value));
38
37
  } catch (e) {
39
38
  return false;
40
39
  }
@@ -54,8 +53,7 @@
54
53
  });
55
54
  /**
56
55
  * polyfill for `Array.prototype.flat`
57
- * @type {(arr: T[][]) => T[]}
58
- * @template T
56
+ * @type {(arr: HTMLElement[][]) => HTMLElement[]}
59
57
  */
60
58
  const flatten = arr => {
61
59
  if (typeof arr.flat === 'function') {
@@ -77,14 +75,19 @@
77
75
  [b0, b1] = getVersion(b);
78
76
  return a0 < b0 || a0 === b0 && a1 < b1;
79
77
  };
78
+
80
79
  /**
81
80
  * 获取I18N消息
82
81
  * @param {string} key 消息键,省略`wphl-`前缀
83
82
  * @param {string[]} args
84
83
  */
85
84
  const msg = (key, ...args) => mw.msg(`wphl-${key}`, ...args);
86
- /** @param {string[]} args */
85
+ /**
86
+ * 生成JQuery的I18N消息
87
+ * @param {string[]} args
88
+ */
87
89
  const htmlMsg = (...args) => $($.parseHTML(msg(...args)));
90
+
88
91
  /**
89
92
  * 提示消息
90
93
  * @param {string[]} args
@@ -160,6 +163,8 @@
160
163
  closeBrackets: `${CM_CDN}/addon/edit/closebrackets.min.js`,
161
164
  matchTags: `${REPO_CDN}/matchtags.min.js`,
162
165
  fold: `${REPO_CDN}/fold.min.js`,
166
+ wikiEditor: 'ext.wikiEditor',
167
+ contextmenu: 'mediawiki.Title',
163
168
  };
164
169
 
165
170
  /**
@@ -173,7 +178,10 @@
173
178
  */
174
179
 
175
180
  const /** @type {addon[]} */ options = [
176
- {option: 'styleSelectedText', addon: 'search', download: 'markSelection', only: true},
181
+ {
182
+ option: 'styleSelectedText', addon: 'search', download: 'markSelection', only: true,
183
+ complex: () => !addons.includes('wikiEditor'),
184
+ },
177
185
  {option: 'styleActiveLine', addon: 'activeLine'},
178
186
  {option: 'showTrailingSpace', addon: 'trailingspace'},
179
187
  {
@@ -193,9 +201,9 @@
193
201
  ];
194
202
 
195
203
  const defaultAddons = ['search'],
196
- defaultIndent = '4';
204
+ defaultIndent = 4;
197
205
  let /** @type {string[]} */ addons = storage.getObject('Wikiplus-highlight-addons') || defaultAddons,
198
- /** @type {string} */ indent = storage.getObject('Wikiplus-highlight-indent') || defaultIndent;
206
+ /** @type {number} */ indent = storage.getObject('Wikiplus-highlight-indent') || defaultIndent;
199
207
 
200
208
  /** @type {Record<string, string>} */
201
209
  const entity = {'"': 'quot', "'": 'apos', '<': 'lt', '>': 'gt', '&': 'amp', ' ': 'nbsp'},
@@ -219,18 +227,13 @@
219
227
  * @param {CodeMirror.Editor} doc
220
228
  * @param {string} mode
221
229
  */
222
- const handleContextMenu = async (doc, mode) => {
230
+ const handleContextMenu = (doc, mode) => {
223
231
  if (!['mediawiki', 'widget'].includes(mode) || !addons.includes('contextmenu')) {
224
232
  return;
225
233
  }
226
234
  const $wrapper = $(doc.getWrapperElement()).addClass('CodeMirror-contextmenu'),
227
235
  {functionSynonyms: [synonyms]} = mw.config.get('extCodeMirrorConfig') || {
228
- functionSynonyms: [{
229
- invoke: 'invoke',
230
- 调用: 'invoke',
231
- widget: 'widget',
232
- 小工具: 'widget',
233
- }],
236
+ functionSynonyms: [{invoke: 'invoke', 调用: 'invoke', widget: 'widget', 小工具: 'widget'}],
234
237
  };
235
238
  /** @param {string} str */
236
239
  const getSysnonyms = str => Object.keys(synonyms).filter(key => synonyms[key] === str)
@@ -238,7 +241,6 @@
238
241
  const invoke = getSysnonyms('invoke'),
239
242
  widget = getSysnonyms('widget');
240
243
 
241
- await mw.loader.using('mediawiki.Title');
242
244
  $wrapper.contextmenu(({pageX, pageY}) => {
243
245
  const pos = doc.coordsChar({left: pageX, top: pageY}),
244
246
  {line, ch} = pos,
@@ -315,21 +317,35 @@
315
317
  setI18N(),
316
318
  ]);
317
319
 
320
+ /**
321
+ * 下载MW扩展脚本
322
+ * @param {string[]} exts
323
+ */
324
+ const getInternalScript = exts => exts.length ? mw.loader.using(exts) : Promise.resolve();
325
+ /**
326
+ * 下载外部脚本
327
+ * @param {string[]} urls
328
+ */
329
+ const getExternalScript = urls => urls.length
330
+ ? $.ajax(`${CDN}/${urls.length > 1 ? 'combine/' : ''}${urls.join()}`, {dataType: 'script', cache: true})
331
+ : Promise.resolve();
332
+
318
333
  /**
319
334
  * 下载脚本
320
335
  * @param {string[]} urls 脚本路径
321
- * @param {boolean} local 是否从本地下载
336
+ * @param {boolean|undefined} local 是否先从本地下载
322
337
  */
323
- const getScript = (urls, local) => {
324
- if (urls.length === 0) {
325
- return Promise.resolve();
338
+ const getScript = async (urls, local) => {
339
+ const internal = urls.filter(url => !url.includes('/')),
340
+ external = urls.filter(url => url.includes('/'));
341
+ if (local === true) {
342
+ await getInternalScript(internal);
343
+ return getExternalScript(external);
344
+ } else if (local === false) {
345
+ await getExternalScript(external);
346
+ return getInternalScript(internal);
326
347
  }
327
- return local
328
- ? mw.loader.using(urls)
329
- : $.ajax(`${CDN}/${urls.length > 1 ? 'combine/' : ''}${urls.join()}`, {
330
- dataType: 'script',
331
- cache: true,
332
- });
348
+ return Promise.all([getInternalScript(internal), getExternalScript(external)]);
333
349
  };
334
350
 
335
351
  // 以下进入CodeMirror相关内容
@@ -359,79 +375,60 @@
359
375
  * 根据文本的高亮模式加载依赖项
360
376
  * @param {string} type
361
377
  */
362
- const initMode = async type => {
378
+ const initMode = type => {
363
379
  let /** @type {string[]} */ scripts = [];
364
- const /** @type {string[]} */ externalScript = [],
365
- /** @type {string[]} */ addonScript = [],
366
- loaded = typeof window.CodeMirror === 'function';
380
+ const loaded = typeof window.CodeMirror === 'function';
367
381
 
368
382
  /**
369
383
  * 代替`CodeMirror`的局部变量
370
384
  * @type {typeof CodeMirror}
371
385
  */
372
- const CM = loaded
373
- ? window.CodeMirror
374
- : {
375
- modes: {},
376
- prototype: {},
377
- commands: {},
378
- optionHandlers: {},
379
- };
386
+ const CM = loaded ? window.CodeMirror : {modes: {}, prototype: {}, commands: {}, optionHandlers: {}};
380
387
 
381
- if (['mediawiki', 'widget'].includes(type) && !CM.modes.mediawiki) {
382
- // 总是外部样式表和外部脚本
383
- mw.loader.load(`${CDN}/${MW_CDN}/mediawiki.min.css`, 'text/css');
384
- (USING_LOCAL ? externalScript : scripts).push(`${MW_CDN}/mediawiki.min.js`);
385
- }
386
- if (type === 'mediawiki' && SITE_SETTINGS.config && SITE_SETTINGS.config.tags.html) {
387
- // NamespaceHTML扩展自由度过高,所以这里一律当作允许<html>标签
388
- type = 'html'; // eslint-disable-line no-param-reassign
389
- }
388
+ // lib
390
389
  if (!loaded) {
391
- (USING_LOCAL ? scripts : addonScript).push(MODE_LIST.lib);
390
+ scripts.push(MODE_LIST.lib);
392
391
  if (!USING_LOCAL) {
393
392
  mw.loader.load(`${CDN}/${CM_CDN}/lib/codemirror.min.css`, 'text/css');
394
393
  }
395
394
  }
396
- if (!CM.prototype.getSearchCursor && addons.includes('search')) {
397
- addonScript.push(ADDON_LIST.searchcursor);
395
+
396
+ // modes
397
+ if (type === 'mediawiki' && SITE_SETTINGS.config && SITE_SETTINGS.config.tags.html) {
398
+ // NamespaceHTML扩展自由度过高,所以这里一律当作允许<html>标签
399
+ type = 'html'; // eslint-disable-line no-param-reassign
398
400
  }
399
- if (!CM.commands.findForward && addons.includes('search')) {
400
- addonScript.push(ADDON_LIST.search);
401
+ if (['mediawiki', 'widget'].includes(type) && !CM.modes.mediawiki) {
402
+ // 总是外部样式表和外部脚本
403
+ mw.loader.load(`${CDN}/${MW_CDN}/mediawiki.min.css`, 'text/css');
404
+ scripts.push(`${MW_CDN}/mediawiki.min.js`);
401
405
  }
402
- addonScript.push(...getAddonScript(CM));
403
406
  if (['widget', 'html'].includes(type)) {
404
407
  for (const lang of ['css', 'javascript', 'mediawiki', 'htmlmixed', 'xml']) {
405
408
  if (!CM.modes[lang]) {
406
409
  scripts = scripts.concat(MODE_LIST[lang]);
407
410
  }
408
411
  }
409
- } else if (type === 'mediawiki') {
410
- scripts = scripts.concat(MODE_LIST.mediawiki); // 从站内下载ext.CodeMirror.data,或没有效果
411
- } else if (!CM.modes[type]) {
412
- if (type === 'lua') { // CodeMirror扩展没有提供Lua模式,必须从外部下载
413
- (USING_LOCAL ? externalScript : scripts).push(MODE_LIST.lua);
414
- } else {
415
- scripts = scripts.concat(MODE_LIST[type]);
416
- }
412
+ } else {
413
+ scripts = scripts.concat(MODE_LIST[type]);
417
414
  }
418
415
 
419
- if (loaded) {
420
- await Promise.all([
421
- getScript(scripts, USING_LOCAL), // CodeMirror modes
422
- getScript(externalScript), // external Lua mode when using local lib
423
- getScript(addonScript), // external addons
424
- ]);
425
- } else if (USING_LOCAL) {
426
- await getScript(scripts, true); // local CodeMirror lib and modes
427
- await Promise.all([
428
- getScript(externalScript), // external Lua mode
429
- getScript(addonScript), // external addons
430
- ]);
431
- } else {
432
- await getScript(addonScript); // external CodeMirror lib and addons
433
- await getScript(scripts); // external modes, including Lua
416
+ // addons
417
+ if (!CM.prototype.getSearchCursor && addons.includes('search') && !addons.includes('wikiEditor')) {
418
+ scripts.push(ADDON_LIST.searchcursor);
419
+ }
420
+ if (!CM.commands.findForward && addons.includes('search') && !addons.includes('wikiEditor')) {
421
+ scripts.push(ADDON_LIST.search);
434
422
  }
423
+ if (mw.loader.getState('ext.wikiEditor') !== 'ready' && addons.includes('wikiEditor')) {
424
+ scripts.push(ADDON_LIST.wikiEditor);
425
+ }
426
+ if (mw.loader.getState('mediawiki.Title') !== 'ready' && addons.includes('contextmenu')) {
427
+ scripts.push(ADDON_LIST.contextmenu);
428
+ }
429
+ scripts.push(...getAddonScript(CM));
430
+
431
+ return getScript(scripts, loaded ? undefined : USING_LOCAL);
435
432
  };
436
433
 
437
434
  /**
@@ -439,10 +436,7 @@
439
436
  * @param {mwConfig} config
440
437
  */
441
438
  const updateCachedConfig = config => {
442
- ALL_SETTINGS_CACHE[SITE_ID] = {
443
- config,
444
- time: Date.now(),
445
- };
439
+ ALL_SETTINGS_CACHE[SITE_ID] = {config, time: Date.now()};
446
440
  storage.setObject('InPageEditMwConfig', ALL_SETTINGS_CACHE);
447
441
  };
448
442
 
@@ -557,10 +551,7 @@
557
551
  const pageMode = ns === 274 ? 'Widget' : 'Lua';
558
552
  await mw.loader.using(['oojs-ui-windows', 'oojs-ui.styles.icons-content']);
559
553
  const bool = await OO.ui.confirm(msg('contentmodel'), {
560
- actions: [
561
- {label: pageMode},
562
- {label: 'Wikitext', action: 'accept'},
563
- ],
554
+ actions: [{label: pageMode}, {label: 'Wikitext', action: 'accept'}],
564
555
  });
565
556
  return bool ? 'mediawiki' : pageMode.toLowerCase();
566
557
  } else if (page.endsWith('/doc')) {
@@ -569,29 +560,84 @@
569
560
  return CONTENTMODEL[contentmodel];
570
561
  };
571
562
 
563
+ /**
564
+ * jQuery.textSelection overrides for CodeMirror.
565
+ * See jQuery.textSelection.js for method documentation
566
+ */
567
+ const cmTextSelection = {
568
+ getContents() {
569
+ return cm.getValue();
570
+ },
571
+ setContents(content) {
572
+ cm.setValue(content);
573
+ return this;
574
+ },
575
+ getSelection() {
576
+ return cm.getSelection();
577
+ },
578
+ setSelection(option) {
579
+ cm.setSelection(
580
+ cm.posFromIndex(option.start),
581
+ 'end' in option ? cm.posFromIndex(option.end) : undefined,
582
+ );
583
+ cm.focus();
584
+ return this;
585
+ },
586
+ replaceSelection(value) {
587
+ cm.replaceSelection(value);
588
+ return this;
589
+ },
590
+ getCaretPosition(option) {
591
+ const caretPos = cm.indexFromPos(cm.getCursor('from')),
592
+ endPos = cm.indexFromPos(cm.getCursor('to'));
593
+ if (option.startAndEnd) {
594
+ return [caretPos, endPos];
595
+ }
596
+ return caretPos;
597
+ },
598
+ scrollToCaretPosition() {
599
+ cm.scrollIntoView();
600
+ return this;
601
+ },
602
+ };
603
+
572
604
  /**
573
605
  * 渲染编辑器
574
606
  * @param {JQuery<HTMLTextAreaElement>} $target 目标编辑框
575
607
  * @param {boolean} setting 是否是Wikiplus设置(使用json语法)
576
608
  */
577
609
  const renderEditor = async ($target, setting) => {
578
- const mode = setting ? 'javascript' : await getPageMode();
579
- const initModePromise = initMode(mode);
580
- const [mwConfig] = await Promise.all([
581
- getMwConfig(mode, initModePromise),
582
- initModePromise,
583
- ]);
610
+ const mode = setting ? 'javascript' : await getPageMode(),
611
+ initModePromise = initMode(mode),
612
+ [mwConfig] = await Promise.all([
613
+ getMwConfig(mode, initModePromise),
614
+ initModePromise,
615
+ ]);
616
+
617
+ if (!setting && addons.includes('wikiEditor')) {
618
+ try {
619
+ if (typeof mw.addWikiEditor === 'function') {
620
+ mw.addWikiEditor($target);
621
+ } else {
622
+ const {config} = $.wikiEditor.modules.dialogs;
623
+ $target.wikiEditor('addModule', {
624
+ ...$.wikiEditor.modules.toolbar.config.getDefaultConfig(),
625
+ ...config.getDefaultConfig(),
626
+ });
627
+ config.replaceIcons($target);
628
+ }
629
+ } catch (e) {
630
+ addons.splice(addons.indexOf('wikiEditor'), 1);
631
+ mw.notify('WikiEditor工具栏加载失败。', {type: 'error'});
632
+ console.error(e);
633
+ }
634
+ }
584
635
 
585
636
  if (mode === 'mediawiki' && mwConfig.tags.html) {
586
637
  mwConfig.tagModes.html = 'htmlmixed';
587
638
  await initMode('html'); // 如果已经缓存过`mwConfig`,这一步什么都不会发生
588
639
  } else if (mode === 'widget' && !CodeMirror.mimeModes.widget) { // 到这里CodeMirror已确定加载完毕
589
- CodeMirror.defineMIME('widget', {
590
- name: 'htmlmixed',
591
- tags: {
592
- noinclude: [[null, null, 'mediawiki']],
593
- },
594
- });
640
+ CodeMirror.defineMIME('widget', {name: 'htmlmixed', tags: {noinclude: [[null, null, 'mediawiki']]}});
595
641
  }
596
642
 
597
643
  // 储存初始高度
@@ -627,6 +673,10 @@
627
673
  cm.refresh();
628
674
  cm.getWrapperElement().id = 'Wikiplus-CodeMirror';
629
675
 
676
+ if ($.fn.textSelection) {
677
+ $target.textSelection('register', cmTextSelection);
678
+ }
679
+
630
680
  handleContextMenu(cm, mode);
631
681
 
632
682
  $('#Wikiplus-Quickedit-Jump').children('a').attr('href', '#Wikiplus-CodeMirror');
@@ -705,6 +755,7 @@
705
755
  elem.value = value;
706
756
  },
707
757
  } = $.valHooks.textarea || {};
758
+
708
759
  /** @param {HTMLTextAreaElement} elem */
709
760
  const isWikiplus = elem => ['Wikiplus-Quickedit', 'Wikiplus-Setting-Input'].includes(elem.id);
710
761
  $.valHooks.textarea = {
@@ -752,7 +803,7 @@
752
803
  const mainAddon = Array.isArray(addon) ? addon[0] : addon;
753
804
  return {data: mainAddon, label: htmlMsg(`addon-${mainAddon.toLowerCase()}`)};
754
805
  }),
755
- ...['escape', 'contextmenu', 'indentWithSpace', 'otherEditors']
806
+ ...['wikiEditor', 'escape', 'contextmenu', 'indentWithSpace', 'otherEditors']
756
807
  .map(addon => ({data: addon, label: htmlMsg(`addon-${addon.toLowerCase()}`)})),
757
808
  ],
758
809
  value: addons,
@@ -781,20 +832,20 @@
781
832
  {action: 'reject', label: mw.msg('ooui-dialog-message-reject')},
782
833
  {action: 'accept', label: mw.msg('ooui-dialog-message-accept'), flags: 'progressive'},
783
834
  ],
784
- size: i18nLang === 'en' ? 'medium' : 'small',
835
+ size: i18nLang === 'en' || skin === 'minerva' ? 'medium' : 'small',
785
836
  }).closing.then(data => {
786
837
  field.$element.detach();
787
838
  indentField.$element.detach();
788
839
  if (typeof data === 'object' && data.action === 'accept') {
789
840
  addons = widget.getValue();
790
- indent = indentWidget.getValue();
841
+ indent = Number(indentWidget.getValue());
791
842
  storage.setObject('Wikiplus-highlight-addons', addons);
792
843
  storage.setObject('Wikiplus-highlight-indent', indent);
793
844
  }
794
845
  });
795
846
  });
796
847
  if (skin === 'minerva') {
797
- $portlet.find('a').addClass('mw-ui-icon-minerva-settings');
848
+ $portlet.find('.mw-ui-icon').addClass('mw-ui-icon-minerva-settings');
798
849
  }
799
850
 
800
851
  // 发送欢迎提示
package/matchtags.js CHANGED
@@ -166,11 +166,7 @@
166
166
  }
167
167
  }
168
168
  if (i < 0 && (!tag || tag === tagName)) {
169
- return {
170
- tag: tagName,
171
- from: Pos(this.line, start),
172
- to: Pos(this.line, this.ch),
173
- };
169
+ return {tag: tagName, from: Pos(this.line, start), to: Pos(this.line, this.ch)};
174
170
  }
175
171
  } else { // opening tag
176
172
  stack.push(tagName);
@@ -209,11 +205,7 @@
209
205
  }
210
206
  }
211
207
  if (i < 0 && (!tag || tag === tagName)) {
212
- return {
213
- tag: tagName,
214
- from: Pos(this.line, this.ch),
215
- to: Pos(this.line, end),
216
- };
208
+ return {tag: tagName, from: Pos(this.line, this.ch), to: Pos(this.line, end)};
217
209
  }
218
210
  }
219
211
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wikiplus-highlight",
3
- "version": "2.16.0",
3
+ "version": "2.18.2",
4
4
  "description": "A plugin for the MediaWiki front-end add-on \"Wikiplus\"",
5
5
  "keywords": [
6
6
  "mediawiki",
package/search.js CHANGED
@@ -10,38 +10,15 @@
10
10
  const msg = key => mw.msg(`wphl-${key}`);
11
11
 
12
12
  // Prepare elements
13
- const $search = $('<input>', {
14
- id: 'Wikiplus-Quickedit-Search',
15
- placeholder: msg('search-placeholder'),
16
- }),
17
- $searchClose = $('<span>', {
18
- text: '×',
19
- id: 'Wikiplus-Quickedit-Search-Close',
20
- class: 'Wikiplus-Symbol-Btn',
21
- }),
22
- $searchNext = $('<span>', {
23
- text: '▼',
24
- id: 'Wikiplus-Quickedit-Search-Next',
25
- class: 'Wikiplus-Symbol-Btn',
26
- }),
27
- $searchPrev = $('<span>', {
28
- text: '▲',
29
- id: 'Wikiplus-Quickedit-Search-Prev',
30
- class: 'Wikiplus-Symbol-Btn',
31
- }),
13
+ const $search = $('<input>', {id: 'Wikiplus-Quickedit-Search', placeholder: msg('search-placeholder')}),
14
+ $searchClose = $('<span>', {text: '×', id: 'Wikiplus-Quickedit-Search-Close', class: 'Wikiplus-Symbol-Btn'}),
15
+ $searchNext = $('<span>', {text: '▼', id: 'Wikiplus-Quickedit-Search-Next', class: 'Wikiplus-Symbol-Btn'}),
16
+ $searchPrev = $('<span>', {text: '▲', id: 'Wikiplus-Quickedit-Search-Prev', class: 'Wikiplus-Symbol-Btn'}),
32
17
  $searchContainer = $('<div>', {
33
18
  id: 'Wikiplus-Quickedit-Search-Div',
34
- html: [
35
- $search,
36
- $searchNext,
37
- $searchPrev,
38
- $searchClose,
39
- ],
19
+ html: [$search, $searchNext, $searchPrev, $searchClose],
40
20
  }),
41
- $searchBtn = $('<span>', {
42
- class: 'Wikiplus-Btn',
43
- html: msg('addon-search'),
44
- });
21
+ $searchBtn = $('<span>', {class: 'Wikiplus-Btn', html: msg('addon-search')});
45
22
 
46
23
  const escapeRegExp = mw.util.escapeRegExp || mw.RegExp.escape;
47
24
  const /** @type {CodeMirror.Mode<undefined>} */ overlay = {token: () => {}};
@@ -140,7 +117,7 @@
140
117
  };
141
118
 
142
119
  mw.hook('wiki-codemirror').add(/** @param {CodeMirror.Editor} cm */ cm => {
143
- if (!cm.getOption('styleSelectedText')) {
120
+ if (!cm.getOption('styleSelectedText') || mw.libs.wphl.addons.includes('wikiEditor')) {
144
121
  return;
145
122
  }
146
123
  const $textarea = $(cm.getWrapperElement()).prev('#Wikiplus-Quickedit');
@@ -177,7 +154,7 @@
177
154
  '.Wikiplus-Btn{line-height:1.4}'
178
155
  + '#Wikiplus-Quickedit-Search-Div{margin:7px 0 5px;}'
179
156
  + '.Wikiplus-Symbol-Btn{font-size:20px;margin:7px;vertical-align:middle;cursor:pointer;}'
180
- + '#Wikiplus-Quickedit-Search{width:50%;}'
157
+ + '#Wikiplus-Quickedit-Search{width:50%;padding:revert;border:revert;background:revert;vertical-align:middle}'
181
158
  + '.cm-search{background-color:#ffc0cb83;}'
182
159
  + 'span.CodeMirror-selectedtext{background:#d7d4f0}',
183
160
  );