Difference between revisions 137630 and 138274 on testwiki/// PerfektesChaos/js/WikisyntaxTextMod/?O.js // WikisyntaxTextMod: Objects for wiki syntax specific code /// 2012-06-1627 [email protected] /// Fingerprint: #0#0# /// <nowiki> /* jshint curly:true, latedef:true, laxbreak:true, trailing:true, undef:true, white:false */ /* global mw: true, mediaWiki: false */ /*jslint plusplus: true, regexp: true, sloppy: true, unparam: true, vars: true, white: true, maxerr: 50 */ /*globals mw: true, mediaWiki: false */ if (typeof(mediaWiki) !== "object") { // disconnected mw = { libs: { WikiSyntaxTextMod: { } }, log: function () {} }; } if (typeof(mw.libs.WikiSyntaxTextMod) !== "object") { // isolated mw.libs.WikiSyntaxTextMod = { }; } if (typeof(mw.libs.WikiSyntaxTextMod.o) !== "object") { mw.libs.WikiSyntaxTextMod.o = { }; } mw.libs.WikiSyntaxTextMod.o.vsn = -4.612; if (typeof(mw.libs.WikiSyntaxTextMod.bb) !== "object") { mw.libs.WikiSyntaxTextMod.bb = { }; } if (typeof(mw.libs.WikiSyntaxTextMod.debugging) !== "object") { mw.libs.WikiSyntaxTextMod.debugging = { debugging: false }; } (contracted; show full) // >< .score // < .lead // < .slang // .extend() // .str.trimL() // .l10n.lang.flop() // .str.trimR() // 2012-06- 027 [email protected] var learnt = false; var left = false; var r = false; var s = this.score.substr(0, ahead); var slang = false; // language specification var story; // heading part of article title s = WSTM.str.trimL(s, false); if (s.length < ahead) { story = s;⏎ learnt = true; } // trimmed story = WSTM.l10n.lang.flop(s); if (! story) { slang = WSTM.str.trimR(s, false).toLowerCase(); if (slang !== s) { learnt = true; } } // matching lang? mw.log(WSTM.debugging,".o.Wikilink.language "+story,0);⏎ if (! slang) { if (this.justify) { switch (this.justify) { case 1 : slang = false; learnt = story; break; case 2 : slang = "en"; learnt = true; break; } // switch this.justify left = true; } } if (slang === WSTM.g.projLang) { slang = false; learnt = true; } if (learnt || slang || story) { // language or similar identified this.score = WSTM.str.trimL(this.score.substr(ahead + 1), false); if (story) { this.score = story + ":" + this.score; slang = false; } else { this.score = WSTM.str.trimL(this.score, ;⏎ if (left) { this.score = s + ":" + this.score; }⏎ } if (slang) { this.slang = slang + ":"; r = true; } this.extend(1); this.justify = false; } else { (contracted; show full) && this.justify === 2) { // no lang, but needed this.slang = "en:"; this.extend(1); this.lead = true; } if (this.slang) { // lang detected // 200A 8203 ZERO WIDTH SPACE used in bo: // 200B 8204 ZERO WIDTH NON-JOINER used in Farsi, kn: , mzn: // 200C 8205 ZERO WIDTH JOINER used in ml: if (this.score.indexOf(" ") >= 0) { re = new RegExp(" ", "g"); s = String.fromCharCode(8203); if (re.test(this.score)) { this.score = this.score.replace(re, s); } } if (this.score.indexOf("&zw") >= 0) { re = new RegExp("‌", "g"); if (re.test(this.score)) { (contracted; show full) // Emacs // Local Variables: // encoding: iso-8859-1-dos // fill-column: 80 // End: /// EOF </nowiki> WikiSyntaxTextMod/?O.js All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://test.wikipedia.org/w/index.php?diff=prev&oldid=138274.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|