Content deleted Content added
PeterSymonds (talk | contribs) m moved User:Lenore/autolink.js/dev.js to User:Lenore/autolink.js: User request |
BETA version! |
||
Line 24:
if (document.getElementById('bodyContent'))
// MonoBook-like skins
Line 30:
if (document.getElementById('mw_content'))
// Modern skin
else
// Older skins
Line 45:
*/___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:Contributi') != -1 || /*
*/___location.href.indexOf('Special:Contributions') != -1;
Line 51 ⟶ 53:
autolinkDiff = ___location.href.indexOf('&diff=') != -1;
// It says if I'm in a diff page
autolinkTargetDiv = new Array();
if (autolinkDiff) {
autolinkTargetDiv = autolinkBody.getElementsByClassName('diff');
} else {
if (!autolinkCrono)
autolinkTargetDiv = autolinkBody.getElementsByTagName('pre','tt','code','source');
else
autolinkTargetDiv[0] = autolinkBody;
}
/* ------------------------------------------ Regex --------------------------------------------- */
Line 56 ⟶ 76:
if (autolinkCrono) {
var autolinkColor = ''; //
autolinkRegexURLinWcodeWoLabel = /()\[{1}((?:https?|ftps?):\/\/[^\s]+?)\s*\]{1}()/g;
Line 66 ⟶ 86:
} else {
var autolinkColor = 'inherit'; //
autolinkRegexURLinWcodeWoLabel = /(\[{1})((?:https?|ftps?):\/\/[^\s]+?)(\s*\]{1})/g;
Line 76 ⟶ 96:
}
autolinkRegexURL = /([^>"
// External links (no wikicode)
autolinkRegexWlink = /\[{2}([^\[\]<>\n]*?)(\<span class\="diffchange"\>|)([^\[\]<>\n]*?)(\<\/span\>|)([^\[\]<>\n]*?)(|\|[^\n]*?)\]{2}/g;
// Wikilinks
autolinkRegexTemplate = /\{{2}([Ss][Uu][Bb][Ss][Tt]\:|[Mm][Ss][Gg]\:|[Mm][Ss][Gg][Nn][Ww]\:|)([^\{\}\:\|<>\n]
// Templates
autolinkRegexInternalURL = /([^\=])('|")((?:\/?w\/index\.php\?|\/?wiki\/)[^\s]+?)\2/g;
// External links (no wikicode, under wgServer)
autolinkRegexImportScript = /([Ii]mport[Ss]cript\<span class\="br0"\>\(\<\/span\>\<span class\="st0"\>)('|")([^\|<>\n]+?)(\2\<\/span\>\<span class\="br0"\>\)\<\/span\>)/g;
// ImportScript
/* ---------------------------------------------------------------------------------------------- */
for (i=0; i<autolinkTargetDiv.length; i++) {
autolinkContent = autolinkTargetDiv[i].innerHTML;
if (autolinkParseLink == true || !autolinkDiff) {
// Qui vanno tutte le sostituzioni fatte anche dal wikEd nelle diff
'$1<a class="autolink" style="color:' + autolinkColor + '" href="$2">$2</a>$3');
// Make external links in wikicode without label into links
'$1<a class="autolink" style="color:' + autolinkColor + '" href="$2">$3$4</a>$5');
// Make external links in wikicode with label into links
'$1<a class="autolink" style="color:' + autolinkColor + '" href="$2">$2</a>');
// Parse inactive external links (no wikicode)
autolinkContent = autolinkContent.replace(autolinkRegexWlink,
'[[<a class="autolink" style="color:' + autolinkColor + '" href="/wiki/$1$3$5">$1$2$3$4$5</a>$6]]');
// Make wikilink code into links
autolinkContent = autolinkContent.replace(autolinkRegexTemplate,
'{{<a class="autolink" style="color:' + autolinkColor + '" href="/wiki/Help:$1">$1</a><a class="autolink" style="color:' + autolinkColor + '" href="/wiki/Template:$2">$2</a>$3');
// Make template code into links
}
'
//
'
//
}
});
|