New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Wikipedia:Scripts/chatzilla/wikilinks2.js - Wikipedia, the free encyclopedia

Wikipedia:Scripts/chatzilla/wikilinks2.js

From Wikipedia, the free encyclopedia

< Wikipedia:Scripts | chatzilla
//***********************************************
// IceKarma's WikiLinks script for ChatZilla
// Version 1.2
//   1.2 by James Ross: fix the normal links by shunting the
//       word-hyphenator as well.
// Version 2.0
//   2.0 By Glen Mailer:
//        - Converted to new plugin API
//        - Ripped out a whole load of unused stuff
//        - Also Made to fit chatzilla coding pedantics
//   2.1 By Alphax:
//        - Added basic template linking functionality
//   2.2 By Alphax:
//        - subst: and pipes now handled correctly in templates
//   2.3 by Pathoschild:
//        - reverted to 2.2 (2.3 broke all links with non-interlanguage prefixes)
//        - fixed mailto: wikilink glitch (based on 2.3 code by Stigmj)
//   2.4 By Stigmj:
//        - added support for handling mirc-colors.
// This file is hereby placed by the author into the public domain.

plugin.id = "WikiLinks";

plugin.prefary = [
    ["class", "wiki-link", ""],
];

//
// Plugin management
//

plugin.init = 
function init(glob) {
    plugin.major = 2;
    plugin.minor = 4;
    plugin.version = plugin.major + "." + plugin.minor;
    plugin.description =
    "Munges wiki-links to be clickable in the output window";
    plugin.prefary = plugin.prefary.concat(plugin.prefary);
}

plugin.disable = 
function disable()
{
    client.munger.delRule("wiki-link");
    client.munger.delRule("wiki-template-link");
    client.commandManager.removeCommands(plugin.commands);

    display( plugin.id + " v" + plugin.version + " disabled.");
    
    return true;
}

plugin.enable = 
function enable()
{

    client.munger.addRule("wiki-link", /(\[([\x1f\x02\x0f\x03\x16]\d\d)*\[.+?\]([\x1f\x02\x0f\x03\x16]\d\d)*\])/, insertWikiLink);
    client.munger.addRule("wiki-template-link", /(\{([\x1f\x02\x0f\x03\x16]\d\d)*\{.+?\}([\x1f\x02\x0f\x03\x16]\d\d)*\})/, insertWikiTemplateLink);

    // ugly hack to cause the munger to evaluate wiki-link before these rules
    var tmp1 = client.munger.entries[".mirc-colors"];
    var tmp2 = client.munger.entries[".mirc-bold"];
    var tmp3 = client.munger.entries[".mirc-underline"];
    var tmp4 = client.munger.entries[".mirc-color-reset"];
    var tmp5 = client.munger.entries[".mirc-reverse"];
    var tmp6 = client.munger.entries["ctrl-char"];
    var tmp7 = client.munger.entries["link"];
    var tmp8 = client.munger.entries["mailto"];
    var tmp9 = client.munger.entries["bugzilla-link"];
    var tmp10 = client.munger.entries["channel-link"];
    var tmp11 = client.munger.entries["word-hyphenator"];
    delete client.munger.entries[".mirc-colors"];
    delete client.munger.entries[".mirc-bold"];
    delete client.munger.entries[".mirc-underline"];
    delete client.munger.entries[".mirc-color-reset"];
    delete client.munger.entries[".mirc-reverse"];
    delete client.munger.entries["ctrl-char"];
    delete client.munger.entries["link"];
    delete client.munger.entries["mailto"];
    delete client.munger.entries["bugzilla-link"];
    delete client.munger.entries["channel-link"];
    delete client.munger.entries["word-hyphenator"];
    client.munger.entries[".mirc-colors"] = tmp1;
    client.munger.entries[".mirc-bold"] = tmp2;
    client.munger.entries[".mirc-underline"] = tmp3;
    client.munger.entries[".mirc-color-reset"] = tmp4;
    client.munger.entries[".mirc-reverse"] = tmp5;
    client.munger.entries["ctrl-char"] = tmp6;
    client.munger.entries["link"] = tmp7;
    client.munger.entries["mailto"] = tmp8;
    client.munger.entries["bugzilla-link"] = tmp9;
    client.munger.entries["channel-link"] = tmp10;
    client.munger.entries["word-hyphenator"] = tmp11;

    var cmdary = [
        [ "wiki-links-class", cmdClass, CMD_CONSOLE, "[<className>]" ],
    ];

    plugin.commands = client.commandManager.defineCommands(cmdary);

    display( plugin.id + " v" + plugin.version + " enabled.");
    
    return true;

}


