User:Lenore/autolink.js: Difference between revisions

Content deleted Content added
m For "Speciale:PaginePiùRecenti"
Pagine speciali, svuota i campi testuali, fix vari alle regex dovuti a "diffchange"
Line 6:
addOnloadHook (function () {
 
autolinkCronoSpecial = wgCanonicalSpecialPageName == "Recentchanges" || /*
if (___location.href.indexOf('&action=edit') != -1
*/ wgCanonicalSpecialPageName == "Watchlist" || /*
|| ___location.href.indexOf('&action=submit') != -1
*/ wgCanonicalSpecialPageName == "Recentchangeslinked" || /*
|| ___location.href.indexOf('Special%3A') != -1
*/ wgCanonicalSpecialPageName == "Newpages" || /*
|| ___location.href.indexOf('Speciale%3A') != -1) {
*/ wgCanonicalSpecialPageName == "Log" || /*
*/ wgCanonicalSpecialPageName == "Contributions";
// Special crono pages where this script is enabled
 
if (___location.href.indexOf('&action=edit') != -1 || /*
return; // Disabled in edit, submit and some critic pages
||*/ ___location.href.indexOf('&action=submit') != -1 || /*
*/ (wgCanonicalNamespace == "Special" && !autolinkCronoSpecial) /*
*/) {
 
return; // Disabled in edit, submit and somein criticthe other special pages
 
}
Line 40 ⟶ 48:
/* ---------------------------------------- Variables ------------------------------------------- */
 
autolinkCrono = ___location.href.indexOf('&action=history') != -1 || /*autolinkCronoSpecial;
*/___location.href.indexOf('Speciale:UltimeModifiche') != -1 || /*
*/___location.href.indexOf('Special:RecentChanges') != -1 || /*
*/___location.href.indexOf('Speciale:OsservatiSpeciali') != -1 || /*
*/___location.href.indexOf('Special:Watchlist') != -1 || /*
*/___location.href.indexOf('Speciale:ModificheCorrelate') != -1 || /*
*/___location.href.indexOf('Special:RecentChangesLinked') != -1 || /*
*/(___location.href.indexOf('Speciale:') != -1 && document.title.indexOf('Pagine più recenti') != -1) || /*
*/___location.href.indexOf('Special:NewPages') != -1 || /*
*/___location.href.indexOf('Speciale:Registri') != -1 || /*
*/___location.href.indexOf('Special:Log') != -1 || /*
*/___location.href.indexOf('Speciale:Contributi') != -1 || /*
*/___location.href.indexOf('Special:Contributions') != -1;
// It says if I'm in a history page
 
Line 62 ⟶ 58:
if (autolinkDiff) {
 
autolinkTargetDiv = autolinkBody.getElementsByClassName('diff', 'firstrevisionheader');
 
} else {
Line 79 ⟶ 75:
 
if (autolinkCrono) {
 
var autolinkInputs = document.getElementsByTagName('input');
 
for (i=0; i<autolinkInputs.length; i++)
 
if (autolinkInputs[i].type == "text") {
 
autolinkInputs[i].setAttribute('value', ""); // Svuota i campi testuali
 
}
 
var autolinkColor = ''; // Link color in history pages
Line 100 ⟶ 106:
}
 
autolinkRegexURL = /((?:[^>"\[]|[^\=]")(?:\<span class\="diffchange"\>|))((?:https?|ftps?):\/\/[^\{\}]+?)((?:\<\/span\>|)[\s\]\)\|\}'"])/g;
// External links (no wikicode)
 
autolinkRegexWlink = /(\<span class\="diffchange"\>|)\[{2}(\<\/span\>|)([^\[\]<>\n]*?)(\<span class\="diffchange"\>|)([^\[\]<>\n]*?)(\<\/span\>|)([^\[\]<>\n]*?)(|\|[^\n]*?)(\<span class\="diffchange"\>|)\]{2}(\<\/span\>|)/g;
// Wikilinks
 
autolinkRegexTemplate = /(\<span class\="diffchange"\>|)\{{2}(\<\/span\>|)(\<span class\="diffchange"\>|)([Ss][Uu][Bb][Ss][Tt]\:|[Mm][Ss][Gg]\:|[Mm][Ss][Gg][Nn][Ww]\:|)(\<\/span\>|)([^\{\}\:\&\|<>\n]*?)(\<span class\="diffchange"\>|)([^\{\}\:\&\|<>\n]*?)(\<\/span\>|)([^\{\}\:\&\|<>\n]*?)(\s*(?:(?:\:|\|)|\}{2}))/g;
// Templates
 
Line 137 ⟶ 143:
 
autolinkContent = autolinkContent.replace(autolinkRegexWlink,
'$1[[$2<a class="autolink" style="color:' + autolinkColor + '" href="/wiki/$1$3$5$7">$1$2$3$4$5$6$7$8</a>$69]]$10');
// Make wikilink code into links
 
autolinkContent = autolinkContent.replace(autolinkRegexTemplate,
'$1{{$2$3<a class="autolink" style="color:' + autolinkColor + '" href="/wiki/Help:$14">$14</a>$5<a class="autolink" style="color:' + autolinkColor + '" href="/wiki/Template:$26$48$610">$26$37$48$59$610</a>$711');
// Make template code into links