Ugrás a tartalomhoz

Szerkesztő:KovacsUr/fettelo.js

A Wikipédiából, a szabad enciklopédiából

Megjegyzés: közzététel után frissítened kell a böngésződ gyorsítótárát, hogy lásd a változásokat.

  • Firefox / Safari: tartsd lenyomva a Shift gombot és kattints a Frissítés gombra a címsorban, vagy használd a Ctrl–F5 vagy Ctrl–R (Macen ⌘–R) billentyűkombinációt
  • Google Chrome: használd a Ctrl–Shift–R (Macen ⌘–Shift–R) billentyűkombinációt
  • Edge: tartsd nyomva a Ctrl-t, és kattints a Frissítés gombra, vagy nyomj Ctrl–F5-öt
/** Fettelő

Jelenleg a következőt csinálja: 
* végigmegy a harmadik és negyedik szintű címeken;
* ha a cím szerepel a címet követő szakasz első bekezdésében, és ez a 
  bekezdés nem hosszabb egy adott méretnél, a cím első előfordulását 
  félkövérre állítja, a címet magát pedig eltávolítja.

Példa: "Házasélet" című szakasz a siketfajdokról szóló cikkben 

   === Házasélet ===
   A siketfajdok házaséletében nem ritkák a hangos viták.

erre változik:

   A siketfajdok '''házaséletében''' nem ritkák a hangos viták.


== Használata ==

* Másold be az alábbi három sort a saját monobook.js fájlodba [[User:FELHASZNÁLÓI NEVED/monobook.js]]
* Frissítsd a böngésződ gyorsítótárát (CTRL+F5)

document.write('<script type="text/javascript" src="'
+ 'http://hu.wikipedia.org/w/index.php?title=User:KovacsUr/fettelo.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');


== Beállítások == 

A következő beállítások a monobook.js-edbe írandóak a fenti három sor ELÉ.
Használatuk nem kötelező, a program nélkülük is működik.

   var fettelo_bekapcs = true;  // true vagy false. Ez a főkapcsoló. true: bekapcs, 
                                // false: kikapcs

   var szerk_link_se = true;    // true vagy false. Ha true, még a "szerkesztés" 
                                // linket sem hagyja meg a szakasz felett; 
                                // ha false, csak a címet törli

   var min_meret = 4000;        // Pozitív egész szám. Ha a címet követő szakasz 
                                // első bekezdésének mérete meghaladja az itt 
                                // megadott méretet (byte-ban), meghagyja a címet

   var elejere_ha_nincs_benne = false;
                                // Ha a cím nem szerepel a szakasz első bekezdésében,
                                // beilleszti a bekezdés elejére, mögé tesz egy pöttyöt

  */

if (typeof(fettelo_bekapcs) == 'undefined') { var fettelo_bekapcs = true; }
if (typeof(szerk_link_se) == 'undefined') { var szerk_link_se = true; }
if (typeof(min_meret) == 'undefined') {  var min_meret = 4000; }
if (typeof(elejere_ha_nincs_benne) == 'undefined') { var elejere_ha_nincs_benne = false; }

if (fettelo_bekapcs) addOnloadHook(fettelo);

function cimet_jelol_szovegben(el,re,subst) {
    if (el.nodeType == 0) return el; // undefined
    if (el.nodeType == 3) { // text
        var benne_van = re.test(el.data);
        if (benne_van) {
            if (el.parentNode.nodeName.toLowerCase()=='a') { // NEMSZÉPHACK: egész link menjen a spanbe
                re = new RegExp("^(.*)()$");                
            } 
            var new_el = document.createElement("span");
            new_el.innerHTML = el.data.replace(re, subst);
            el.parentNode.insertBefore(new_el, el.nextSibling);
            el.data = " ";
            return true;
        }
        return false;
    }

    var cs = el.childNodes;
    var done = false;
    
    for (var i = 0; (i < cs.length) && (!done); i++) {
        done = cimet_jelol_szovegben(cs[i],re,subst)
    }
    
    return done;
}

function fettelo() {
    var arSpan = document.getElementsByTagName("span");
    for (var i=0;i<arSpan.length;i++) {
        if ((arSpan.item(i).className == "mw-headline") && ((arSpan.item(i).parentNode.nodeName.toLowerCase() == "h3") || (arSpan.item(i).parentNode.nodeName.toLowerCase() == "h4"))) {
            var cim = arSpan.item(i).parentNode;
            var szakasz = cim.nextSibling;
            while(szakasz.nodeType != 1) {
                szakasz=szakasz.nextSibling;
            }
            if (szakasz.innerHTML.length < min_meret) {
                var re = new RegExp("(" + ts_getInnerText(arSpan.item(i)) + "[^ ]*)(| )","i");
                var benne_van = re.test(ts_getInnerText(szakasz));
                if (elejere_ha_nincs_benne || benne_van) {
                    if (szerk_link_se) 
                        cim.style.display = "none";
                    else
                        arSpan.item(i).style.display = "none";
                        
                    if (benne_van)
                        cimet_jelol_szovegben(szakasz,re,"<strong class=\"szovegkozi-cim-" + arSpan.item(i).parentNode.nodeName.charAt(1) + "\">$1<\/strong>$2");
                    else
                        szakasz.innerHTML = "<strong>" + arSpan.item(i).innerHTML + "<\/strong> • " + szakasz.innerHTML;
                } 
            }
        }        
    }
}