//
// Mungers
//

function insertWikiLink(matchText,containerTag) {
    var wikiLink = matchText;
    var linkTitle;

    wikiLink  = matchText.replace(/^\[([\x1f\x02\x0f\x03\x16]\d\d)*\[([\x1f\x02\x0f\x03\x16]\d\d)*/, "");
    wikiLink  = wikiLink.replace(/([\x1f\x02\x0f\x03\x16]\d\d)*\]([\x1f\x02\x0f\x03\x16]\d\d)*\]$/, "");
    linkTitle = wikiLink;
    if (linkTitle.match(/\|/)) {
        var ary = linkTitle.match(/^(.*?)\|(.*)$/);
        wikiLink = ary[1];
        linkTitle = ary[2];
    }
    wikiLink = escape(wikiLink.replace(/ /g, "_"));

    var anchor = document.createElementNS( "http://www.w3.org/1999/xhtml",
                                           "html:a");
    anchor.setAttribute("href", "http://en.wikipedia.org/wiki/" + wikiLink);
    anchor.setAttribute("class", "chatzilla-link "+plugin.prefs["class"]);

    insertHyphenatedWord(linkTitle, anchor);
    containerTag.appendChild(document.createTextNode("[["));
    containerTag.appendChild(anchor);
    containerTag.appendChild(document.createTextNode("]]"));
}

function insertWikiTemplateLink(matchText,containerTag) {
    var wikiLink = matchText;
    var linkTitle;

    wikiLink  = matchText.replace(/^\{([\x1f\x02\x0f\x03\x16]\d\d)*\{([\x1f\x02\x0f\x03\x16]\d\d)*/, "");
    wikiLink  = wikiLink.replace(/([\x1f\x02\x0f\x03\x16]\d\d)*\}([\x1f\x02\x0f\x03\x16]\d\d)*\}$/, "");
    linkTitle = wikiLink;
    if (linkTitle.match(/^subst:/))
    {
        var ary = linkTitle.match(/^(subst:)(.*)$/);
        wikiLink = ary[2];
    }
    if (linkTitle.match(/\|/))
    {
        if(linkTitle.match(/^subst:/))
        {
            var ary = linkTitle.match(/^(subst:)(.*?)\|(.*)$/);
            wikiLink = ary[2];
        }
        else
        {
            var ary = linkTitle.match(/^(.*?)\|(.*)$/);
            wikiLink = ary[1];
        }
    }
    wikiLink = escape(wikiLink.replace(/ /g, "_"));

    var anchor = document.createElementNS( "http://www.w3.org/1999/xhtml",
                                           "html:a");
    anchor.setAttribute("href", "http://en.wikipedia.org/wiki/Template:" + wikiLink);
    anchor.setAttribute("class", "chatzilla-link "+plugin.prefs["class"]);

    insertHyphenatedWord(linkTitle, anchor);
    containerTag.appendChild(document.createTextNode("{{"));
    containerTag.appendChild(anchor);
    containerTag.appendChild(document.createTextNode("}}"));
}

//
// Commands
//

function cmdClass(e) {
    if ( null != e.linkclass )
        plugin.prefs["class"] = e.linkclass;
    display( "Current value: " + plugin.prefs["class"] );
}

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu