Vikipediisto:Tlustulimu/monobook.js
El Komunejo
(Malsamoj inter versioj)
E |
|||
Linio 151: | Linio 151: | ||
// END Moving of the editsection links | // END Moving of the editsection links | ||
// ============================================================ | // ============================================================ | ||
+ | |||
+ | |||
+ | // El la suprasoraba vikipedio | ||
+ | |||
+ | // ============================================================ | ||
+ | // BEGIN hasclass | ||
+ | //hasClass, from en.wp and ru.wp | ||
+ | var hasClass = (function (){ | ||
+ | var reCache = {} | ||
+ | return function (element, className){ | ||
+ | return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className) | ||
+ | } | ||
+ | })() | ||
+ | |||
+ | |||
+ | function addLoadEvent(f) {addOnloadHook(f)} //for backwards compatibility | ||
+ | // END hasclass | ||
+ | // ============================================================ | ||
+ | |||
+ | |||
+ | // ============================================================ | ||
+ | // BEGIN Enable multiple onload functions | ||
+ | |||
+ | // setup onload functions this way: | ||
+ | // aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets! | ||
+ | |||
+ | if (!window.aOnloadFunctions) { | ||
+ | var aOnloadFunctions = new Array(); | ||
+ | } | ||
+ | |||
+ | window.onload = function() { | ||
+ | if (window.aOnloadFunctions) { | ||
+ | for (var _i=0; _i<aOnloadFunctions.length; _i++) { | ||
+ | aOnloadFunctions[_i](); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // END Enable multiple onload functions | ||
+ | // ============================================================ | ||
+ | |||
+ | var autoCollapse = 2 | ||
+ | var collapseCaption = 'Schować' | ||
+ | var expandCaption = 'Pokazać' | ||
+ | |||
+ | function collapsibleTables(){ | ||
+ | var Table, HRow, THs, Header, btn, a, tblIdx = 0, colTables = [] | ||
+ | var allTables = document.getElementsByTagName('table') | ||
+ | for (var i=0; Table = allTables[i]; i++){ | ||
+ | if (!hasClass(Table, 'collapsible')) continue | ||
+ | if (!(HRow = Table.rows[0])) continue | ||
+ | THs = HRow.getElementsByTagName('th') | ||
+ | if (THs.length == 0) continue | ||
+ | Header = THs[THs.length-1] //last TH, not 1st like in en.wp | ||
+ | Table.id = 'collapsibleTable' + tblIdx | ||
+ | btn = document.createElement('span') | ||
+ | btn.style.styleFloat = btn.style.cssFloat = 'right' | ||
+ | btn.style.fontWeight = 'normal' | ||
+ | a = document.createElement('a') | ||
+ | a.id = 'collapseButton' + tblIdx | ||
+ | a.href = 'javascript:collapseTable(' + tblIdx + ');' | ||
+ | a.appendChild(document.createTextNode(collapseCaption)) | ||
+ | btn.appendChild(document.createTextNode('[')) | ||
+ | btn.appendChild(a) | ||
+ | btn.appendChild(document.createTextNode(']')) | ||
+ | Header.insertBefore(btn, Header.childNodes[0]) | ||
+ | colTables[tblIdx++] = Table | ||
+ | } | ||
+ | for (var i=0; i < tblIdx; i++) | ||
+ | if ((tblIdx > autoCollapse && hasClass(colTables[i], 'autocollapse')) || hasClass(colTables[i], 'collapsed')) | ||
+ | collapseTable(i) | ||
+ | } | ||
+ | |||
+ | function collapseTable (idx){ | ||
+ | var Table = document.getElementById('collapsibleTable' + idx) | ||
+ | var btn = document.getElementById('collapseButton' + idx) | ||
+ | if (!Table || !btn) return false | ||
+ | var Rows = Table.rows | ||
+ | var isShown = (btn.firstChild.data == collapseCaption) | ||
+ | btn.firstChild.data = isShown ? expandCaption : collapseCaption | ||
+ | var disp = isShown ? 'none' : Rows[0].style.display | ||
+ | for (var i=1; i < Rows.length; i++) | ||
+ | Rows[i].style.display = disp | ||
+ | } | ||
+ | |||
+ | var NavigationBarHide = '[' + collapseCaption + ']' | ||
+ | var NavigationBarShow = '[' + expandCaption + ']' | ||
+ | var NavigationBarShowDefault = autoCollapse | ||
+ | |||
+ | /* ĉi tien estas metenda la funkcioj por div-bazitaj navigiloj */ | ||
+ | |||
+ | addOnloadHook(collapsibleTables); |
Kiel registrite je 08:47, 3. Sep 2008
/* Füge Projektportal-Link hinzu */ function addPortal() { quickbar = document.getElementById('quickbar'); if (quickbar) { neues = document.createElement('a') neues.href = '/wiki/Wikipedia:Portal' neues.appendChild(document.createTextNode('Projektportal')) quickbar.appendChild(neues) } } addOnloadHook(addPortal); /* Einige link-Tags hinzufügen */ head = document.getElementsByTagName('head')[0] function verlinke(rel, href, title) { link = document.createElement('link') link.rel = rel link.href = '/wiki/' + href link.title = title head.appendChild(link) } if (head) /* sollte immer true ergeben, aber sicher ist sicher */ { verlinke('start', 'Hauptseite', 'Hauptseite') verlinke('help', 'Wikipedia:Handbuch', 'Handbuch') verlinke('index', 'Spezial:Allpages', 'Index') } /* decodiere UTF8 (aus Selfhtml) */ function decode_utf8(utftext) { var plaintext = ""; var i=0; var c=c1=c2=0; // while-Schleife, weil einige Zeichen uebersprungen werden while(i<utftext.length) { c = utftext.charCodeAt(i); if (c<128) { plaintext += String.fromCharCode(c); i++;} else if((c>191) && (c<224)) { c2 = utftext.charCodeAt(i+1); plaintext += String.fromCharCode(((c&31)<<6) | (c2&63)); i+=2;} else { c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2); plaintext += String.fromCharCode(((c&15)<<12) | ((c2&63)<<6) | (c3&63)); i+=3;} } return plaintext; } /* decodiere die codierten UTF8-Zeichen in Kapitel-Ankern */ function decodeanchor(anchorname) { var escaped = anchorname.replace(/\.([0-9A-F][0-9A-F])/g,"%$1"); return decode_utf8(unescape(escaped)).replace(/_/g,' '); } /* Füge Link-Tags fürs Inhaltsverzeichnis hinzu */ function addcontents() { var head = document.getElementsByTagName('head')[0]; var len = document.anchors.length for (i = 0; i < len; ++i) { anchor = document.anchors[i]; link = document.createElement('link') link.rel = 'chapter' link.href = '#' + anchor.name; link.title = decodeanchor(anchor.name); head.appendChild(link) } } addOnloadHook(addcontents); // por la verdaj butonetoj laŭ hsbwp, plwp kaj ruwp resp. propra vikio document.write('<script type="text/javascript" src="' + 'http://eo.wikipedia.org/w/index.php?title=Vikipediisto:Tlustulimu/butonetoj.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); // el mia suprasoraba vikipediista paĝo // z wužiwarja Zacke w němskej wikipediji // vom Benutzer:Zacke in dewp function addlilink(tabs, url, name, id) { var na = document.createElement('a'); na.href = url; na.id = id; na.appendChild(document.createTextNode(name)); var li = document.createElement('li'); li.appendChild(na); tabs.appendChild(li); return li; } function addtoolboxlinks() { var tb = document.getElementById('p-navigation').getElementsByTagName('ul')[0]; addlilink(tb, '/wiki/Vikipedio:Vikiprojekto Ŝablono', 'Projekto pri ŝablonoj', ''); addlilink(tb, '/wiki/Vikipedio:Informkestoj', 'Projekto pri informkestoj', ''); addlilink(tb, '/wiki/Vikipedio:Ŝablono', 'Listoj de ŝablonoj', ''); addlilink(tb, '/wiki/Vikipedio:Forigendaj artikoloj', 'Forigo', ''); addlilink(tb, '/wiki/Speciala:Prefixindex', 'Paĝoj', ''); addlilink(tb, '/wiki/Vikipediisto:Tlustulimu/Navigejo', 'Navigejo', ''); addlilink(tb, '/wiki/Vikipediisto:Tlustulimu/Navigejo2', 'Navigejo diskuta', ''); addlilink(tb, '/wiki/Vikipediisto:Tlustulimu/Babel', 'Babel', ''); } if (window.addEventListener) window.addEventListener("load", addtoolboxlinks, false); else if (window.attachEvent) window.attachEvent("onload", addtoolboxlinks); // el la suprasoraba vikipedio [[:hsb:MediaWiki:Common.js]] // ============================================================ // BEGIN Moving of the editsection links /* * moveEditsection * Dieses Script verschiebt die [Bearbeiten]-Buttons vom rechten Fensterrand * direkt rechts neben die jeweiligen Überschriften. * This script moves the [edit]-buttons from the right border of the window * directly right next to the corresponding headings. * * Zum Abschalten die folgende Zeile (ohne führendes Sternchen) in die eigene * monobook.js (zu finden unter [[Special:Mypage/monobook.js|Benutzer:Name/monobook.js]]) kopieren: * var oldEditsectionLinks = true; * * dbenzhuser (de:Benutzer:Dbenzhuser) */ function moveEditsection() { if (typeof oldEditsectionLinks == 'undefined' || oldEditsectionLinks == false) { var spans = document.getElementsByTagName("span"); for(var i = 0; i < spans.length; i++) { if(spans[i].className == "editsection") { spans[i].style.fontSize = "x-small"; spans[i].style.fontWeight = "normal"; spans[i].style.cssFloat = "none"; spans[i].style.marginLeft = "0px"; spans[i].parentNode.appendChild(document.createTextNode(" ")); spans[i].parentNode.appendChild(spans[i]); } } } } // onload addOnloadHook(moveEditsection); // END Moving of the editsection links // ============================================================ // El la suprasoraba vikipedio // ============================================================ // BEGIN hasclass //hasClass, from en.wp and ru.wp var hasClass = (function (){ var reCache = {} return function (element, className){ return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className) } })() function addLoadEvent(f) {addOnloadHook(f)} //for backwards compatibility // END hasclass // ============================================================ // ============================================================ // BEGIN Enable multiple onload functions // setup onload functions this way: // aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets! if (!window.aOnloadFunctions) { var aOnloadFunctions = new Array(); } window.onload = function() { if (window.aOnloadFunctions) { for (var _i=0; _i<aOnloadFunctions.length; _i++) { aOnloadFunctions[_i](); } } } // END Enable multiple onload functions // ============================================================ var autoCollapse = 2 var collapseCaption = 'Schować' var expandCaption = 'Pokazać' function collapsibleTables(){ var Table, HRow, THs, Header, btn, a, tblIdx = 0, colTables = [] var allTables = document.getElementsByTagName('table') for (var i=0; Table = allTables[i]; i++){ if (!hasClass(Table, 'collapsible')) continue if (!(HRow = Table.rows[0])) continue THs = HRow.getElementsByTagName('th') if (THs.length == 0) continue Header = THs[THs.length-1] //last TH, not 1st like in en.wp Table.id = 'collapsibleTable' + tblIdx btn = document.createElement('span') btn.style.styleFloat = btn.style.cssFloat = 'right' btn.style.fontWeight = 'normal' a = document.createElement('a') a.id = 'collapseButton' + tblIdx a.href = 'javascript:collapseTable(' + tblIdx + ');' a.appendChild(document.createTextNode(collapseCaption)) btn.appendChild(document.createTextNode('[')) btn.appendChild(a) btn.appendChild(document.createTextNode(']')) Header.insertBefore(btn, Header.childNodes[0]) colTables[tblIdx++] = Table } for (var i=0; i < tblIdx; i++) if ((tblIdx > autoCollapse && hasClass(colTables[i], 'autocollapse')) || hasClass(colTables[i], 'collapsed')) collapseTable(i) } function collapseTable (idx){ var Table = document.getElementById('collapsibleTable' + idx) var btn = document.getElementById('collapseButton' + idx) if (!Table || !btn) return false var Rows = Table.rows var isShown = (btn.firstChild.data == collapseCaption) btn.firstChild.data = isShown ? expandCaption : collapseCaption var disp = isShown ? 'none' : Rows[0].style.display for (var i=1; i < Rows.length; i++) Rows[i].style.display = disp } var NavigationBarHide = '[' + collapseCaption + ']' var NavigationBarShow = '[' + expandCaption + ']' var NavigationBarShowDefault = autoCollapse /* ĉi tien estas metenda la funkcioj por div-bazitaj navigiloj */ addOnloadHook(collapsibleTables);