MediaWiki:Gadget-DotsSyntaxHighlighter.js:修订间差异
删除的内容 添加的内容
小无编辑摘要 |
小无编辑摘要 |
||
第1行: | 第1行: | ||
mw.loader.using("jquery.client",function(){"use strict";var l,g,d,c,p,y,f,b=-1,e=mw.config.get("wgUrlProtocols"),r="&(?:(?:n(?:bsp|dash)|m(?:dash|inus)|lt|e[mn]sp|thinsp|amp|quot|gt|shy|zwn?j|lrm|rlm|Alpha|Beta|Epsilon|Zeta|Eta|Iota|Kappa|[Mm]u|micro|Nu|[Oo]micron|[Rr]ho|Tau|Upsilon|Chi)|#x[0-9a-fA-F]+);\n*",t="\\[(?:\\[|(?:"+e+"))|\\{(?:\\{\\{?|\\|)|<(?:[:A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-⁰-Ⰰ-、-豈-﷏ﷰ-�][:\\wÀ-ÖØ-öø-˿Ͱ-ͽͿ-⁰-Ⰰ-、-豈-﷏ﷰ-�-\\.·̀-ͯ‿-‿-⁀]*(?=/?>| |\n)|!--[^]*?--\x3e\n*)|(?:"+e.replace("|\\/\\/","")+")[^\\s\"<>[\\]{-}]*[^\\s\",\\.:;<>[\\]{-}]\n*|^(?:=|[*#:;]+\n*|-{4,}\n*)|\\\\'\\\\'(?:\\\\')?|~{3,5}\n*|"+r;function C(e){return new RegExp("("+e+")\n*|"+t,"gm")}var x=new RegExp(t,"gm"),k=C("]][a-zA-Z]*"),v=C("]"),w=C("}}}"),z=C("}}"),H=C("\\|}"),S=C("\n"),T={},L={};function E(){var i,h=(c=g.value).replace(/['\\]/g,"\\$&")+"\n",m=0,o="",r=0;function u(e,t){t!=i&&(o+="'}",t&&(o+="#s"+r+"{background-color:"+t+"}"),o+="#s"+r+"::after{content:'",i=t,++r),o+=e}var e=Date.now();!function e(t,i,o,r){var a;for(i.lastIndex=m;a=i.exec(h);i.lastIndex=m){if(a[1])return u(h.substring(m,i.lastIndex),t),void(m=i.lastIndex);var n=i.lastIndex-a[0].length;switch(m<n&&u(h.substring(m,n),t),m=i.lastIndex,a[0].charAt(0)){case"[":"["==a[0].charAt(1)?(u("[[",syntaxHighlighterConfig.wikilinkColor||t),e(syntaxHighlighterConfig.wikilinkColor||t,k)):(u(a[0],syntaxHighlighterConfig.externalLinkColor||t),e(syntaxHighlighterConfig.externalLinkColor||t,v));break;case"{":"{"==a[0].charAt(1)?3==a[0].length?(u("{{{",syntaxHighlighterConfig.parameterColor||t),e(syntaxHighlighterConfig.parameterColor||t,w)):(u("{{",syntaxHighlighterConfig.templateColor||t),e(syntaxHighlighterConfig.templateColor||t,z)):(u("{|",syntaxHighlighterConfig.tableColor||t),e(syntaxHighlighterConfig.tableColor||t,H));break;case"<":if("!"==a[0].charAt(1)){u(a[0],syntaxHighlighterConfig.commentColor||t);break}var s,l,g,d=h.indexOf(">",m)+1;if(0==d){u("<",t),m=m-a[0].length+1;break}"/"==h.charAt(d-2)?(u(h.substring(m-a[0].length,d),syntaxHighlighterConfig.tagColor||t),m=d):(s=a[0].substring(1),-1!=syntaxHighlighterConfig.sourceTags.indexOf(s)?(l="</"+s+">",-1==(g=h.indexOf(l,m))?g=h.length:g+=l.length,u(h.substring(m-a[0].length,g),syntaxHighlighterConfig.tagColor||t),m=g):-1!=syntaxHighlighterConfig.nowikiTags.indexOf(s)?(u(h.substring(m-a[0].length,d),syntaxHighlighterConfig.tagColor||t),m=d,e(syntaxHighlighterConfig.tagColor||t,L[s])):(u(h.substring(m-a[0].length,d),syntaxHighlighterConfig.tagColor||t),m=d,T[s]||(T[s]=C("</"+s+">")),e(syntaxHighlighterConfig.tagColor||t,T[s])));break;case"=":/[^=]=+$/.test(h.substring(m,h.indexOf("\n",m)))?(u("=",syntaxHighlighterConfig.headingColor||t),e(syntaxHighlighterConfig.headingColor||t,S)):u("=",t);break;case"*":case"#":case":":u(a[0],syntaxHighlighterConfig.listOrIndentColor||t);break;case";":u(";",syntaxHighlighterConfig.headingColor||t),e(syntaxHighlighterConfig.headingColor||t,S);break;case"-":u(a[0],syntaxHighlighterConfig.hrColor||t);break;case"\\":if(u(a[0],syntaxHighlighterConfig.boldOrItalicColor||t),6==a[0].length)if(o){if(!r)return;o=!1}else r?o=!0:e(syntaxHighlighterConfig.boldOrItalicColor||t,x,!0,!1);else if(r){if(!o)return;r=!1}else o?r=!0:e(syntaxHighlighterConfig.boldOrItalicColor||t,x,!1,!0);break;case"&":u(a[0],syntaxHighlighterConfig.entityColor||t);break;case"~":u(a[0],syntaxHighlighterConfig.signatureColor||t);break;default:u(a[0],syntaxHighlighterConfig.externalLinkColor||t)}}}("",x),m<h.length&&u(h.substring(m),"");var t=Date.now();if(t-e>syntaxHighlighterConfig.timeout){clearInterval(p),g.removeEventListener("input",E),g.removeEventListener("scroll",R),g.removeEventListener("scroll",B),y.disconnect(),f.disconnect(),d.nodeValue="";var a={be:"Падсьветка сынтаксісу на гэтай старонцы была адключаная, бо заняла шмат часу. Максымальна дапушчальны час апэрацыі — $1мс, а на вашым кампутары яна заняла $2мс. Паспрабуйце зачыніць нейкія закладкі і праграмы і націснуць «Праглядзець» або «Паказаць зьмены». Калі гэта не дапаможа, паспрабуйце іншы броўзэр; калі й гэта не дапаможа, выкарыстайце магутнейшы кампутар.",ca:'S\'ha desactivat el remarcar de sintaxi en aquesta pàgina perquè ha trigat massa temps. El temps màxim permès per a remarcar és $1ms, i el vostre ordinador ha trigat $2ms. Proveu tancar algunes pestanyes i programes i fer clic en "Mostra la previsualització" o "Mostra els canvis". Si no funciona això, proveu un altre navegador web, i si això no funciona, proveu un ordinador més ràpid.',de:'Die Syntaxhervorhebung wurde auf dieser Seite deaktiviert, da diese zu lange gedauert hat. Die maximal erlaubte Zeit zur Hervorhebung beträgt $1ms und dein Computer benötigte $2ms. Versuche einige Tabs und Programme zu schließen und klicke "Vorschau zeigen" oder "Änderungen zeigen". Wenn das nicht funktioniert, probiere einen anderen Webbrowser und wenn immer noch nicht, probiere einen schnelleren Computer.',el:"Η έμφαση σύνταξης έχει απενεργοποιηθεί σε αυτήν τη σελίδα γιατί αργούσε πολύ. Ο μέγιστος επιτρεπτός χρόνος για την έμφαση σύνταξης είναι $1ms και ο υπολογιστής σας έκανε $2ms. Δοκιμάστε να κλείσετε μερικές καρτέλες και προγράμματα και να κάνετε κλικ στην «Εμφάνιση προεπισκόπησης» ή στην «Εμφάνιση αλλαγών». Αν αυτό δεν δουλέψει, δοκιμάστε έναν διαφορετικό περιηγητή και αν ούτε αυτό δουλέψει, δοκιμάστε έναν ταχύτερο υπολογιστή.",en:'Syntax highlighting on this page was disabled because it took too long. The maximum allowed highlighting time is $1ms, and your computer took $2ms. Try closing some tabs and programs and clicking "Show preview" or "Show changes". If that doesn\'t work, try a different web browser, and if that doesn\'t work, try a faster computer.',es:'Se desactivó el resaltar de sintaxis en esta página porque tardó demasiado. El tiempo máximo permitido para resaltar es $1ms, y tu ordenador tardó $2ms. Prueba cerrar algunas pestañas y programas y hacer clic en "Mostrar previsualización" o "Mostrar cambios". Si no funciona esto, prueba otro navegador web, y si eso no funciona, prueba un ordenador más rápido.',fa:"از آنجایی که زمان زیادی صرف آن میشد، برجستهسازی نحو در این صفحه غیرفعال شده است. بیشینهٔ زمان برجستهسازی برای ابزار $1ms تعریف شده در حالی که رایانهٔ شما $2ms زمان نیاز داشت. میتوانید بستن برخی سربرگها و برنامهها و سپس کلیککردن دکمهٔ «پیشنمایش» یا «نمایش تغییرات» را بیازمایید. اگر جواب نداد مرورگر دیگری را امتحان کنید؛ و اگر باز هم جواب نداد، رایانهٔ سریعتری را بیازمایید.",fi:'Syntaksin korostus on pois käytöstä tällä sivulla, koska siinä kesti liian kauan. Suurin sallittu korostukseen käytetty aika on $1ms, ja tietokoneellasi kesti $2ms. Kokeile sulkea joitain välilehtiä tai ohjelmia ja paina "Esikatsele" tai "Näytä muutokset". Jos se ei toimi, kokeile toista selainta, ja jos se ei toimi, kokeile nopeampaa tietokonetta.',fr:'La coloration syntaxique a été désactivée sur cette page en raison d\'un temps de chargement trop important ($2ms). Le temps maximum autorisé est $1ms. Vous pouvez essayer de fermer certains onglets et programmes et cliquez sur "Prévisualisation" ou "Voir mes modifications". Si cela ne fonctionne pas, essayez un autre navigateur web, et si cela ne fonctionne toujours pas, essayez un ordinateur plus rapide.',hu:"A szintaxiskiemelés ezen az oldalon le lett tiltva, mert túl sokáig tartott. A maximális engedélyezett kiemelési idő $1 ms, és a géped $2 ms-ig dolgozott. Próbálj meg bezárni néhány fület és programot, és klikkelj az „Előnézet megtekintése” vagy a „Változtatások megtekintése” gombra. Ha ez nem működik, próbálj meg egy másik böngészőt, és ha ez sem működik, próbáld meg egy gyorsabb gépen.",hy:"Շարադասության ընդգծումը այս էջում անջատվել է, քանի որ այն չափից շատ է տևել։ Ընդգծման թույլատրելի առավելագույն ժամանակը $1 միլիվայրկյան է, բայց այս էջում տևել է $2 միլիվայրկյան։ Փորձեք անջատել որոշ ներդիրներ կամ ծրագրեր և սեղմել «Նախադիտել» կամ «Կատարված փոփոխությունները»։ Կրկին չաշխատելու դեպքում փորձեք այլ վեբ դիտարկիչ, եթե կրկին չաշխատի, փորձեք ավելի արագ համակարգիչ։",io:'Sintaxo-hailaitar en ca pagino esis nekapabligata pro ke konsumis tro multa tempo. La maxima permisata hailaitala tempo es $1ms, e tua ordinatro konsumis $2ms. Probez klozar kelka tabi e programi e kliktar "Previdar" o "Montrez chanji". Se to ne funcionas, probez altra brauzero, e se to ne funcionas, probez plu rapida ordinatro.',it:'L\'evidenziazione delle sintassi su questa pagina è stata disabilitata perché ha richiesto troppo tempo. Il tempo massimo per l\'evidenziazione è di $1ms e al tuo computer sono serviti $2ms. Prova a chiudere alcune schede e programmi e ricarica la pagina cliccando su "Visualizza anteprima" o "Mostra modifiche". Se non funziona ancora, prova con un web browser differente e, in ultima alternativa, prova ad utilizzare un computer più veloce.',ja:"このページでの構文の強調表示は、時間がかかりすぎたため無効になりました。許容される時間の最大値は$1ミリ秒で、ご利用のコンピューターでは$2ミリ秒かかりました。いくつかのタブやプログラムを閉じて、「プレビューを表示」または「差分を表示」をクリックしてみてください。それが機能しない場合は、別のWebブラウザーをお試しください。それが機能しない場合は、より高速なコンピューターでお試しください。",ko:'이 문서에서의 문법 강조가 너무 오래 걸러서 해제되었습니다. 최대로 할당된 강조 시간은 $1ms인데, 당신의 컴퓨터는 $2ms이나 걸렸습니다. 탭과 프로그램을 일부 닫으신 후에 "미리 보기"나 "차이 보기"를 클릭하시기 바랍니다. 만약 작동하지 않으면 다른 웹 브라우저로 시도해보시고, 그래도 안되면 더 빠른 컴퓨터를 이용하십시오',pl:"Podświetlanie składni na tej stronie zostało wyłączone, ponieważ wczytywanie trwało zbyt długo. Maksymalny dozwolony czas wynosi $1ms, Twojemu komputerowi zajęło to $2ms. Spróbuj zamknąć kilka zakładek lub programów w tle, a następnie kliknij „Pokaż podgląd” lub „Podgląd zmian”. Jeśli to nie zadziała, wypróbuj inną przeglądarkę internetową lub szybszy komputer.",pt:'O marcador de sintaxe foi desativado nesta página porque demorou demais. O tempo máximo permitido para marcar é de $1ms, e seu computador demorou $2ms. Tente fechar algumas abas e programas e clique em "Mostrar previsão" ou "Mostrar alterações". Se isso não funcionar, tente usar um outro navegador web, e se ainda não funcionar, tente em um computador mais rápido.',ru:"Подсветка синтаксиса на странице была отключена, так как заняла слишком долго. Максимальное допустимое время операции - $1мс, сейчас на вашем компьютере она заняла $2мс. Попробуйте закрыть несколько вкладок и программ, затем нажать «Предварительный просмотр» или «Внесённые изменения». Если это не поможет, попробуйте другой браузер; если и это не поможет, используйте более быстрый компьютер.",sr:"Истицање синтаксе на овој страници је онемогућено јер се одвија предуго. Максимално дозвољено време истицања је $1ms, а на Вашем рачунару траје $2ms. Покушајте затворити неке картице и програме или кликните на „Прикажи претпреглед” или „Прикажи измене”. Ако то не ради, покушајте са другим веб-прегледачем, а ако и тада не ради, покушајте са бржим рачунаром.",vec:'L\'evidensiasion de łe sintasi so sta voxe ła xe dexabiłitada par che ła ga dimandà masa tenpo. El tenpo màsemo par l\'evidensiasion ła xe de $1ms e al to dispoxidivo a ghene xe cadesti $2ms. Proa a sarar calche scheda e programa e recarga ła pàjina schiciando so "Varda ła anteprima" o "Mostra canbiaminti". Se no el funsiona oncora, proa co on altro navegador web difarente e, cofà ùltema alternadiva, proa a doparar on dispoxidivo pì sèłero.',zh:"此页面上的语法突出显示被禁用,因为它花费的时间太长。允许的突出显示时间最长为$1毫秒,而您的计算机则为$2毫秒。请尝试关闭一些标签和程序,然后单击“显示预览”或“显示更改”。如果不起作用,请尝试使用其他网页浏览器,如果还不起作用,请尝试使用速度更快的计算机。"},n=mw.config.get("wgUserLanguage"),a=a[n]||a[n.substring(0,n.indexOf("-"))]||a.en;return g.style.backgroundColor="",g.style.marginTop="0",l.removeAttribute("dir"),l.removeAttribute("lang"),l.setAttribute("style","color:red; font-size:small"),void(l.textContent=a.replace("$1",syntaxHighlighterConfig.timeout).replace("$2",t-e))}if(b<r){for(var s=document.createDocumentFragment();s.appendChild(document.createElement("span")).id="s"+ ++b,b<r;);l.appendChild(s)}o=o.substring(2).replace(/\n/g,"\\A ")+"'}",o+="#wpTextbox0>span::after{visibility:hidden}",d.nodeValue=o}function R(){l.scrollLeft=g.scrollLeft}function B(){l.scrollTop=g.scrollTop}function a(){l.dir=g.dir}function n(){g.previousSibling!=l&&(g.parentNode.insertBefore(l,g),f.disconnect(),f.observe(g.parentNode,{childList:!0}))}function s(){var e;g.value!=c&&E(),g.scrollLeft!=l.scrollLeft&&R(),g.scrollTop!=l.scrollTop&&B(),g.offsetHeight!=l.offsetHeight&&(e=g.offsetHeight+"px",l.style.height=e,g.style.marginTop="-"+e)}function i(){var e,t,i;function o(e,t,i){void 0===syntaxHighlighterConfig[e]&&(syntaxHighlighterConfig[e]=syntaxHighlighterSiteConfig[e]),"normal"==syntaxHighlighterConfig[e]?syntaxHighlighterConfig[e]=t:void 0!==syntaxHighlighterConfig[e]||(void 0!==syntaxHighlighterConfig.defaultColor&&i?syntaxHighlighterConfig[e]=syntaxHighlighterConfig.defaultColor:syntaxHighlighterConfig[e]=t)}(g=document.getElementById("wpTextbox1"))&&(window.syntaxHighlighterSiteConfig=window.syntaxHighlighterSiteConfig||{},window.syntaxHighlighterConfig=window.syntaxHighlighterConfig||{},o("backgroundColor","#FFF",!1),o("foregroundColor","#000",!1),o("boldOrItalicColor","#EEE",!0),o("commentColor","#EFE",!0),o("entityColor","#DFD",!0),o("externalLinkColor","#EFF",!0),o("headingColor","#EEE",!0),o("hrColor","#EEE",!0),o("listOrIndentColor","#EFE",!0),o("parameterColor","#FC6",!0),o("signatureColor","#FC6",!0),o("tagColor","#FEF",!0),o("tableColor","#FFC",!0),o("templateColor","#FFC",!0),o("wikilinkColor","#EEF",!0),syntaxHighlighterConfig.nowikiTags=syntaxHighlighterConfig.nowikiTags||syntaxHighlighterSiteConfig.nowikiTags||["nowiki","pre"],syntaxHighlighterConfig.sourceTags=syntaxHighlighterConfig.sourceTags||syntaxHighlighterSiteConfig.sourceTags||["math","syntaxhighlight","source","timeline","hiero"],syntaxHighlighterConfig.timeout=syntaxHighlighterConfig.timeout||syntaxHighlighterSiteConfig.timeout||30,syntaxHighlighterConfig.nowikiTags.forEach(function(e){L[e]=new RegExp("(</"+e+">)\n*|"+r,"gm")}),l=document.createElement("div"),e=document.createElement("style"),d=e.appendChild(document.createTextNode("")),i="vertical"==(t=window.getComputedStyle(g)).resize||"both"==t.resize?"vertical":"none",l.dir=g.dir,l.id="wpTextbox0",l.lang=g.lang,l.style.backgroundColor=syntaxHighlighterConfig.backgroundColor,l.style.borderBottomLeftRadius=t.borderBottomLeftRadius,l.style.borderBottomRightRadius=t.borderBottomRightRadius,l.style.borderBottomStyle=t.borderBottomStyle,l.style.borderBottomWidth=t.borderBottomWidth,l.style.borderColor="transparent",l.style.borderLeftStyle=t.borderLeftStyle,l.style.borderLeftWidth=t.borderLeftWidth,l.style.borderRightStyle=t.borderRightStyle,l.style.borderRightWidth=t.borderRightWidth,l.style.borderTopLeftRadius=t.borderTopLeftRadius,l.style.borderTopRightRadius=t.borderTopRightRadius,l.style.borderTopStyle=t.borderTopStyle,l.style.borderTopWidth=t.borderTopWidth,l.style.boxSizing="border-box",l.style.clear=t.clear,l.style.fontFamily=t.fontFamily,l.style.fontSize=t.fontSize,l.style.lineHeight="normal",l.style.marginBottom="0",l.style.marginLeft="0",l.style.marginRight="0",l.style.marginTop="0",l.style.overflowX="auto",l.style.overflowY="scroll",l.style.resize=i,l.style.tabSize=t.tabSize,l.style.whiteSpace="pre-wrap",l.style.width="100%",l.style.wordWrap="normal",g.style.backgroundColor="transparent",g.style.borderBottomLeftRadius=t.borderBottomLeftRadius,g.style.borderBottomRightRadius=t.borderBottomRightRadius,g.style.borderBottomStyle=t.borderBottomStyle,g.style.borderBottomWidth=t.borderBottomWidth,g.style.borderLeftStyle=t.borderLeftStyle,g.style.borderLeftWidth=t.borderLeftWidth,g.style.borderRightStyle=t.borderRightStyle,g.style.borderRightWidth=t.borderRightWidth,g.style.borderTopLeftRadius=t.borderTopLeftRadius,g.style.borderTopRightRadius=t.borderTopRightRadius,g.style.borderTopStyle=t.borderTopStyle,g.style.borderTopWidth=t.borderTopWidth,g.style.boxSizing="border-box",g.style.clear=t.clear,g.style.color=syntaxHighlighterConfig.foregroundColor,g.style.fontFamily=t.fontFamily,g.style.fontSize=t.fontSize,g.style.lineHeight="normal",g.style.marginBottom=t.marginBottom,g.style.marginLeft="0",g.style.marginRight="0",g.style.overflowX="auto",g.style.overflowY="scroll",g.style.padding="0",g.style.resize=i,g.style.tabSize=t.tabSize,g.style.whiteSpace="pre-wrap",g.style.width="100%",g.style.wordWrap="normal",g.style.height=l.style.height=g.offsetHeight+"px",g.style.marginTop=-g.offsetHeight+"px",g.parentNode.insertBefore(l,g),document.head.appendChild(e),g.addEventListener("input",E),g.addEventListener("scroll",R),g.addEventListener("scroll",B),(y=new MutationObserver(a)).observe(g,{attributes:!0}),(f=new MutationObserver(n)).observe(g.parentNode,{childList:!0}),p=setInterval(s,500),E())}var o=mw.config.get("wgAction"),e=$.client.profile().layout;"edit"!=o&&"submit"!=o||"wikitext"!=mw.config.get("wgPageContentModel")||"trident"==e||"edge"==e||("complete"==document.readyState?i():window.addEventListener("load",i))}); |
|||
//Syntax highlighter with various advantages |
|||
//See [[User:Remember the dot/Syntax highlighter]] for more information |
|||
/* This file may be used under the terms of any of the following |
|||
licenses, as well as any later version of the same licenses: |
|||
GNU General Public License 2.0 |
|||
<https://www.gnu.org/licenses/old-licenses/gpl-2.0.html> |
|||
Creative Commons Attribution-ShareAlike 3.0 Unported License |
|||
<https://creativecommons.org/licenses/by-sa/3.0/> |
|||
GNU Free Documentation License 1.2 |
|||
<https://www.gnu.org/licenses/old-licenses/fdl-1.2.html> |
|||
*/ |
|||
mw.loader.using("jquery.client", function() { |
|||
"use strict"; |
|||
//variables that are preserved between function calls |
|||
var wpTextbox0; |
|||
var wpTextbox1; |
|||
var syntaxStyleTextNode; |
|||
var lastText; |
|||
var maxSpanNumber = -1; //the number of the last span available, used to tell if creating additional spans is necessary |
|||
var highlightSyntaxIfNeededIntervalID; |
|||
var attributeObserver; |
|||
var parentObserver; |
|||
/* Define context-specific regexes, one for every common token that ends the |
|||
current context. |
|||
An attempt has been made to search for the most common syntaxes first, |
|||
thus maximizing performance. Syntaxes that begin with the same character |
|||
are searched for at the same time. |
|||
Supported wiki syntaxes from most common to least common: |
|||
[[internal link]] [http:// named external link] |
|||
{{template}} {{{template parameter}}} {| table |} |
|||
<tag> <!-- comment --> |
|||
http:// bare external link |
|||
=Heading= * unordered list # ordered list : indent ; small heading ---- horizontal line |
|||
''italic'' '''bold''' |
|||
three tildes username four tildes signature five tildes timestamp |
|||
&entity; |
|||
The tag-matching regex follows the XML standard closely so that users |
|||
won't feel like they have to escape sequences that MediaWiki will never |
|||
consider to be tags. |
|||
Only entities for characters which need to be escaped or cannot be |
|||
unambiguously represented in a monospace font are highlighted, such as |
|||
Greek letters that strongly resemble Latin letters. Use of other entities |
|||
is discouraged as a matter of style. For the same reasons, numeric |
|||
entities should be in hexadecimal (giving character codes in decimal only |
|||
adds confusion). |
|||
Newlines are sucked up into ending tokens (including comments, bare |
|||
external links, lists, horizontal lines, signatures, entities, etc.) to |
|||
avoid creating spans with nothing but newlines in them. |
|||
Flags: g for global search, m for make ^ match the beginning of each line |
|||
and $ the end of each line |
|||
*/ |
|||
var wgUrlProtocols = mw.config.get("wgUrlProtocols"); |
|||
var entityRegexBase = "&(?:(?:n(?:bsp|dash)|m(?:dash|inus)|lt|e[mn]sp|thinsp|amp|quot|gt|shy|zwn?j|lrm|rlm|Alpha|Beta|Epsilon|Zeta|Eta|Iota|Kappa|[Mm]u|micro|Nu|[Oo]micron|[Rr]ho|Tau|Upsilon|Chi)|#x[0-9a-fA-F]+);\n*"; |
|||
var breakerRegexBase = "\\[(?:\\[|(?:" + wgUrlProtocols + "))|\\{(?:\\{\\{?|\\|)|<(?:[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:\\w\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD-\\.\u00B7\u0300-\u036F\u203F-\u203F-\u2040]*(?=/?>| |\n)|!--[^]*?-->\n*)|(?:" + wgUrlProtocols.replace("|\\/\\/", "") + ")[^\\s\"<>[\\]{-}]*[^\\s\",\\.:;<>[\\]{-}]\n*|^(?:=|[*#:;]+\n*|-{4,}\n*)|\\\\'\\\\'(?:\\\\')?|~{3,5}\n*|" + entityRegexBase; |
|||
function breakerRegexWithPrefix(prefix) |
|||
{ |
|||
//the stop token has to be at the beginning of the regex so that it takes precedence over substrings of itself. |
|||
return new RegExp("(" + prefix + ")\n*|" + breakerRegexBase, "gm"); |
|||
} |
|||
function nowikiTagBreakerRegex(tagName) |
|||
{ |
|||
return new RegExp("(</" + tagName + ">)\n*|" + entityRegexBase, "gm"); |
|||
} |
|||
var defaultBreakerRegex = new RegExp(breakerRegexBase, "gm"); |
|||
var wikilinkBreakerRegex = breakerRegexWithPrefix("]][a-zA-Z]*"); |
|||
var namedExternalLinkBreakerRegex = breakerRegexWithPrefix("]"); |
|||
var parameterBreakerRegex = breakerRegexWithPrefix("}}}"); |
|||
var templateBreakerRegex = breakerRegexWithPrefix("}}"); |
|||
var tableBreakerRegex = breakerRegexWithPrefix("\\|}"); |
|||
var headingBreakerRegex = breakerRegexWithPrefix("\n"); |
|||
var tagBreakerRegexCache = {}; |
|||
var nowikiTagBreakerRegexCache = {}; |
|||
function highlightSyntax() |
|||
{ |
|||
lastText = wpTextbox1.value; |
|||
/* Backslashes and apostrophes are CSS-escaped at the beginning and all |
|||
parsing regexes and functions are designed to match. On the other hand, |
|||
newlines are not escaped until written so that in the regexes ^ and $ |
|||
work for both newlines and the beginning or end of the string. */ |
|||
var text = lastText.replace(/['\\]/g, "\\$&") + "\n"; //add a newline to fix scrolling and parsing issues |
|||
var i = 0; //the location of the parser as it goes through var text |
|||
var css = ""; |
|||
var spanNumber = 0; |
|||
var lastColor; |
|||
//writes text into to-be-created span elements of wpTextbox0 using ::after pseudo-elements |
|||
function writeText(text, color) |
|||
{ |
|||
//no need to use another span if using the same color |
|||
if (color != lastColor) |
|||
{ |
|||
css += "'}"; |
|||
//whitespace is omitted in the hope of increasing performance |
|||
if (color) |
|||
{ |
|||
//"background-color" is 6 characters longer than "background" but the browser processes it faster |
|||
css += "#s" + spanNumber + "{background-color:" + color + "}"; |
|||
} |
|||
css += "#s" + spanNumber + "::after{content:'"; //spans will be created with IDs s0 through sN |
|||
lastColor = color; |
|||
++spanNumber; |
|||
} |
|||
css += text; |
|||
} |
|||
/* About assumedBold and assumedItalic: |
|||
Highlighting bold or italic markup presents a special challenge |
|||
because the actual MediaWiki parser uses multiple passes to determine |
|||
which ticks represent start tags and which represent end tags. |
|||
Because that would be too slow for us here, we instead keep track of |
|||
what kinds of unclosed opening ticks have been encountered and use |
|||
that to make a good guess as to whether the next ticks encountered |
|||
are an opening tag or a closing tag. |
|||
The major downsides to this method are that '''apostrophe italic'' |
|||
and ''italic apostrophe''' are not highlighted correctly, and bold |
|||
and italic are both highlighted in the same color. |
|||
To permit ''The best<ref>''Reference Title''</ref> book ever'', |
|||
assumedBold and assumedItalic are saved on the stack and reset to |
|||
undefined (essentially, false) when recursing into a new block. */ |
|||
function highlightBlock(color, breakerRegex, assumedBold, assumedItalic) |
|||
{ |
|||
var match; |
|||
for (breakerRegex.lastIndex = i; match = breakerRegex.exec(text); breakerRegex.lastIndex = i) |
|||
{ |
|||
if (match[1]) |
|||
{ |
|||
//end token found |
|||
writeText(text.substring(i, breakerRegex.lastIndex), color); |
|||
i = breakerRegex.lastIndex; |
|||
return; |
|||
} |
|||
var endIndexOfLastColor = breakerRegex.lastIndex - match[0].length; |
|||
if (i < endIndexOfLastColor) //avoid calling writeText with text == "" to improve performance |
|||
{ |
|||
writeText(text.substring(i, endIndexOfLastColor), color); |
|||
} |
|||
i = breakerRegex.lastIndex; |
|||
switch (match[0].charAt(0)) //cases in this switch should be arranged from most common to least common |
|||
{ |
|||
case "[": |
|||
if (match[0].charAt(1) == "[") |
|||
{ |
|||
//wikilink |
|||
writeText("[[", syntaxHighlighterConfig.wikilinkColor || color); |
|||
highlightBlock(syntaxHighlighterConfig.wikilinkColor || color, wikilinkBreakerRegex); |
|||
} |
|||
else |
|||
{ |
|||
//named external link |
|||
writeText(match[0], syntaxHighlighterConfig.externalLinkColor || color); |
|||
highlightBlock(syntaxHighlighterConfig.externalLinkColor || color, namedExternalLinkBreakerRegex); |
|||
} |
|||
break; |
|||
case "{": |
|||
if (match[0].charAt(1) == "{") |
|||
{ |
|||
if (match[0].length == 3) |
|||
{ |
|||
//parameter |
|||
writeText("{{{", syntaxHighlighterConfig.parameterColor || color); |
|||
highlightBlock(syntaxHighlighterConfig.parameterColor || color, parameterBreakerRegex); |
|||
} |
|||
else |
|||
{ |
|||
//template |
|||
writeText("{{", syntaxHighlighterConfig.templateColor || color); |
|||
highlightBlock(syntaxHighlighterConfig.templateColor || color, templateBreakerRegex); |
|||
} |
|||
} |
|||
else //| |
|||
{ |
|||
//table |
|||
writeText("{|", syntaxHighlighterConfig.tableColor || color); |
|||
highlightBlock(syntaxHighlighterConfig.tableColor || color, tableBreakerRegex); |
|||
} |
|||
break; |
|||
case "<": |
|||
if (match[0].charAt(1) == "!") |
|||
{ |
|||
//comment tag |
|||
writeText(match[0], syntaxHighlighterConfig.commentColor || color); |
|||
break; |
|||
} |
|||
else |
|||
{ |
|||
//some other kind of tag, search for its end |
|||
//the search is made easier because XML attributes may not contain the character ">" |
|||
var tagEnd = text.indexOf(">", i) + 1; |
|||
if (tagEnd == 0) |
|||
{ |
|||
//not a tag, just a "<" with some text after it |
|||
writeText("<", color); |
|||
i = i - match[0].length + 1; |
|||
break; |
|||
} |
|||
if (text.charAt(tagEnd - 2) == "/") |
|||
{ |
|||
//empty tag |
|||
writeText(text.substring(i - match[0].length, tagEnd), syntaxHighlighterConfig.tagColor || color); |
|||
i = tagEnd; |
|||
} |
|||
else |
|||
{ |
|||
var tagName = match[0].substring(1); |
|||
if (syntaxHighlighterConfig.sourceTags.indexOf(tagName) != -1) |
|||
{ |
|||
//tag that contains text in a different programming language |
|||
var stopAfter = "</" + tagName + ">"; |
|||
var endIndex = text.indexOf(stopAfter, i); |
|||
if (endIndex == -1) |
|||
{ |
|||
endIndex = text.length; |
|||
} |
|||
else |
|||
{ |
|||
endIndex += stopAfter.length; |
|||
} |
|||
writeText(text.substring(i - match[0].length, endIndex), syntaxHighlighterConfig.tagColor || color); |
|||
i = endIndex; |
|||
} |
|||
else if (syntaxHighlighterConfig.nowikiTags.indexOf(tagName) != -1) |
|||
{ |
|||
//tag that can contain only HTML entities |
|||
writeText(text.substring(i - match[0].length, tagEnd), syntaxHighlighterConfig.tagColor || color); |
|||
i = tagEnd; |
|||
highlightBlock(syntaxHighlighterConfig.tagColor || color, nowikiTagBreakerRegexCache[tagName]); |
|||
} |
|||
else |
|||
{ |
|||
//ordinary tag |
|||
writeText(text.substring(i - match[0].length, tagEnd), syntaxHighlighterConfig.tagColor || color); |
|||
i = tagEnd; |
|||
if (!tagBreakerRegexCache[tagName]) |
|||
{ |
|||
tagBreakerRegexCache[tagName] = breakerRegexWithPrefix("</" + tagName + ">"); |
|||
} |
|||
highlightBlock(syntaxHighlighterConfig.tagColor || color, tagBreakerRegexCache[tagName]); |
|||
} |
|||
} |
|||
} |
|||
break; |
|||
case "=": |
|||
if (/[^=]=+$/.test(text.substring(i, text.indexOf("\n", i)))) //the line begins and ends with an equals sign and has something else in the middle |
|||
{ |
|||
//heading |
|||
writeText("=", syntaxHighlighterConfig.headingColor || color); |
|||
highlightBlock(syntaxHighlighterConfig.headingColor || color, headingBreakerRegex); |
|||
} |
|||
else |
|||
{ |
|||
writeText("=", color); //move on, process this line as regular wikitext |
|||
} |
|||
break; |
|||
case "*": |
|||
case "#": |
|||
case ":": |
|||
//unordered list, ordered list, indent, small heading |
|||
//just highlight the marker |
|||
writeText(match[0], syntaxHighlighterConfig.listOrIndentColor || color); |
|||
break; |
|||
case ";": |
|||
//small heading |
|||
writeText(";", syntaxHighlighterConfig.headingColor || color); |
|||
highlightBlock(syntaxHighlighterConfig.headingColor || color, headingBreakerRegex); |
|||
break; |
|||
case "-": |
|||
//horizontal line |
|||
writeText(match[0], syntaxHighlighterConfig.hrColor || color); |
|||
break; |
|||
case "\\": |
|||
writeText(match[0], syntaxHighlighterConfig.boldOrItalicColor || color); |
|||
if (match[0].length == 6) |
|||
{ |
|||
//bold |
|||
if (assumedBold) |
|||
{ |
|||
//end tag |
|||
if (assumedItalic) |
|||
{ |
|||
//end of bold part of bold-italic block |
|||
//block is now italic-only |
|||
assumedBold = false; |
|||
} |
|||
else |
|||
{ |
|||
//end of bold block |
|||
return; |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
//start tag |
|||
if (assumedItalic) |
|||
{ |
|||
//start of bold part of previously italic-only block |
|||
//block is now bold-italic |
|||
assumedBold = true; |
|||
} |
|||
else |
|||
{ |
|||
//start of bold block |
|||
highlightBlock(syntaxHighlighterConfig.boldOrItalicColor || color, defaultBreakerRegex, true, false); |
|||
} |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
//italic |
|||
if (assumedItalic) |
|||
{ |
|||
//end tag |
|||
if (assumedBold) |
|||
{ |
|||
//end of italic part of bold-italic block |
|||
//block is now bold-only |
|||
assumedItalic = false; |
|||
} |
|||
else |
|||
{ |
|||
//end of italic block |
|||
return; |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
//start tag |
|||
if (assumedBold) |
|||
{ |
|||
//start of italic part of previously bold-only block |
|||
//block is now bold-italic |
|||
assumedItalic = true; |
|||
} |
|||
else |
|||
{ |
|||
//start of italic block |
|||
highlightBlock(syntaxHighlighterConfig.boldOrItalicColor || color, defaultBreakerRegex, false, true); |
|||
} |
|||
} |
|||
} |
|||
break; |
|||
case "&": |
|||
//entity |
|||
writeText(match[0], syntaxHighlighterConfig.entityColor || color); |
|||
break; |
|||
case "~": |
|||
//username, signature, timestamp |
|||
writeText(match[0], syntaxHighlighterConfig.signatureColor || color); |
|||
break; |
|||
default: |
|||
//bare external link |
|||
writeText(match[0], syntaxHighlighterConfig.externalLinkColor || color); |
|||
} |
|||
} |
|||
} |
|||
//start! |
|||
var startTime = Date.now(); |
|||
highlightBlock("", defaultBreakerRegex); |
|||
//output the leftovers (if any) to make sure whitespace etc. matches |
|||
if (i < text.length) |
|||
{ |
|||
writeText(text.substring(i), ""); |
|||
} |
|||
//if highlighting took too long, disable it. |
|||
var endTime = Date.now(); |
|||
/*if (typeof(bestTime) == "undefined") |
|||
{ |
|||
window.bestTime = endTime - startTime; |
|||
document.title = bestTime; |
|||
highlightSyntaxIfNeededIntervalID = setInterval(highlightSyntax, 250); |
|||
} |
|||
else |
|||
{ |
|||
if (endTime - startTime < bestTime) |
|||
{ |
|||
bestTime = endTime - startTime; |
|||
document.title = bestTime; |
|||
} |
|||
}//*/ |
|||
if (endTime - startTime > syntaxHighlighterConfig.timeout) |
|||
{ |
|||
clearInterval(highlightSyntaxIfNeededIntervalID); |
|||
wpTextbox1.removeEventListener("input", highlightSyntax); |
|||
wpTextbox1.removeEventListener("scroll", syncScrollX); |
|||
wpTextbox1.removeEventListener("scroll", syncScrollY); |
|||
attributeObserver.disconnect(); |
|||
parentObserver.disconnect(); |
|||
syntaxStyleTextNode.nodeValue = ""; |
|||
var errorMessage = { |
|||
be: "Падсьветка сынтаксісу на гэтай старонцы была адключаная, бо заняла шмат часу. Максымальна дапушчальны час апэрацыі — $1мс, а на вашым кампутары яна заняла $2мс. Паспрабуйце зачыніць нейкія закладкі і праграмы і націснуць «Праглядзець» або «Паказаць зьмены». Калі гэта не дапаможа, паспрабуйце іншы броўзэр; калі й гэта не дапаможа, выкарыстайце магутнейшы кампутар.", |
|||
ca: "S'ha desactivat el remarcar de sintaxi en aquesta pàgina perquè ha trigat massa temps. El temps màxim permès per a remarcar és $1ms, i el vostre ordinador ha trigat $2ms. Proveu tancar algunes pestanyes i programes i fer clic en \"Mostra la previsualització\" o \"Mostra els canvis\". Si no funciona això, proveu un altre navegador web, i si això no funciona, proveu un ordinador més ràpid.", |
|||
de: "Die Syntaxhervorhebung wurde auf dieser Seite deaktiviert, da diese zu lange gedauert hat. Die maximal erlaubte Zeit zur Hervorhebung beträgt $1ms und dein Computer benötigte $2ms. Versuche einige Tabs und Programme zu schließen und klicke \"Vorschau zeigen\" oder \"Änderungen zeigen\". Wenn das nicht funktioniert, probiere einen anderen Webbrowser und wenn immer noch nicht, probiere einen schnelleren Computer.", |
|||
el: "Η έμφαση σύνταξης έχει απενεργοποιηθεί σε αυτήν τη σελίδα γιατί αργούσε πολύ. Ο μέγιστος επιτρεπτός χρόνος για την έμφαση σύνταξης είναι $1ms και ο υπολογιστής σας έκανε $2ms. Δοκιμάστε να κλείσετε μερικές καρτέλες και προγράμματα και να κάνετε κλικ στην «Εμφάνιση προεπισκόπησης» ή στην «Εμφάνιση αλλαγών». Αν αυτό δεν δουλέψει, δοκιμάστε έναν διαφορετικό περιηγητή και αν ούτε αυτό δουλέψει, δοκιμάστε έναν ταχύτερο υπολογιστή.", |
|||
en: "Syntax highlighting on this page was disabled because it took too long. The maximum allowed highlighting time is $1ms, and your computer took $2ms. Try closing some tabs and programs and clicking \"Show preview\" or \"Show changes\". If that doesn't work, try a different web browser, and if that doesn't work, try a faster computer.", |
|||
es: "Se desactivó el resaltar de sintaxis en esta página porque tardó demasiado. El tiempo máximo permitido para resaltar es $1ms, y tu ordenador tardó $2ms. Prueba cerrar algunas pestañas y programas y hacer clic en \"Mostrar previsualización\" o \"Mostrar cambios\". Si no funciona esto, prueba otro navegador web, y si eso no funciona, prueba un ordenador más rápido.", |
|||
fa: "از آنجایی که زمان زیادی صرف آن میشد، برجستهسازی نحو در این صفحه غیرفعال شده است. بیشینهٔ زمان برجستهسازی برای ابزار $1ms تعریف شده در حالی که رایانهٔ شما $2ms زمان نیاز داشت. میتوانید بستن برخی سربرگها و برنامهها و سپس کلیککردن دکمهٔ «پیشنمایش» یا «نمایش تغییرات» را بیازمایید. اگر جواب نداد مرورگر دیگری را امتحان کنید؛ و اگر باز هم جواب نداد، رایانهٔ سریعتری را بیازمایید.", |
|||
fi: "Syntaksin korostus on pois käytöstä tällä sivulla, koska siinä kesti liian kauan. Suurin sallittu korostukseen käytetty aika on $1ms, ja tietokoneellasi kesti $2ms. Kokeile sulkea joitain välilehtiä tai ohjelmia ja paina \"Esikatsele\" tai \"Näytä muutokset\". Jos se ei toimi, kokeile toista selainta, ja jos se ei toimi, kokeile nopeampaa tietokonetta.", |
|||
fr: "La coloration syntaxique a été désactivée sur cette page en raison d'un temps de chargement trop important ($2ms). Le temps maximum autorisé est $1ms. Vous pouvez essayer de fermer certains onglets et programmes et cliquez sur \"Prévisualisation\" ou \"Voir mes modifications\". Si cela ne fonctionne pas, essayez un autre navigateur web, et si cela ne fonctionne toujours pas, essayez un ordinateur plus rapide.", |
|||
hu: "A szintaxiskiemelés ezen az oldalon le lett tiltva, mert túl sokáig tartott. A maximális engedélyezett kiemelési idő $1 ms, és a géped $2 ms-ig dolgozott. Próbálj meg bezárni néhány fület és programot, és klikkelj az „Előnézet megtekintése” vagy a „Változtatások megtekintése” gombra. Ha ez nem működik, próbálj meg egy másik böngészőt, és ha ez sem működik, próbáld meg egy gyorsabb gépen.", |
|||
hy: "Շարադասության ընդգծումը այս էջում անջատվել է, քանի որ այն չափից շատ է տևել։ Ընդգծման թույլատրելի առավելագույն ժամանակը $1 միլիվայրկյան է, բայց այս էջում տևել է $2 միլիվայրկյան։ Փորձեք անջատել որոշ ներդիրներ կամ ծրագրեր և սեղմել «Նախադիտել» կամ «Կատարված փոփոխությունները»։ Կրկին չաշխատելու դեպքում փորձեք այլ վեբ դիտարկիչ, եթե կրկին չաշխատի, փորձեք ավելի արագ համակարգիչ։", |
|||
io: "Sintaxo-hailaitar en ca pagino esis nekapabligata pro ke konsumis tro multa tempo. La maxima permisata hailaitala tempo es $1ms, e tua ordinatro konsumis $2ms. Probez klozar kelka tabi e programi e kliktar \"Previdar\" o \"Montrez chanji\". Se to ne funcionas, probez altra brauzero, e se to ne funcionas, probez plu rapida ordinatro.", |
|||
it: "L'evidenziazione delle sintassi su questa pagina è stata disabilitata perché ha richiesto troppo tempo. Il tempo massimo per l'evidenziazione è di $1ms e al tuo computer sono serviti $2ms. Prova a chiudere alcune schede e programmi e ricarica la pagina cliccando su \"Visualizza anteprima\" o \"Mostra modifiche\". Se non funziona ancora, prova con un web browser differente e, in ultima alternativa, prova ad utilizzare un computer più veloce.", |
|||
ja: "このページでの構文の強調表示は、時間がかかりすぎたため無効になりました。許容される時間の最大値は$1ミリ秒で、ご利用のコンピューターでは$2ミリ秒かかりました。いくつかのタブやプログラムを閉じて、「プレビューを表示」または「差分を表示」をクリックしてみてください。それが機能しない場合は、別のWebブラウザーをお試しください。それが機能しない場合は、より高速なコンピューターでお試しください。", |
|||
ko: "이 문서에서의 문법 강조가 너무 오래 걸러서 해제되었습니다. 최대로 할당된 강조 시간은 $1ms인데, 당신의 컴퓨터는 $2ms이나 걸렸습니다. 탭과 프로그램을 일부 닫으신 후에 \"미리 보기\"나 \"차이 보기\"를 클릭하시기 바랍니다. 만약 작동하지 않으면 다른 웹 브라우저로 시도해보시고, 그래도 안되면 더 빠른 컴퓨터를 이용하십시오", |
|||
pl: "Podświetlanie składni na tej stronie zostało wyłączone, ponieważ wczytywanie trwało zbyt długo. Maksymalny dozwolony czas wynosi $1ms, Twojemu komputerowi zajęło to $2ms. Spróbuj zamknąć kilka zakładek lub programów w tle, a następnie kliknij „Pokaż podgląd” lub „Podgląd zmian”. Jeśli to nie zadziała, wypróbuj inną przeglądarkę internetową lub szybszy komputer.", |
|||
pt: "O marcador de sintaxe foi desativado nesta página porque demorou demais. O tempo máximo permitido para marcar é de $1ms, e seu computador demorou $2ms. Tente fechar algumas abas e programas e clique em \"Mostrar previsão\" ou \"Mostrar alterações\". Se isso não funcionar, tente usar um outro navegador web, e se ainda não funcionar, tente em um computador mais rápido.", |
|||
ru: "Подсветка синтаксиса на странице была отключена, так как заняла слишком долго. Максимальное допустимое время операции - $1мс, сейчас на вашем компьютере она заняла $2мс. Попробуйте закрыть несколько вкладок и программ, затем нажать «Предварительный просмотр» или «Внесённые изменения». Если это не поможет, попробуйте другой браузер; если и это не поможет, используйте более быстрый компьютер.", |
|||
sr: "Истицање синтаксе на овој страници је онемогућено јер се одвија предуго. Максимално дозвољено време истицања је $1ms, а на Вашем рачунару траје $2ms. Покушајте затворити неке картице и програме или кликните на „Прикажи претпреглед” или „Прикажи измене”. Ако то не ради, покушајте са другим веб-прегледачем, а ако и тада не ради, покушајте са бржим рачунаром.", |
|||
vec: "L'evidensiasion de łe sintasi so sta voxe ła xe dexabiłitada par che ła ga dimandà masa tenpo. El tenpo màsemo par l'evidensiasion ła xe de $1ms e al to dispoxidivo a ghene xe cadesti $2ms. Proa a sarar calche scheda e programa e recarga ła pàjina schiciando so \"Varda ła anteprima\" o \"Mostra canbiaminti\". Se no el funsiona oncora, proa co on altro navegador web difarente e, cofà ùltema alternadiva, proa a doparar on dispoxidivo pì sèłero.", |
|||
zh: "此页面上的语法突出显示被禁用,因为它花费的时间太长。允许的突出显示时间最长为$1毫秒,而您的计算机则为$2毫秒。请尝试关闭一些标签和程序,然后单击“显示预览”或“显示更改”。如果不起作用,请尝试使用其他网页浏览器,如果还不起作用,请尝试使用速度更快的计算机。", |
|||
}; |
|||
var wgUserLanguage = mw.config.get("wgUserLanguage"); |
|||
errorMessage = errorMessage[wgUserLanguage] || errorMessage[wgUserLanguage.substring(0, wgUserLanguage.indexOf("-"))] || errorMessage.en; |
|||
wpTextbox1.style.backgroundColor = ""; |
|||
wpTextbox1.style.marginTop = "0"; |
|||
wpTextbox0.removeAttribute("dir"); |
|||
wpTextbox0.removeAttribute("lang"); |
|||
wpTextbox0.setAttribute("style", "color:red; font-size:small"); |
|||
wpTextbox0.textContent = errorMessage.replace("$1", syntaxHighlighterConfig.timeout).replace("$2", endTime - startTime); |
|||
return; |
|||
} |
|||
//do we have enough span elements to match the generated CSS? |
|||
//this step isn't included in the above benchmark because it takes a highly variable amount of time |
|||
if (maxSpanNumber < spanNumber) |
|||
{ |
|||
var fragment = document.createDocumentFragment(); |
|||
do |
|||
{ |
|||
fragment.appendChild(document.createElement("span")).id = "s" + ++maxSpanNumber; |
|||
} |
|||
while (maxSpanNumber < spanNumber); |
|||
wpTextbox0.appendChild(fragment); |
|||
} |
|||
/* finish CSS: move the extra '} from the beginning to the end and CSS- |
|||
escape newlines. CSS ignores the space after the hex code of the |
|||
escaped character */ |
|||
css = css.substring(2).replace(/\n/g, "\\A ") + "'}"; |
|||
//visibility:hidden prevents the background text from being picked up during in-page search in Firefox |
|||
css += "#wpTextbox0>span::after{visibility:hidden}"; |
|||
syntaxStyleTextNode.nodeValue = css; |
|||
} |
|||
function syncScrollX() |
|||
{ |
|||
wpTextbox0.scrollLeft = wpTextbox1.scrollLeft; |
|||
} |
|||
function syncScrollY() |
|||
{ |
|||
wpTextbox0.scrollTop = wpTextbox1.scrollTop; |
|||
} |
|||
function syncTextDirection() |
|||
{ |
|||
wpTextbox0.dir = wpTextbox1.dir; |
|||
} |
|||
function syncParent() |
|||
{ |
|||
if (wpTextbox1.previousSibling != wpTextbox0) |
|||
{ |
|||
wpTextbox1.parentNode.insertBefore(wpTextbox0, wpTextbox1); |
|||
parentObserver.disconnect(); |
|||
parentObserver.observe(wpTextbox1.parentNode, {childList: true}); |
|||
} |
|||
} |
|||
//this function runs once every 500ms to detect changes to wpTextbox1's text that the input event does not catch |
|||
//this happens when another script changes the text without knowing that the syntax highlighter needs to be informed |
|||
function highlightSyntaxIfNeeded() |
|||
{ |
|||
if (wpTextbox1.value != lastText) |
|||
{ |
|||
highlightSyntax(); |
|||
} |
|||
if (wpTextbox1.scrollLeft != wpTextbox0.scrollLeft) |
|||
{ |
|||
syncScrollX(); |
|||
} |
|||
if (wpTextbox1.scrollTop != wpTextbox0.scrollTop) |
|||
{ |
|||
syncScrollY(); |
|||
} |
|||
if (wpTextbox1.offsetHeight != wpTextbox0.offsetHeight) |
|||
{ |
|||
var height = wpTextbox1.offsetHeight + "px"; |
|||
wpTextbox0.style.height = height; |
|||
wpTextbox1.style.marginTop = "-" + height; |
|||
} |
|||
} |
|||
function setup() |
|||
{ |
|||
wpTextbox1 = document.getElementById("wpTextbox1"); |
|||
if (!wpTextbox1) return; //another script (such as the Visual Editor) has removed the edit box |
|||
function configureColor(parameterName, hardcodedFallback, defaultOk) |
|||
{ |
|||
if (typeof(syntaxHighlighterConfig[parameterName]) == "undefined") |
|||
{ |
|||
syntaxHighlighterConfig[parameterName] = syntaxHighlighterSiteConfig[parameterName]; |
|||
} |
|||
if (syntaxHighlighterConfig[parameterName] == "normal") |
|||
{ |
|||
syntaxHighlighterConfig[parameterName] = hardcodedFallback; |
|||
} |
|||
else if (typeof(syntaxHighlighterConfig[parameterName]) != "undefined") |
|||
{ |
|||
return; |
|||
} |
|||
else if (typeof(syntaxHighlighterConfig.defaultColor) != "undefined" && defaultOk) |
|||
{ |
|||
syntaxHighlighterConfig[parameterName] = syntaxHighlighterConfig.defaultColor; |
|||
} |
|||
else |
|||
{ |
|||
syntaxHighlighterConfig[parameterName] = hardcodedFallback; |
|||
} |
|||
} |
|||
window.syntaxHighlighterSiteConfig = window.syntaxHighlighterSiteConfig || {}; |
|||
window.syntaxHighlighterConfig = window.syntaxHighlighterConfig || {}; |
|||
//use 3-digit colors instead of 6-digit colors for performance |
|||
configureColor("backgroundColor", "#FFF", false); //white |
|||
configureColor("foregroundColor", "#000", false); //black |
|||
configureColor("boldOrItalicColor", "#EEE", true); //gray |
|||
configureColor("commentColor", "#EFE", true); //green |
|||
configureColor("entityColor", "#DFD", true); //green |
|||
configureColor("externalLinkColor", "#EFF", true); //cyan |
|||
configureColor("headingColor", "#EEE", true); //gray |
|||
configureColor("hrColor", "#EEE", true); //gray |
|||
configureColor("listOrIndentColor", "#EFE", true); //green |
|||
configureColor("parameterColor", "#FC6", true); //orange |
|||
configureColor("signatureColor", "#FC6", true); //orange |
|||
configureColor("tagColor", "#FEF", true); //pink |
|||
configureColor("tableColor", "#FFC", true); //yellow |
|||
configureColor("templateColor", "#FFC", true); //yellow |
|||
configureColor("wikilinkColor", "#EEF", true); //blue |
|||
//tag lists are ordered from most common to least common |
|||
syntaxHighlighterConfig.nowikiTags = syntaxHighlighterConfig.nowikiTags || syntaxHighlighterSiteConfig.nowikiTags || ["nowiki", "pre"]; |
|||
syntaxHighlighterConfig.sourceTags = syntaxHighlighterConfig.sourceTags || syntaxHighlighterSiteConfig.sourceTags || ["math", "syntaxhighlight", "source", "timeline", "hiero"]; |
|||
syntaxHighlighterConfig.timeout = syntaxHighlighterConfig.timeout || syntaxHighlighterSiteConfig.timeout || 30; |
|||
syntaxHighlighterConfig.nowikiTags.forEach(function(tagName) { |
|||
nowikiTagBreakerRegexCache[tagName] = nowikiTagBreakerRegex(tagName); |
|||
}); |
|||
wpTextbox0 = document.createElement("div"); |
|||
var syntaxStyleElement = document.createElement("style"); |
|||
syntaxStyleTextNode = syntaxStyleElement.appendChild(document.createTextNode("")); |
|||
//the styling of the textbox and the background div must be kept very similar |
|||
var wpTextbox1Style = window.getComputedStyle(wpTextbox1); |
|||
//horizontal resize would look horribly choppy, better to make the user resize the browser window instead |
|||
var resize = (wpTextbox1Style.resize == "vertical" || wpTextbox1Style.resize == "both" ? "vertical" : "none"); |
|||
wpTextbox0.dir = wpTextbox1.dir; |
|||
wpTextbox0.id = "wpTextbox0"; |
|||
wpTextbox0.lang = wpTextbox1.lang; //lang determines which font "monospace" is |
|||
wpTextbox0.style.backgroundColor = syntaxHighlighterConfig.backgroundColor; |
|||
wpTextbox0.style.borderBottomLeftRadius = wpTextbox1Style.borderBottomLeftRadius; |
|||
wpTextbox0.style.borderBottomRightRadius = wpTextbox1Style.borderBottomRightRadius; |
|||
wpTextbox0.style.borderBottomStyle = wpTextbox1Style.borderBottomStyle; |
|||
wpTextbox0.style.borderBottomWidth = wpTextbox1Style.borderBottomWidth; |
|||
wpTextbox0.style.borderColor = "transparent"; |
|||
wpTextbox0.style.borderLeftStyle = wpTextbox1Style.borderLeftStyle; |
|||
wpTextbox0.style.borderLeftWidth = wpTextbox1Style.borderLeftWidth; |
|||
wpTextbox0.style.borderRightStyle = wpTextbox1Style.borderRightStyle; |
|||
wpTextbox0.style.borderRightWidth = wpTextbox1Style.borderRightWidth; |
|||
wpTextbox0.style.borderTopLeftRadius = wpTextbox1Style.borderTopLeftRadius; |
|||
wpTextbox0.style.borderTopRightRadius = wpTextbox1Style.borderTopRightRadius; |
|||
wpTextbox0.style.borderTopStyle = wpTextbox1Style.borderTopStyle; |
|||
wpTextbox0.style.borderTopWidth = wpTextbox1Style.borderTopWidth; |
|||
wpTextbox0.style.boxSizing = "border-box"; |
|||
wpTextbox0.style.clear = wpTextbox1Style.clear; |
|||
wpTextbox0.style.fontFamily = wpTextbox1Style.fontFamily; |
|||
wpTextbox0.style.fontSize = wpTextbox1Style.fontSize; |
|||
wpTextbox0.style.lineHeight = "normal"; |
|||
wpTextbox0.style.marginBottom = "0"; |
|||
wpTextbox0.style.marginLeft = "0"; |
|||
wpTextbox0.style.marginRight = "0"; |
|||
wpTextbox0.style.marginTop = "0"; |
|||
wpTextbox0.style.overflowX = "auto"; |
|||
wpTextbox0.style.overflowY = "scroll"; |
|||
wpTextbox0.style.resize = resize; |
|||
wpTextbox0.style.tabSize = wpTextbox1Style.tabSize; |
|||
wpTextbox0.style.whiteSpace = "pre-wrap"; |
|||
wpTextbox0.style.width = "100%"; |
|||
wpTextbox0.style.wordWrap = "normal"; //see below |
|||
wpTextbox1.style.backgroundColor = "transparent"; |
|||
wpTextbox1.style.borderBottomLeftRadius = wpTextbox1Style.borderBottomLeftRadius; |
|||
wpTextbox1.style.borderBottomRightRadius = wpTextbox1Style.borderBottomRightRadius; |
|||
wpTextbox1.style.borderBottomStyle = wpTextbox1Style.borderBottomStyle; |
|||
wpTextbox1.style.borderBottomWidth = wpTextbox1Style.borderBottomWidth; |
|||
wpTextbox1.style.borderLeftStyle = wpTextbox1Style.borderLeftStyle; |
|||
wpTextbox1.style.borderLeftWidth = wpTextbox1Style.borderLeftWidth; |
|||
wpTextbox1.style.borderRightStyle = wpTextbox1Style.borderRightStyle; |
|||
wpTextbox1.style.borderRightWidth = wpTextbox1Style.borderRightWidth; |
|||
wpTextbox1.style.borderTopLeftRadius = wpTextbox1Style.borderTopLeftRadius; |
|||
wpTextbox1.style.borderTopRightRadius = wpTextbox1Style.borderTopRightRadius; |
|||
wpTextbox1.style.borderTopStyle = wpTextbox1Style.borderTopStyle; |
|||
wpTextbox1.style.borderTopWidth = wpTextbox1Style.borderTopWidth; |
|||
wpTextbox1.style.boxSizing = "border-box"; |
|||
wpTextbox1.style.clear = wpTextbox1Style.clear; |
|||
wpTextbox1.style.color = syntaxHighlighterConfig.foregroundColor; |
|||
wpTextbox1.style.fontFamily = wpTextbox1Style.fontFamily; |
|||
wpTextbox1.style.fontSize = wpTextbox1Style.fontSize; |
|||
wpTextbox1.style.lineHeight = "normal"; |
|||
wpTextbox1.style.marginBottom = wpTextbox1Style.marginBottom; //lock to pixel value because the top margin was also locked to a pixel value when it was moved to wpTextbox0 |
|||
wpTextbox1.style.marginLeft = "0"; |
|||
wpTextbox1.style.marginRight = "0"; |
|||
wpTextbox1.style.overflowX = "auto"; |
|||
wpTextbox1.style.overflowY = "scroll"; |
|||
wpTextbox1.style.padding = "0"; |
|||
wpTextbox1.style.resize = resize; |
|||
wpTextbox1.style.tabSize = wpTextbox1Style.tabSize; |
|||
wpTextbox1.style.whiteSpace = "pre-wrap"; |
|||
wpTextbox1.style.width = "100%"; |
|||
wpTextbox1.style.wordWrap = "normal"; //overall more visually appealing |
|||
//lock both heights to pixel values so that the browser zoom feature works better |
|||
wpTextbox1.style.height = wpTextbox0.style.height = wpTextbox1.offsetHeight + "px"; |
|||
//insert wpTextbox0 underneath wpTextbox1 |
|||
wpTextbox1.style.marginTop = -wpTextbox1.offsetHeight + "px"; |
|||
wpTextbox1.parentNode.insertBefore(wpTextbox0, wpTextbox1); |
|||
document.head.appendChild(syntaxStyleElement); |
|||
wpTextbox1.addEventListener("input", highlightSyntax); |
|||
wpTextbox1.addEventListener("scroll", syncScrollX); |
|||
wpTextbox1.addEventListener("scroll", syncScrollY); |
|||
attributeObserver = new MutationObserver(syncTextDirection); |
|||
attributeObserver.observe(wpTextbox1, {attributes: true}); |
|||
parentObserver = new MutationObserver(syncParent); |
|||
parentObserver.observe(wpTextbox1.parentNode, {childList: true}); |
|||
highlightSyntaxIfNeededIntervalID = setInterval(highlightSyntaxIfNeeded, 500); |
|||
highlightSyntax(); |
|||
} |
|||
//enable the highlighter only when editing wikitext pages |
|||
//in the future a separate parser could be added for CSS and JS pages |
|||
//blacklist Internet Explorer and Edge, they're just too broken |
|||
var wgAction = mw.config.get("wgAction"); |
|||
var layoutEngine = $.client.profile().layout; |
|||
if ((wgAction == "edit" || wgAction == "submit") && mw.config.get("wgPageContentModel") == "wikitext" && layoutEngine != "trident" && layoutEngine != "edge") |
|||
{ |
|||
//give other scripts an opportunity to set syntaxHighlighterConfig |
|||
if (document.readyState == "complete") |
|||
{ |
|||
setup(); |
|||
} |
|||
else |
|||
{ |
|||
window.addEventListener("load", setup); |
|||
} |
|||
} |
|||
}); |
2022年12月15日 (四) 16:49的最新版本
mw.loader.using("jquery.client",function(){"use strict";var l,g,d,c,p,y,f,b=-1,e=mw.config.get("wgUrlProtocols"),r="&(?:(?:n(?:bsp|dash)|m(?:dash|inus)|lt|e[mn]sp|thinsp|amp|quot|gt|shy|zwn?j|lrm|rlm|Alpha|Beta|Epsilon|Zeta|Eta|Iota|Kappa|[Mm]u|micro|Nu|[Oo]micron|[Rr]ho|Tau|Upsilon|Chi)|#x[0-9a-fA-F]+);\n*",t="\\[(?:\\[|(?:"+e+"))|\\{(?:\\{\\{?|\\|)|<(?:[:A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-⁰-Ⰰ-、-豈-﷏ﷰ-�][:\\wÀ-ÖØ-öø-˿Ͱ-ͽͿ-⁰-Ⰰ-、-豈-﷏ﷰ-�-\\.·̀-ͯ‿-‿-⁀]*(?=/?>| |\n)|!--[^]*?--\x3e\n*)|(?:"+e.replace("|\\/\\/","")+")[^\\s\"<>[\\]{-}]*[^\\s\",\\.:;<>[\\]{-}]\n*|^(?:=|[*#:;]+\n*|-{4,}\n*)|\\\\'\\\\'(?:\\\\')?|~{3,5}\n*|"+r;function C(e){return new RegExp("("+e+")\n*|"+t,"gm")}var x=new RegExp(t,"gm"),k=C("]][a-zA-Z]*"),v=C("]"),w=C("}}}"),z=C("}}"),H=C("\\|}"),S=C("\n"),T={},L={};function E(){var i,h=(c=g.value).replace(/['\\]/g,"\\$&")+"\n",m=0,o="",r=0;function u(e,t){t!=i&&(o+="'}",t&&(o+="#s"+r+"{background-color:"+t+"}"),o+="#s"+r+"::after{content:'",i=t,++r),o+=e}var e=Date.now();!function e(t,i,o,r){var a;for(i.lastIndex=m;a=i.exec(h);i.lastIndex=m){if(a[1])return u(h.substring(m,i.lastIndex),t),void(m=i.lastIndex);var n=i.lastIndex-a[0].length;switch(m<n&&u(h.substring(m,n),t),m=i.lastIndex,a[0].charAt(0)){case"[":"["==a[0].charAt(1)?(u("[[",syntaxHighlighterConfig.wikilinkColor||t),e(syntaxHighlighterConfig.wikilinkColor||t,k)):(u(a[0],syntaxHighlighterConfig.externalLinkColor||t),e(syntaxHighlighterConfig.externalLinkColor||t,v));break;case"{":"{"==a[0].charAt(1)?3==a[0].length?(u("{{{",syntaxHighlighterConfig.parameterColor||t),e(syntaxHighlighterConfig.parameterColor||t,w)):(u("{{",syntaxHighlighterConfig.templateColor||t),e(syntaxHighlighterConfig.templateColor||t,z)):(u("{|",syntaxHighlighterConfig.tableColor||t),e(syntaxHighlighterConfig.tableColor||t,H));break;case"<":if("!"==a[0].charAt(1)){u(a[0],syntaxHighlighterConfig.commentColor||t);break}var s,l,g,d=h.indexOf(">",m)+1;if(0==d){u("<",t),m=m-a[0].length+1;break}"/"==h.charAt(d-2)?(u(h.substring(m-a[0].length,d),syntaxHighlighterConfig.tagColor||t),m=d):(s=a[0].substring(1),-1!=syntaxHighlighterConfig.sourceTags.indexOf(s)?(l="</"+s+">",-1==(g=h.indexOf(l,m))?g=h.length:g+=l.length,u(h.substring(m-a[0].length,g),syntaxHighlighterConfig.tagColor||t),m=g):-1!=syntaxHighlighterConfig.nowikiTags.indexOf(s)?(u(h.substring(m-a[0].length,d),syntaxHighlighterConfig.tagColor||t),m=d,e(syntaxHighlighterConfig.tagColor||t,L[s])):(u(h.substring(m-a[0].length,d),syntaxHighlighterConfig.tagColor||t),m=d,T[s]||(T[s]=C("</"+s+">")),e(syntaxHighlighterConfig.tagColor||t,T[s])));break;case"=":/[^=]=+$/.test(h.substring(m,h.indexOf("\n",m)))?(u("=",syntaxHighlighterConfig.headingColor||t),e(syntaxHighlighterConfig.headingColor||t,S)):u("=",t);break;case"*":case"#":case":":u(a[0],syntaxHighlighterConfig.listOrIndentColor||t);break;case";":u(";",syntaxHighlighterConfig.headingColor||t),e(syntaxHighlighterConfig.headingColor||t,S);break;case"-":u(a[0],syntaxHighlighterConfig.hrColor||t);break;case"\\":if(u(a[0],syntaxHighlighterConfig.boldOrItalicColor||t),6==a[0].length)if(o){if(!r)return;o=!1}else r?o=!0:e(syntaxHighlighterConfig.boldOrItalicColor||t,x,!0,!1);else if(r){if(!o)return;r=!1}else o?r=!0:e(syntaxHighlighterConfig.boldOrItalicColor||t,x,!1,!0);break;case"&":u(a[0],syntaxHighlighterConfig.entityColor||t);break;case"~":u(a[0],syntaxHighlighterConfig.signatureColor||t);break;default:u(a[0],syntaxHighlighterConfig.externalLinkColor||t)}}}("",x),m<h.length&&u(h.substring(m),"");var t=Date.now();if(t-e>syntaxHighlighterConfig.timeout){clearInterval(p),g.removeEventListener("input",E),g.removeEventListener("scroll",R),g.removeEventListener("scroll",B),y.disconnect(),f.disconnect(),d.nodeValue="";var a={be:"Падсьветка сынтаксісу на гэтай старонцы была адключаная, бо заняла шмат часу. Максымальна дапушчальны час апэрацыі — $1мс, а на вашым кампутары яна заняла $2мс. Паспрабуйце зачыніць нейкія закладкі і праграмы і націснуць «Праглядзець» або «Паказаць зьмены». Калі гэта не дапаможа, паспрабуйце іншы броўзэр; калі й гэта не дапаможа, выкарыстайце магутнейшы кампутар.",ca:'S\'ha desactivat el remarcar de sintaxi en aquesta pàgina perquè ha trigat massa temps. El temps màxim permès per a remarcar és $1ms, i el vostre ordinador ha trigat $2ms. Proveu tancar algunes pestanyes i programes i fer clic en "Mostra la previsualització" o "Mostra els canvis". Si no funciona això, proveu un altre navegador web, i si això no funciona, proveu un ordinador més ràpid.',de:'Die Syntaxhervorhebung wurde auf dieser Seite deaktiviert, da diese zu lange gedauert hat. Die maximal erlaubte Zeit zur Hervorhebung beträgt $1ms und dein Computer benötigte $2ms. Versuche einige Tabs und Programme zu schließen und klicke "Vorschau zeigen" oder "Änderungen zeigen". Wenn das nicht funktioniert, probiere einen anderen Webbrowser und wenn immer noch nicht, probiere einen schnelleren Computer.',el:"Η έμφαση σύνταξης έχει απενεργοποιηθεί σε αυτήν τη σελίδα γιατί αργούσε πολύ. Ο μέγιστος επιτρεπτός χρόνος για την έμφαση σύνταξης είναι $1ms και ο υπολογιστής σας έκανε $2ms. Δοκιμάστε να κλείσετε μερικές καρτέλες και προγράμματα και να κάνετε κλικ στην «Εμφάνιση προεπισκόπησης» ή στην «Εμφάνιση αλλαγών». Αν αυτό δεν δουλέψει, δοκιμάστε έναν διαφορετικό περιηγητή και αν ούτε αυτό δουλέψει, δοκιμάστε έναν ταχύτερο υπολογιστή.",en:'Syntax highlighting on this page was disabled because it took too long. The maximum allowed highlighting time is $1ms, and your computer took $2ms. Try closing some tabs and programs and clicking "Show preview" or "Show changes". If that doesn\'t work, try a different web browser, and if that doesn\'t work, try a faster computer.',es:'Se desactivó el resaltar de sintaxis en esta página porque tardó demasiado. El tiempo máximo permitido para resaltar es $1ms, y tu ordenador tardó $2ms. Prueba cerrar algunas pestañas y programas y hacer clic en "Mostrar previsualización" o "Mostrar cambios". Si no funciona esto, prueba otro navegador web, y si eso no funciona, prueba un ordenador más rápido.',fa:"از آنجایی که زمان زیادی صرف آن میشد، برجستهسازی نحو در این صفحه غیرفعال شده است. بیشینهٔ زمان برجستهسازی برای ابزار $1ms تعریف شده در حالی که رایانهٔ شما $2ms زمان نیاز داشت. میتوانید بستن برخی سربرگها و برنامهها و سپس کلیککردن دکمهٔ «پیشنمایش» یا «نمایش تغییرات» را بیازمایید. اگر جواب نداد مرورگر دیگری را امتحان کنید؛ و اگر باز هم جواب نداد، رایانهٔ سریعتری را بیازمایید.",fi:'Syntaksin korostus on pois käytöstä tällä sivulla, koska siinä kesti liian kauan. Suurin sallittu korostukseen käytetty aika on $1ms, ja tietokoneellasi kesti $2ms. Kokeile sulkea joitain välilehtiä tai ohjelmia ja paina "Esikatsele" tai "Näytä muutokset". Jos se ei toimi, kokeile toista selainta, ja jos se ei toimi, kokeile nopeampaa tietokonetta.',fr:'La coloration syntaxique a été désactivée sur cette page en raison d\'un temps de chargement trop important ($2ms). Le temps maximum autorisé est $1ms. Vous pouvez essayer de fermer certains onglets et programmes et cliquez sur "Prévisualisation" ou "Voir mes modifications". Si cela ne fonctionne pas, essayez un autre navigateur web, et si cela ne fonctionne toujours pas, essayez un ordinateur plus rapide.',hu:"A szintaxiskiemelés ezen az oldalon le lett tiltva, mert túl sokáig tartott. A maximális engedélyezett kiemelési idő $1 ms, és a géped $2 ms-ig dolgozott. Próbálj meg bezárni néhány fület és programot, és klikkelj az „Előnézet megtekintése” vagy a „Változtatások megtekintése” gombra. Ha ez nem működik, próbálj meg egy másik böngészőt, és ha ez sem működik, próbáld meg egy gyorsabb gépen.",hy:"Շարադասության ընդգծումը այս էջում անջատվել է, քանի որ այն չափից շատ է տևել։ Ընդգծման թույլատրելի առավելագույն ժամանակը $1 միլիվայրկյան է, բայց այս էջում տևել է $2 միլիվայրկյան։ Փորձեք անջատել որոշ ներդիրներ կամ ծրագրեր և սեղմել «Նախադիտել» կամ «Կատարված փոփոխությունները»։ Կրկին չաշխատելու դեպքում փորձեք այլ վեբ դիտարկիչ, եթե կրկին չաշխատի, փորձեք ավելի արագ համակարգիչ։",io:'Sintaxo-hailaitar en ca pagino esis nekapabligata pro ke konsumis tro multa tempo. La maxima permisata hailaitala tempo es $1ms, e tua ordinatro konsumis $2ms. Probez klozar kelka tabi e programi e kliktar "Previdar" o "Montrez chanji". Se to ne funcionas, probez altra brauzero, e se to ne funcionas, probez plu rapida ordinatro.',it:'L\'evidenziazione delle sintassi su questa pagina è stata disabilitata perché ha richiesto troppo tempo. Il tempo massimo per l\'evidenziazione è di $1ms e al tuo computer sono serviti $2ms. Prova a chiudere alcune schede e programmi e ricarica la pagina cliccando su "Visualizza anteprima" o "Mostra modifiche". Se non funziona ancora, prova con un web browser differente e, in ultima alternativa, prova ad utilizzare un computer più veloce.',ja:"このページでの構文の強調表示は、時間がかかりすぎたため無効になりました。許容される時間の最大値は$1ミリ秒で、ご利用のコンピューターでは$2ミリ秒かかりました。いくつかのタブやプログラムを閉じて、「プレビューを表示」または「差分を表示」をクリックしてみてください。それが機能しない場合は、別のWebブラウザーをお試しください。それが機能しない場合は、より高速なコンピューターでお試しください。",ko:'이 문서에서의 문법 강조가 너무 오래 걸러서 해제되었습니다. 최대로 할당된 강조 시간은 $1ms인데, 당신의 컴퓨터는 $2ms이나 걸렸습니다. 탭과 프로그램을 일부 닫으신 후에 "미리 보기"나 "차이 보기"를 클릭하시기 바랍니다. 만약 작동하지 않으면 다른 웹 브라우저로 시도해보시고, 그래도 안되면 더 빠른 컴퓨터를 이용하십시오',pl:"Podświetlanie składni na tej stronie zostało wyłączone, ponieważ wczytywanie trwało zbyt długo. Maksymalny dozwolony czas wynosi $1ms, Twojemu komputerowi zajęło to $2ms. Spróbuj zamknąć kilka zakładek lub programów w tle, a następnie kliknij „Pokaż podgląd” lub „Podgląd zmian”. Jeśli to nie zadziała, wypróbuj inną przeglądarkę internetową lub szybszy komputer.",pt:'O marcador de sintaxe foi desativado nesta página porque demorou demais. O tempo máximo permitido para marcar é de $1ms, e seu computador demorou $2ms. Tente fechar algumas abas e programas e clique em "Mostrar previsão" ou "Mostrar alterações". Se isso não funcionar, tente usar um outro navegador web, e se ainda não funcionar, tente em um computador mais rápido.',ru:"Подсветка синтаксиса на странице была отключена, так как заняла слишком долго. Максимальное допустимое время операции - $1мс, сейчас на вашем компьютере она заняла $2мс. Попробуйте закрыть несколько вкладок и программ, затем нажать «Предварительный просмотр» или «Внесённые изменения». Если это не поможет, попробуйте другой браузер; если и это не поможет, используйте более быстрый компьютер.",sr:"Истицање синтаксе на овој страници је онемогућено јер се одвија предуго. Максимално дозвољено време истицања је $1ms, а на Вашем рачунару траје $2ms. Покушајте затворити неке картице и програме или кликните на „Прикажи претпреглед” или „Прикажи измене”. Ако то не ради, покушајте са другим веб-прегледачем, а ако и тада не ради, покушајте са бржим рачунаром.",vec:'L\'evidensiasion de łe sintasi so sta voxe ła xe dexabiłitada par che ła ga dimandà masa tenpo. El tenpo màsemo par l\'evidensiasion ła xe de $1ms e al to dispoxidivo a ghene xe cadesti $2ms. Proa a sarar calche scheda e programa e recarga ła pàjina schiciando so "Varda ła anteprima" o "Mostra canbiaminti". Se no el funsiona oncora, proa co on altro navegador web difarente e, cofà ùltema alternadiva, proa a doparar on dispoxidivo pì sèłero.',zh:"此页面上的语法突出显示被禁用,因为它花费的时间太长。允许的突出显示时间最长为$1毫秒,而您的计算机则为$2毫秒。请尝试关闭一些标签和程序,然后单击“显示预览”或“显示更改”。如果不起作用,请尝试使用其他网页浏览器,如果还不起作用,请尝试使用速度更快的计算机。"},n=mw.config.get("wgUserLanguage"),a=a[n]||a[n.substring(0,n.indexOf("-"))]||a.en;return g.style.backgroundColor="",g.style.marginTop="0",l.removeAttribute("dir"),l.removeAttribute("lang"),l.setAttribute("style","color:red; font-size:small"),void(l.textContent=a.replace("$1",syntaxHighlighterConfig.timeout).replace("$2",t-e))}if(b<r){for(var s=document.createDocumentFragment();s.appendChild(document.createElement("span")).id="s"+ ++b,b<r;);l.appendChild(s)}o=o.substring(2).replace(/\n/g,"\\A ")+"'}",o+="#wpTextbox0>span::after{visibility:hidden}",d.nodeValue=o}function R(){l.scrollLeft=g.scrollLeft}function B(){l.scrollTop=g.scrollTop}function a(){l.dir=g.dir}function n(){g.previousSibling!=l&&(g.parentNode.insertBefore(l,g),f.disconnect(),f.observe(g.parentNode,{childList:!0}))}function s(){var e;g.value!=c&&E(),g.scrollLeft!=l.scrollLeft&&R(),g.scrollTop!=l.scrollTop&&B(),g.offsetHeight!=l.offsetHeight&&(e=g.offsetHeight+"px",l.style.height=e,g.style.marginTop="-"+e)}function i(){var e,t,i;function o(e,t,i){void 0===syntaxHighlighterConfig[e]&&(syntaxHighlighterConfig[e]=syntaxHighlighterSiteConfig[e]),"normal"==syntaxHighlighterConfig[e]?syntaxHighlighterConfig[e]=t:void 0!==syntaxHighlighterConfig[e]||(void 0!==syntaxHighlighterConfig.defaultColor&&i?syntaxHighlighterConfig[e]=syntaxHighlighterConfig.defaultColor:syntaxHighlighterConfig[e]=t)}(g=document.getElementById("wpTextbox1"))&&(window.syntaxHighlighterSiteConfig=window.syntaxHighlighterSiteConfig||{},window.syntaxHighlighterConfig=window.syntaxHighlighterConfig||{},o("backgroundColor","#FFF",!1),o("foregroundColor","#000",!1),o("boldOrItalicColor","#EEE",!0),o("commentColor","#EFE",!0),o("entityColor","#DFD",!0),o("externalLinkColor","#EFF",!0),o("headingColor","#EEE",!0),o("hrColor","#EEE",!0),o("listOrIndentColor","#EFE",!0),o("parameterColor","#FC6",!0),o("signatureColor","#FC6",!0),o("tagColor","#FEF",!0),o("tableColor","#FFC",!0),o("templateColor","#FFC",!0),o("wikilinkColor","#EEF",!0),syntaxHighlighterConfig.nowikiTags=syntaxHighlighterConfig.nowikiTags||syntaxHighlighterSiteConfig.nowikiTags||["nowiki","pre"],syntaxHighlighterConfig.sourceTags=syntaxHighlighterConfig.sourceTags||syntaxHighlighterSiteConfig.sourceTags||["math","syntaxhighlight","source","timeline","hiero"],syntaxHighlighterConfig.timeout=syntaxHighlighterConfig.timeout||syntaxHighlighterSiteConfig.timeout||30,syntaxHighlighterConfig.nowikiTags.forEach(function(e){L[e]=new RegExp("(</"+e+">)\n*|"+r,"gm")}),l=document.createElement("div"),e=document.createElement("style"),d=e.appendChild(document.createTextNode("")),i="vertical"==(t=window.getComputedStyle(g)).resize||"both"==t.resize?"vertical":"none",l.dir=g.dir,l.id="wpTextbox0",l.lang=g.lang,l.style.backgroundColor=syntaxHighlighterConfig.backgroundColor,l.style.borderBottomLeftRadius=t.borderBottomLeftRadius,l.style.borderBottomRightRadius=t.borderBottomRightRadius,l.style.borderBottomStyle=t.borderBottomStyle,l.style.borderBottomWidth=t.borderBottomWidth,l.style.borderColor="transparent",l.style.borderLeftStyle=t.borderLeftStyle,l.style.borderLeftWidth=t.borderLeftWidth,l.style.borderRightStyle=t.borderRightStyle,l.style.borderRightWidth=t.borderRightWidth,l.style.borderTopLeftRadius=t.borderTopLeftRadius,l.style.borderTopRightRadius=t.borderTopRightRadius,l.style.borderTopStyle=t.borderTopStyle,l.style.borderTopWidth=t.borderTopWidth,l.style.boxSizing="border-box",l.style.clear=t.clear,l.style.fontFamily=t.fontFamily,l.style.fontSize=t.fontSize,l.style.lineHeight="normal",l.style.marginBottom="0",l.style.marginLeft="0",l.style.marginRight="0",l.style.marginTop="0",l.style.overflowX="auto",l.style.overflowY="scroll",l.style.resize=i,l.style.tabSize=t.tabSize,l.style.whiteSpace="pre-wrap",l.style.width="100%",l.style.wordWrap="normal",g.style.backgroundColor="transparent",g.style.borderBottomLeftRadius=t.borderBottomLeftRadius,g.style.borderBottomRightRadius=t.borderBottomRightRadius,g.style.borderBottomStyle=t.borderBottomStyle,g.style.borderBottomWidth=t.borderBottomWidth,g.style.borderLeftStyle=t.borderLeftStyle,g.style.borderLeftWidth=t.borderLeftWidth,g.style.borderRightStyle=t.borderRightStyle,g.style.borderRightWidth=t.borderRightWidth,g.style.borderTopLeftRadius=t.borderTopLeftRadius,g.style.borderTopRightRadius=t.borderTopRightRadius,g.style.borderTopStyle=t.borderTopStyle,g.style.borderTopWidth=t.borderTopWidth,g.style.boxSizing="border-box",g.style.clear=t.clear,g.style.color=syntaxHighlighterConfig.foregroundColor,g.style.fontFamily=t.fontFamily,g.style.fontSize=t.fontSize,g.style.lineHeight="normal",g.style.marginBottom=t.marginBottom,g.style.marginLeft="0",g.style.marginRight="0",g.style.overflowX="auto",g.style.overflowY="scroll",g.style.padding="0",g.style.resize=i,g.style.tabSize=t.tabSize,g.style.whiteSpace="pre-wrap",g.style.width="100%",g.style.wordWrap="normal",g.style.height=l.style.height=g.offsetHeight+"px",g.style.marginTop=-g.offsetHeight+"px",g.parentNode.insertBefore(l,g),document.head.appendChild(e),g.addEventListener("input",E),g.addEventListener("scroll",R),g.addEventListener("scroll",B),(y=new MutationObserver(a)).observe(g,{attributes:!0}),(f=new MutationObserver(n)).observe(g.parentNode,{childList:!0}),p=setInterval(s,500),E())}var o=mw.config.get("wgAction"),e=$.client.profile().layout;"edit"!=o&&"submit"!=o||"wikitext"!=mw.config.get("wgPageContentModel")||"trident"==e||"edge"==e||("complete"==document.readyState?i():window.addEventListener("load",i))});