משתמש:Mikimik/js/sisterwikis.js
מראה
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
function checkIfWikiExists ( url )
{
SiteMatrix = "|" + // from [[en:Special:SiteMatrix]]
"aa.wikipedia|" + "aa.wiktionary|" + "aa.wikibooks|" +
"ab.wikipedia|" + "ab.wiktionary|" +
"ace.wikipedia|" +
"af.wikipedia|" + "af.wiktionary|" + "af.wikibooks|" + "af.wikiquote|" +
"ak.wikipedia|" + "ak.wiktionary|" + "ak.wikibooks|" +
"als.wikipedia|" + "als.wiktionary|" + "als.wikibooks|" + "als.wikiquote|" +
"am.wikipedia|" + "am.wiktionary|" + "am.wikiquote|" +
"an.wikipedia|" + "an.wiktionary|" +
"ang.wikipedia|" + "ang.wiktionary|" + "ang.wikibooks|" + "ang.wikiquote|" + "ang.wikisource|" +
"ar.wikipedia|" + "ar.wiktionary|" + "ar.wikibooks|" + "ar.wikinews|" + "ar.wikiquote|" + "ar.wikisource|" +
"arc.wikipedia|" +
"arz.wikipedia|" +
"as.wikipedia|" + "as.wiktionary|" + "as.wikibooks|" +
"ast.wikipedia|" + "ast.wiktionary|" + "ast.wikibooks|" + "ast.wikiquote|" +
"av.wikipedia|" + "av.wiktionary|" +
"ay.wikipedia|" + "ay.wiktionary|" + "ay.wikibooks|" +
"az.wikipedia|" + "az.wiktionary|" + "az.wikibooks|" + "az.wikiquote|" + "az.wikisource|" +
"ba.wikipedia|" + "ba.wikibooks|" +
"bar.wikipedia|" +
"bat-smg.wikipedia|" +
"bcl.wikipedia|" +
"be.wikipedia|" + "be.wiktionary|" + "be.wikibooks|" + "be.wikiquote|" +
"be-x-old.wikipedia|" +
"bg.wikipedia|" + "bg.wiktionary|" + "bg.wikibooks|" + "bg.wikinews|" + "bg.wikiquote|" + "bg.wikisource|" +
"bh.wikipedia|" + "bh.wiktionary|" +
"bi.wikipedia|" + "bi.wiktionary|" + "bi.wikibooks|" +
"bjn.wikipedia|" +
"bm.wikipedia|" + "bm.wiktionary|" + "bm.wikibooks|" + "bm.wikiquote|" +
"bn.wikipedia|" + "bn.wiktionary|" + "bn.wikibooks|" + "bn.wikisource|" +
"bo.wikipedia|" + "bo.wiktionary|" + "bo.wikibooks|" +
"bpy.wikipedia|" +
"br.wikipedia|" + "br.wiktionary|" + "br.wikiquote|" +
"bs.wikipedia|" + "bs.wiktionary|" + "bs.wikibooks|" + "bs.wikinews|" + "bs.wikiquote|" + "bs.wikisource|" +
"bug.wikipedia|" +
"bxr.wikipedia|" +
"ca.wikipedia|" + "ca.wiktionary|" + "ca.wikibooks|" + "ca.wikinews|" + "ca.wikiquote|" + "ca.wikisource|" +
"cbk-zam.wikipedia|" +
"cdo.wikipedia|" +
"ce.wikipedia|" +
"ceb.wikipedia|" +
"ch.wikipedia|" + "ch.wiktionary|" + "ch.wikibooks|" +
"cho.wikipedia|" +
"chr.wikipedia|" + "chr.wiktionary|" +
"chy.wikipedia|" +
"ckb.wikipedia|" +
"co.wikipedia|" + "co.wiktionary|" + "co.wikibooks|" + "co.wikiquote|" +
"cr.wikipedia|" + "cr.wiktionary|" + "cr.wikiquote|" +
"crh.wikipedia|" +
"cs.wikipedia|" + "cs.wiktionary|" + "cs.wikibooks|" + "cs.wikinews|" + "cs.wikiquote|" + "cs.wikisource|" +
"csb.wikipedia|" + "csb.wiktionary|" +
"cu.wikipedia|" +
"cv.wikipedia|" + "cv.wikibooks|" +
"cy.wikipedia|" + "cy.wiktionary|" + "cy.wikibooks|" + "cy.wikiquote|" + "cy.wikisource|" +
"da.wikipedia|" + "da.wiktionary|" + "da.wikibooks|" + "da.wikiquote|" + "da.wikisource|" +
"de.wikipedia|" + "de.wiktionary|" + "de.wikibooks|" + "de.wikinews|" + "de.wikiquote|" + "de.wikisource|" +
"diq.wikipedia|" +
"dsb.wikipedia|" +
"dv.wikipedia|" + "dv.wiktionary|" +
"dz.wikipedia|" + "dz.wiktionary|" +
"ee.wikipedia|" +
"el.wikipedia|" + "el.wiktionary|" + "el.wikibooks|" + "el.wikiquote|" + "el.wikisource|" +
"eml.wikipedia|" +
"en.wikipedia|" + "en.wiktionary|" + "en.wikibooks|" + "en.wikinews|" + "en.wikiquote|" + "en.wikisource|" +
"eo.wikipedia|" + "eo.wiktionary|" + "eo.wikibooks|" + "eo.wikiquote|" +
"es.wikipedia|" + "es.wiktionary|" + "es.wikibooks|" + "es.wikinews|" + "es.wikiquote|" + "es.wikisource|" +
"et.wikipedia|" + "et.wiktionary|" + "et.wikibooks|" + "et.wikiquote|" + "et.wikisource|" +
"eu.wikipedia|" + "eu.wiktionary|" + "eu.wikibooks|" + "eu.wikiquote|" +
"ext.wikipedia|" +
"fa.wikipedia|" + "fa.wiktionary|" + "fa.wikibooks|" + "fa.wikiquote|" + "fa.wikisource|" +
"ff.wikipedia|" +
"fi.wikipedia|" + "fi.wiktionary|" + "fi.wikibooks|" + "fi.wikinews|" + "fi.wikiquote|" + "fi.wikisource|" +
"fiu-vro.wikipedia|" +
"fj.wikipedia|" + "fj.wiktionary|" +
"fo.wikipedia|" + "fo.wiktionary|" + "fo.wikisource|" +
"fr.wikipedia|" + "fr.wiktionary|" + "fr.wikibooks|" + "fr.wikinews|" + "fr.wikiquote|" + "fr.wikisource|" +
"frp.wikipedia|" +
"frr.wikipedia|" +
"fur.wikipedia|" +
"fy.wikipedia|" + "fy.wiktionary|" + "fy.wikibooks|" +
"ga.wikipedia|" + "ga.wiktionary|" + "ga.wikibooks|" + "ga.wikiquote|" +
"gag.wikipedia|" +
"gan.wikipedia|" +
"gd.wikipedia|" + "gd.wiktionary|" +
"gl.wikipedia|" + "gl.wiktionary|" + "gl.wikibooks|" + "gl.wikiquote|" + "gl.wikisource|" +
"glk.wikipedia|" +
"gn.wikipedia|" + "gn.wiktionary|" + "gn.wikibooks|" +
"got.wikipedia|" + "got.wikibooks|" +
"gu.wikipedia|" + "gu.wiktionary|" + "gu.wikibooks|" + "gu.wikiquote|" +
"gv.wikipedia|" + "gv.wiktionary|" +
"ha.wikipedia|" + "ha.wiktionary|" +
"hak.wikipedia|" +
"haw.wikipedia|" +
"he.wikipedia|" + "he.wiktionary|" + "he.wikibooks|" + "he.wikinews|" + "he.wikiquote|" + "he.wikisource|" +
"hi.wikipedia|" + "hi.wiktionary|" + "hi.wikibooks|" + "hi.wikiquote|" +
"hif.wikipedia|" +
"ho.wikipedia|" +
"hr.wikipedia|" + "hr.wiktionary|" + "hr.wikibooks|" + "hr.wikiquote|" + "hr.wikisource|" +
"hsb.wikipedia|" + "hsb.wiktionary|" +
"ht.wikipedia|" + "ht.wikisource|" +
"hu.wikipedia|" + "hu.wiktionary|" + "hu.wikibooks|" + "hu.wikinews|" + "hu.wikiquote|" + "hu.wikisource|" +
"hy.wikipedia|" + "hy.wiktionary|" + "hy.wikibooks|" + "hy.wikiquote|" + "hy.wikisource|" +
"hz.wikipedia|" +
"ia.wikipedia|" + "ia.wiktionary|" + "ia.wikibooks|" +
"id.wikipedia|" + "id.wiktionary|" + "id.wikibooks|" + "id.wikiquote|" + "id.wikisource|" +
"ie.wikipedia|" + "ie.wiktionary|" + "ie.wikibooks|" +
"ig.wikipedia|" +
"ii.wikipedia|" +
"ik.wikipedia|" + "ik.wiktionary|" +
"ilo.wikipedia|" +
"io.wikipedia|" + "io.wiktionary|" +
"is.wikipedia|" + "is.wiktionary|" + "is.wikibooks|" + "is.wikiquote|" + "is.wikisource|" +
"it.wikipedia|" + "it.wiktionary|" + "it.wikibooks|" + "it.wikinews|" + "it.wikiquote|" + "it.wikisource|" +
"iu.wikipedia|" + "iu.wiktionary|" +
"ja.wikipedia|" + "ja.wiktionary|" + "ja.wikibooks|" + "ja.wikinews|" + "ja.wikiquote|" + "ja.wikisource|" +
"jbo.wikipedia|" + "jbo.wiktionary|" +
"jv.wikipedia|" + "jv.wiktionary|" +
"ka.wikipedia|" + "ka.wiktionary|" + "ka.wikibooks|" + "ka.wikiquote|" +
"kaa.wikipedia|" +
"kab.wikipedia|" +
"kbd.wikipedia|" +
"kg.wikipedia|" +
"ki.wikipedia|" +
"kj.wikipedia|" +
"kk.wikipedia|" + "kk.wiktionary|" + "kk.wikibooks|" +
"kl.wikipedia|" + "kl.wiktionary|" +
"km.wikipedia|" + "km.wiktionary|" + "km.wikibooks|" +
"kn.wikipedia|" + "kn.wiktionary|" + "kn.wikiquote|" + "kn.wikisource|" +
"ko.wikipedia|" + "ko.wiktionary|" + "ko.wikibooks|" + "ko.wikiquote|" + "ko.wikisource|" +
"koi.wikipedia|" +
"kr.wikipedia|" + "kr.wikiquote|" +
"krc.wikipedia|" +
"ks.wikipedia|" + "ks.wiktionary|" + "ks.wikibooks|" + "ks.wikiquote|" +
"ksh.wikipedia|" +
"ku.wikipedia|" + "ku.wiktionary|" + "ku.wikibooks|" + "ku.wikiquote|" +
"kv.wikipedia|" +
"kw.wikipedia|" + "kw.wiktionary|" + "kw.wikiquote|" +
"ky.wikipedia|" + "ky.wiktionary|" + "ky.wikibooks|" + "ky.wikiquote|" +
"la.wikipedia|" + "la.wiktionary|" + "la.wikibooks|" + "la.wikiquote|" + "la.wikisource|" +
"lad.wikipedia|" +
"lb.wikipedia|" + "lb.wiktionary|" + "lb.wikibooks|" + "lb.wikiquote|" +
"lbe.wikipedia|" +
"lg.wikipedia|" +
"li.wikipedia|" + "li.wiktionary|" + "li.wikiquote|" + "li.wikisource|" +
"lij.wikipedia|" +
"lmo.wikipedia|" +
"ln.wikipedia|" + "ln.wiktionary|" + "ln.wikibooks|" +
"lo.wikipedia|" + "lo.wiktionary|" +
"lt.wikipedia|" + "lt.wiktionary|" + "lt.wikibooks|" + "lt.wikiquote|" + "lt.wikisource|" +
"ltg.wikipedia|" +
"lv.wikipedia|" + "lv.wiktionary|" + "lv.wikibooks|" +
"map-bms.wikipedia|" +
"mdf.wikipedia|" +
"mg.wikipedia|" + "mg.wiktionary|" + "mg.wikibooks|" +
"mh.wikipedia|" + "mh.wiktionary|" +
"mhr.wikipedia|" +
"mi.wikipedia|" + "mi.wiktionary|" + "mi.wikibooks|" +
"mk.wikipedia|" + "mk.wiktionary|" + "mk.wikibooks|" + "mk.wikisource|" +
"ml.wikipedia|" + "ml.wiktionary|" + "ml.wikibooks|" + "ml.wikiquote|" + "ml.wikisource|" +
"mn.wikipedia|" + "mn.wiktionary|" + "mn.wikibooks|" +
"mo.wikipedia|" + "mo.wiktionary|" +
"mr.wikipedia|" + "mr.wiktionary|" + "mr.wikibooks|" + "mr.wikiquote|" +
"mrj.wikipedia|" +
"ms.wikipedia|" + "ms.wiktionary|" + "ms.wikibooks|" +
"mt.wikipedia|" + "mt.wiktionary|" +
"mus.wikipedia|" +
"mwl.wikipedia|" +
"my.wikipedia|" + "my.wiktionary|" + "my.wikibooks|" +
"myv.wikipedia|" +
"mzn.wikipedia|" +
"na.wikipedia|" + "na.wiktionary|" + "na.wikibooks|" + "na.wikiquote|" +
"nah.wikipedia|" + "nah.wiktionary|" + "nah.wikibooks|" +
"nap.wikipedia|" +
"nds.wikipedia|" + "nds.wiktionary|" + "nds.wikibooks|" + "nds.wikiquote|" +
"nds-nl.wikipedia|" +
"ne.wikipedia|" + "ne.wiktionary|" + "ne.wikibooks|" +
"new.wikipedia|" +
"nl.wikipedia|" + "nl.wiktionary|" + "nl.wikibooks|" + "nl.wikiquote|" + "nl.wikisource|" +
"nn.wikipedia|" + "nn.wiktionary|" + "nn.wikiquote|" +
"no.wikipedia|" + "no.wiktionary|" + "no.wikibooks|" + "no.wikinews|" + "no.wikiquote|" + "no.wikisource|" +
"nomcom.wikipedia|" +
"nov.wikipedia|" +
"nrm.wikipedia|" +
"nv.wikipedia|" +
"ny.wikipedia|" +
"oc.wikipedia|" + "oc.wiktionary|" + "oc.wikibooks|" +
"om.wikipedia|" + "om.wiktionary|" +
"or.wikipedia|" + "or.wiktionary|" +
"os.wikipedia|" +
"pa.wikipedia|" + "pa.wiktionary|" + "pa.wikibooks|" +
"pag.wikipedia|" +
"pam.wikipedia|" +
"pap.wikipedia|" +
"pcd.wikipedia|" +
"pdc.wikipedia|" +
"pfl.wikipedia|" +
"pi.wikipedia|" + "pi.wiktionary|" +
"pih.wikipedia|" +
"pl.wikipedia|" + "pl.wiktionary|" + "pl.wikibooks|" + "pl.wikinews|" + "pl.wikiquote|" + "pl.wikisource|" +
"pms.wikipedia|" +
"pnb.wikipedia|" +
"pnt.wikipedia|" +
"ps.wikipedia|" + "ps.wiktionary|" + "ps.wikibooks|" +
"pt.wikipedia|" + "pt.wiktionary|" + "pt.wikibooks|" + "pt.wikinews|" + "pt.wikiquote|" + "pt.wikisource|" +
"qu.wikipedia|" + "qu.wiktionary|" + "qu.wikibooks|" + "qu.wikiquote|" +
"rm.wikipedia|" + "rm.wiktionary|" + "rm.wikibooks|" +
"rmy.wikipedia|" +
"rn.wikipedia|" + "rn.wiktionary|" +
"ro.wikipedia|" + "ro.wiktionary|" + "ro.wikibooks|" + "ro.wikinews|" + "ro.wikiquote|" + "ro.wikisource|" +
"roa-rup.wikipedia|" + "roa-rup.wiktionary|" +
"roa-tara.wikipedia|" +
"ru.wikipedia|" + "ru.wiktionary|" + "ru.wikibooks|" + "ru.wikinews|" + "ru.wikiquote|" + "ru.wikisource|" +
"rue.wikipedia|" +
"rw.wikipedia|" + "rw.wiktionary|" +
"sa.wikipedia|" + "sa.wiktionary|" + "sa.wikibooks|" +
"sah.wikipedia|" +
"sc.wikipedia|" + "sc.wiktionary|" +
"scn.wikipedia|" + "scn.wiktionary|" +
"sco.wikipedia|" +
"sd.wikipedia|" + "sd.wiktionary|" + "sd.wikinews|" +
"se.wikipedia|" + "se.wikibooks|" +
"sg.wikipedia|" + "sg.wiktionary|" +
"sh.wikipedia|" + "sh.wiktionary|" +
"si.wikipedia|" + "si.wiktionary|" + "si.wikibooks|" +
"simple.wikipedia|" + "simple.wiktionary|" + "simple.wikiquote|" +
"sk.wikipedia|" + "sk.wiktionary|" + "sk.wikibooks|" + "sk.wikiquote|" + "sk.wikisource|" +
"sl.wikipedia|" + "sl.wiktionary|" + "sl.wikibooks|" + "sl.wikiquote|" + "sl.wikisource|" +
"sm.wikipedia|" + "sm.wiktionary|" +
"sn.wikipedia|" + "sn.wiktionary|" +
"so.wikipedia|" + "so.wiktionary|" +
"sq.wikipedia|" + "sq.wiktionary|" + "sq.wikibooks|" + "sq.wikiquote|" +
"sr.wikipedia|" + "sr.wiktionary|" + "sr.wikibooks|" + "sr.wikinews|" + "sr.wikiquote|" + "sr.wikisource|" +
"srn.wikipedia|" +
"ss.wikipedia|" + "ss.wiktionary|" +
"st.wikipedia|" + "st.wiktionary|" +
"stq.wikipedia|" +
"su.wikipedia|" + "su.wiktionary|" + "su.wikibooks|" + "su.wikiquote|" +
"sv.wikipedia|" + "sv.wiktionary|" + "sv.wikibooks|" + "sv.wikinews|" + "sv.wikiquote|" + "sv.wikisource|" +
"sw.wikipedia|" + "sw.wiktionary|" + "sw.wikibooks|" +
"szl.wikipedia|" +
"ta.wikipedia|" + "ta.wiktionary|" + "ta.wikibooks|" + "ta.wikinews|" + "ta.wikiquote|" + "ta.wikisource|" +
"te.wikipedia|" + "te.wiktionary|" + "te.wikibooks|" + "te.wikiquote|" + "te.wikisource|" +
"tet.wikipedia|" +
"tg.wikipedia|" + "tg.wiktionary|" + "tg.wikibooks|" +
"th.wikipedia|" + "th.wiktionary|" + "th.wikibooks|" + "th.wikinews|" + "th.wikiquote|" + "th.wikisource|" +
"ti.wikipedia|" + "ti.wiktionary|" +
"tk.wikipedia|" + "tk.wiktionary|" + "tk.wikibooks|" + "tk.wikiquote|" +
"tl.wikipedia|" + "tl.wiktionary|" + "tl.wikibooks|" +
"tn.wikipedia|" + "tn.wiktionary|" +
"to.wikipedia|" + "to.wiktionary|" +
"tokipona.wikipedia|" + "tokipona.wiktionary|" + "tokipona.wikibooks|" + "tokipona.wikiquote|" +
"tpi.wikipedia|" + "tpi.wiktionary|" +
"tr.wikipedia|" + "tr.wiktionary|" + "tr.wikibooks|" + "tr.wikinews|" + "tr.wikiquote|" + "tr.wikisource|" +
"ts.wikipedia|" + "ts.wiktionary|" +
"tt.wikipedia|" + "tt.wiktionary|" + "tt.wikibooks|" + "tt.wikiquote|" +
"tum.wikipedia|" +
"tw.wikipedia|" + "tw.wiktionary|" +
"ty.wikipedia|" +
"udm.wikipedia|" +
"ug.wikipedia|" + "ug.wiktionary|" + "ug.wikibooks|" + "ug.wikiquote|" +
"uk.wikipedia|" + "uk.wiktionary|" + "uk.wikibooks|" + "uk.wikinews|" + "uk.wikiquote|" + "uk.wikisource|" +
"ur.wikipedia|" + "ur.wiktionary|" + "ur.wikibooks|" + "ur.wikiquote|" +
"uz.wikipedia|" + "uz.wiktionary|" + "uz.wikibooks|" + "uz.wikiquote|" +
"ve.wikipedia|" +
"vec.wikipedia|" +
"vi.wikipedia|" + "vi.wiktionary|" + "vi.wikibooks|" + "vi.wikiquote|" + "vi.wikisource|" +
"vls.wikipedia|" +
"vo.wikipedia|" + "vo.wiktionary|" + "vo.wikibooks|" + "vo.wikiquote|" +
"wa.wikipedia|" + "wa.wiktionary|" + "wa.wikibooks|" +
"war.wikipedia|" +
"wo.wikipedia|" + "wo.wiktionary|" + "wo.wikiquote|" +
"wuu.wikipedia|" +
"xal.wikipedia|" +
"xh.wikipedia|" + "xh.wiktionary|" + "xh.wikibooks|" +
"xmf.wikipedia|" +
"yi.wikipedia|" + "yi.wiktionary|" + "yi.wikisource|" +
"yo.wikipedia|" + "yo.wiktionary|" + "yo.wikibooks|" +
"za.wikipedia|" + "za.wiktionary|" + "za.wikiquote|" +
"zea.wikipedia|" +
"zh.wikipedia|" + "zh.wiktionary|" + "zh.wikibooks|" + "zh.wikinews|" + "zh.wikiquote|" + "zh.wikisource|" +
"zh-classical.wikipedia|" +
"zh-min-nan.wikipedia|" + "zh-min-nan.wiktionary|" + "zh-min-nan.wikibooks|" + "zh-min-nan.wikiquote|" + "zh-min-nan.wikisource|" +
"zh-yue.wikipedia|" +
"zu.wikipedia|" + "zu.wiktionary|" + "zu.wikibooks|";
return SiteMatrix.indexOf(url.replace(/^http:\/\/([a-z-]+\.[a-z]+)\..*$/i,"|$1|")) != -1;
}
/* adds a box to the sidebar with links to the sister projects */
/* written by [[he:User:Mikimik]] */
function sisterwikis()
{
function outputCommonsLink ( outNode, aNode )
{
if ( ( wgNamespaceNumber == 0 || wgNamespaceNumber == 14 ) && aNode.title != "commons:" )
{
var catNode = aNode.cloneNode(true);
if ( /^commons:category:/i.test(aNode.title) )
{
aNode.href = aNode.href.replace( /\/wiki\/category:/i, "/wiki/" );
aNode.title = aNode.title.replace( /:category:/i, ":" );
aNode.className = "";
}
else
{
catNode.href = catNode.href.replace( "/wiki/", "/wiki/Category:" );
catNode.title = catNode.title.replace( ":", ":Category:" );
catNode.className = "";
}
aNode.innerHTML = wgUserLanguage == "he" ? "דף" : "page";
catNode.innerHTML = wgUserLanguage == "he" ? "קט" : "cat";
outNode.appendChild (aNode);
outNode.appendChild (document.createTextNode("-"));
outNode.appendChild (catNode);
}
else
{
aNode.innerHTML = wgUserLanguage == "he" ? "שיתוף" : "commons";
outNode.appendChild (aNode);
}
return aNode.title.replace("commons:","").replace(/^commons( talk)?:/i,"Project$1:");
}
function titlesSimilar ( basetitle, title ) // this check won't work if the wiki-specific "project" (or "project talk") name is used by the sister link
{ // this case is unlikely so it is not treated. (eg. "wikiquote talk")
basetitle = basetitle.replace(/^\w+?:/, "") // remove "wxx:" from the beginning
.replace(/\s*\(.+\)$/, "") // remove " (xxx)" from the end
.toLowerCase();
title = title.replace(/^\w+?:/, "") // remove "wxx:" from the beginning
.replace(/\s*\(.+\)$/, "") // remove " (xxx)" from the end
.toLowerCase();
if ( wgNamespaceNumber != 0 )
{
if ( basetitle == title ) return true;
basetitle = basetitle.replace( /^.+?:/, wgCanonicalNamespace + ":" ); // replace "namespace" with the canonical namespace
}
return basetitle == title;
}
function createLanguageLink ( lang ) // lang = wiki language code
{
var liNode = document.getElementById("p-lang") ? document.getElementById("p-lang").getElementsByClassName("interwiki-" + lang) : [];
if ( liNode[0] )
{
var aNode = liNode[0].getElementsByTagName("a")[0].cloneNode(true);
aNode.className = "sisterwikiexists";
}
else
{
var aNode = document.createElement("a");
aNode.href = wgServer.replace(wgContentLanguage, lang) + "/wiki/" + ( wgCanonicalNamespace ? wgCanonicalNamespace + ":" : "" ) +
( wgNamespaceNumber >= 0 ? encodeWikiURL(wgTitle) : wgCanonicalSpecialPageName );
}
aNode.innerHTML = lang + (wgUserLanguage == "he" ? "‏" : "");
aNode.title = createTitle ( lang + ":", aNode.href );
return aNode;
}
function extractSisterLinkTemplate()
{
var outLinks = new Array();
var sisterTemplates = document.getElementById("bodyContent").getElementsByClassName("sisterwikilinkT");
for ( var index = 0 ; index < sisterTemplates.length ; index++ )
{
var linksInTemplate = sisterTemplates[index].getElementsByClassName("extiw");
for ( var i = (myLocalWiki == 0) ? 0 : 1 ; i < linksInTemplate.length ; i++ )
{
outLinks.push (linksInTemplate[i].cloneNode(true));
outLinks[outLinks.length-1].className = "sisterwikiexists";
}
}
return outLinks;
}
function createTitle ( prefix , url )
{
return prefix + // "prefix:"
decodeURIComponent(url) // decode URL
.replace(/.*\/wiki\//,"") // remove sitename - "http://xxxx/wiki/"
.replace(/_/g, " "); // replace "_" with " "
}
function encodeWikiURL ( url )
{
return encodeURIComponent ( url.replace(/ /g, "_") )
.replace(/%2F/g,"/").replace(/%24/g,"$").replace(/%2C/g,",").replace(/%3A/g,":").replace(/%40/g,"@"); // these chars are not encoded by wiki
}
try {
var fullName = new Array();
var shortName = new Array();
var titlePrefix = new Array();
fullName[0] = "wikipedia"; shortName[0] = wgUserLanguage == "he" ? "פדיה" : "pedia"; titlePrefix[0] = "w:";
fullName[1] = "wikiquote"; shortName[1] = wgUserLanguage == "he" ? "ציטוט" : "quote"; titlePrefix[1] = "q:";
fullName[2] = "wiktionary"; shortName[2] = wgUserLanguage == "he" ? "מילון" : "wikt"; titlePrefix[2] = "wikt:";
fullName[3] = "wikibooks"; shortName[3] = wgUserLanguage == "he" ? "ספר" : "books"; titlePrefix[3] = "b:";
fullName[4] = "wikisource"; shortName[4] = wgUserLanguage == "he" ? "טקסט" : "source"; titlePrefix[4] = "s:";
fullName[5] = "wikinews"; shortName[5] = wgUserLanguage == "he" ? "חדשות" : "news"; titlePrefix[5] = "n:";
var myLocalWiki = 0;
for ( ; myLocalWiki < fullName.length ; myLocalWiki++ ) // which wiki is this ?
if ( wgServer.indexOf(fullName[myLocalWiki]) != -1 ) break;
if ( myLocalWiki == fullName.length ) return; // exit if it's an unknown wiki
var innerbox = document.createElement("div");
innerbox.className = "pBody";
innerbox.style.cssText = "padding-left : 0.3em; padding-right : 0.3em;";
if ( wgContentLanguage != "he" && ( wgNamespaceNumber == 4 || wgNamespaceNumber == 5 ) )
var visualPageName = wgPageName.replace (/^.+?:/, wgCanonicalNamespace + ":").replace (/_/g, " ");
else var visualPageName = wgPageName.replace (/_/g, " ");
if ( wgNamespaceNumber < 0 ) var pageURL = wgCanonicalNamespace + ":" + wgCanonicalSpecialPageName;
else if ( wgNamespaceNumber == 0 ) var pageURL = encodeWikiURL (wgPageName);
else var pageURL = encodeWikiURL (wgPageName.replace(/^.+?:/, wgCanonicalNamespace + ":"));
var sisLinksPrinted = 0;
var sisterLinks = new Array();
if ( wgContentLanguage == "he" ) sisterLinks = extractSisterLinkTemplate();
for ( var i in titlePrefix ) // create links for all sister projects, except commons
{
if ( i != 0 ) innerbox.appendChild (document.createTextNode(", "));
if ( i == myLocalWiki || !checkIfWikiExists(wgServer.replace(fullName[myLocalWiki],fullName[i])) )
var aNode = document.createElement("span");
else
{
var aNode = document.createElement("a");
aNode.href = wgServer.replace(fullName[myLocalWiki], fullName[i]) + "/wiki/" + pageURL;
if ( wgContentLanguage == "he" && ( wgNamespaceNumber == 4 || wgNamespaceNumber == 5 ) ) // Project or Project talk
aNode.title = titlePrefix[i] + visualPageName.replace ( shortName[myLocalWiki] + ":", shortName[i] + ":" );
else aNode.title = titlePrefix[i] + visualPageName;
}
aNode.innerHTML = shortName[i];
innerbox.appendChild ( aNode );
if ( i != myLocalWiki && sisterLinks.length ) // this is done only on hebrew wikis
for ( var index = 0, flag = true ; index < sisterLinks.length ; index++ )
if ( sisterLinks[index].title.indexOf(titlePrefix[i]) == 0 )
{
sisLinksPrinted++;
if ( titlesSimilar (aNode.title, sisterLinks[index].title) )
{
aNode.href = sisterLinks[index].href; // link and title from sisterwikiT could be better, so copy them
aNode.title = sisterLinks[index].title;
aNode.className = "sisterwikiexists";
}
else
{
if ( flag ) innerbox.appendChild (document.createTextNode(" "));
flag = false;
sisterLinks[index].innerHTML = "[" + sisLinksPrinted + "]";
innerbox.appendChild (sisterLinks[index]);
}
}
}
//---
if ( wgContentLanguage != "he" ) // if this is not a hebrew wiki then add a "he" link
{
innerbox.appendChild (document.createTextNode(", "));
innerbox.appendChild (createLanguageLink("he"));
}
innerbox.appendChild (document.createElement("br")); // line break
//--- // write EN link
var langLink = createLanguageLink("en");
if ( wgContentLanguage != "en" )
{
if ( wgUserLanguage == "he" ) langLink.style.cssText = "float : left;";
else langLink.style.cssText = "float : right;";
innerbox.appendChild (langLink);
}
//--- // find commons (if exists) and output page & category links
for ( var cIndex = sisterLinks.length - 1 ; cIndex >= 0 ; cIndex-- ) // find the last commons link
if ( sisterLinks[cIndex].title.indexOf("commons:") == 0 ) break;
if ( cIndex >= 0 )
{
var commonsPageName = outputCommonsLink (innerbox, sisterLinks[cIndex]);
sisLinksPrinted++;
if ( !langLink.className ) // if there is no language interwiki for this page - take a guess according to the commons page
{
langLink.href = langLink.href.replace (/\/wiki\/.*/, "/wiki/" + encodeWikiURL(commonsPageName));
langLink.title = createTitle("en:", langLink.href);
}
}
else
{
aNode = document.createElement("a");
if ( langLink.className ) // is there an english interwiki ?
aNode.href = "http://commons.wikimedia.org/wiki/" +
encodeWikiURL( langLink.title.replace(/^\w+?:/,"")
.replace( new RegExp(fullName[myLocalWiki]+"( talk)?:","i"),"Project$1:") );
else aNode.href = "http://commons.wikimedia.org/wiki/" + pageURL;
aNode.title = createTitle("commons:", aNode.href);
outputCommonsLink (innerbox, aNode);
}
//---
for ( var s = 0, flag = true ; s < cIndex ; s++ )
if ( sisterLinks[s].title.indexOf("commons:") == 0 )
{
if ( flag ) innerbox.appendChild (document.createTextNode(" "));
flag = false;
sisLinksPrinted++;
sisterLinks[s].innerHTML = "[" + sisLinksPrinted + "]";
innerbox.appendChild (sisterLinks[s]);
}
//---
if ( wgNamespaceNumber >= 0 ) innerbox.onclick = initSisterWikis_RemoteInfoFrames;
var outerbox = document.createElement("div"); // create outer box
outerbox.id = "p-sisterwikis";
outerbox.className = "portlet";
outerbox.appendChild (innerbox);
var bbox = document.getElementById("p-navigation");
bbox.parentNode.insertBefore (outerbox, bbox.nextSibling);
appendCSS ("#p-sisterwikis .sisterwikiexists { font-weight:bold; }");
}
catch(e)
{
return; // lets just ignore what's happened
}
} // end of function sisterwikis
$ ( sisterwikis );
/* 1. adds a link to another sisterwiki to interwiki links */
/* 2. moves smaller size and uninteresting wikis to different box */
/* 3. adds an option to display/hide the smaller size wikis box */
/* written by [[User:Mikimik]] */
function customizeInterwikiBox()
{
function createLinks ( source, dest, text )
{
var aNode;
for ( var i = 0 ; i < items.length ; i++ )
{
aNode = items[i].getElementsByTagName("a")[0];
if ( aNode.href.indexOf(source) != -1 && checkIfWikiExists(aNode.href.replace(source,dest)) )
{
aNode = aNode.cloneNode(true);
aNode.innerHTML = "[" + text + "]";
aNode.href = aNode.href.replace(source, dest);
aNode.style.cssFloat = "right";
items[i].appendChild (aNode);
}
}
}
try {
var langbox = document.getElementById("p-lang");
if ( !langbox ) return;
var items = langbox.getElementsByTagName("li");
if ( !items.length ) return;
langbox.getElementsByTagName("h5")[0].innerHTML = langbox.getElementsByTagName("h5")[0].innerHTML.replace(/^(דף זה ב|in other )/i,"") +
" (" + items.length + ")" +
( langbox.getElementsByClassName("FA").length ? " <" + langbox.getElementsByClassName("FA").length + ">" : "" );
if ( wgUserLanguage == "he" )
{
langbox.getElementsByTagName("div")[0].dir = "ltr";
langbox.getElementsByTagName("ul")[0].style.cssText = "margin-left : 1.5em; margin-right : 0.5em;";
}
if ( wgNamespaceNumber >= 0 )
{
langbox.remoteLinksRX = new RegExp ( wgServer.replace(/http:\/\/[a-z-]+/,"").replace(/([./])/g,"\\$1") );
langbox.onclick = initSisterWikis_RemoteInfoFrames;
}
//-----------------------------------
if ( /wikipedia/.test(wgServer) ) createLinks ( ".wikipedia.", ".wikiquote.", "q" );
if ( /wikiquote/.test(wgServer) ) createLinks ( ".wikiquote.", ".wikipedia.", "w" );
if ( wgNamespaceNumber >= 0 && /(wikipedia|wikiquote)/.test(wgServer) )
{
langbox.getElementsByTagName("div")[0].remoteLinksRX = /wikipedia/.test(wgServer) ? /\.wikiquote\./ : /\.wikipedia\./;
langbox.getElementsByTagName("div")[0].onclick = initSisterWikis_RemoteInfoFrames;
}
//-----------------------------------
var interestingWikis = "|en|de|fr|pl|it|ja|nl|es|pt|ru|sv|zh|no|ca|fi|uk|cs|hu|tr|ro|ko|eo|da|ar|id|vi|sk|sr|lt|he|bg|fa|sl|hr|simple|nn|hi|el|la|yi|";
var extrabox = langbox.getElementsByTagName("div")[0].cloneNode(false);
var extralist = langbox.getElementsByTagName("div")[0].getElementsByTagName("ul")[0].cloneNode(false);
extrabox.appendChild ( extralist );
for ( var i = items.length-1 ; i >= 0 ; i-- )
if ( interestingWikis.indexOf(items[i].className.replace(/.*interwiki-([a-z-]+).*/,"|$1|")) == -1 )
extralist.insertBefore ( items[i], extralist.firstChild );
if ( extralist.children.length )
{
var aNode = document.createElement("a");
aNode.innerHTML = ( wgUserLanguage == "he" ? "נוספות" : "extra" ) + " (" + extralist.children.length + ")";
aNode.href = "javascript:toggleExtraLangBox();";
aNode.style.color = "inherit";
var head = document.createElement("h5");
head.appendChild ( aNode );
langbox.appendChild ( head );
extrabox.id = "p-lang-extra";
extrabox.style.display = "none";
langbox.appendChild ( extrabox );
}
}
catch(e)
{
return; // lets just ignore what's happened
}
} // end of function addSisterInterwikiLinks
$ ( customizeInterwikiBox );
function toggleExtraLangBox()
{
document.getElementById("p-lang-extra").style.display = document.getElementById("p-lang-extra").style.display == "none" ? "block" : "none";
}
function initSisterWikis_RemoteInfoFrames( event )
{
function getTarget ( e ) // Find event target
{
if ( !e ) e = window.event;
if ( e.target ) return e.target;
else if ( e.srcElement ) return e.srcElement;
return null;
}
try {
var targetNode = getTarget ( event );
if ( !targetNode || targetNode.tagName == "A" ) return; // can't find target or target is a link
while ( targetNode.nodeName != "DIV" ) targetNode = targetNode.parentNode;
if ( targetNode != this ) return; // target is another DIV
this.onclick = null;
createRemotePagesInfoFrames ( this.id == "p-lang" ? this.getElementsByTagName("div")[0] : this, this.remoteLinksRX, this.parentNode.id == "p-sisterwikis" );
}
catch (e)
{
return;
}
}