MediaWiki:JavascriptHeadings.js

Ón Vicipéid, an chiclipéid shaor.

Tugtar faoi deara: Tar éis duit athruithe a shábháil, caithfear gabháil thar thaisce do bhrabhsálaí chun iad a fheiceáil. Internet Explorer: cliceáil ar an gcnaipe AthnuaighAthlódáil, agus an eochair Ctrl á bhrú agat. Firefox: cliceáil ar Athlódáil, agus an eochair Iomlaoid á bhrú agat (nó brúigh Ctrl-Iomlaoid-R). Opera: caithfear d'úsáideoirí a dtaiscí a ghlanadh trí Uirlisí→Sainroghanna. Ní mór d'úsáideoirí KonquerorSafari ach cliceáil ar an gcnaipe Athlódáil.

/**
 * From [[en:MediaWiki:JavascriptHeadings.js]] 20/6/2008
 * Imported in [[MediaWiki:Common.js]]
**/

function sourceheadings() {
     if ((mw.config.get('wgNamespaceNumber') == 2 || mw.config.get('wgNamespaceNumber') == 8) && mw.config.get('wgTitle').lastIndexOf('.js') != -1 && mw.config.get('wgAction') == 'view') {
    var bc = document.getElementById('bodyContent');
    if (bc != null) {
      var pres = bc.getElementsByTagName('pre');
      if (pres.length == 1) {
        var spans = pres[0].getElementsByTagName('span');
        var numspans = spans.length;
        var j = 0;
 
        for (var i = 0; i < numspans; i++) {
          if (spans[i].className == 'coMULTI') {
           var res = null;
           if (spans[i].firstChild.nodeValue)
               // TODO \n+ doesn't seem to work here
               res = spans[i].firstChild.nodeValue.match(/\/\*\s*<\/pre>\n+(==+)(.*?)(==+)\n+<pre>\s*\*\//);
 
            if (res!= null && res.length != 0) {
              j++;
              var l = res[1].length < res[3].length ? res[1].length : res[3].length;
 
              var h = document.createElement('h' + l);
 
              h.innerHTML = 
                '<span class="editsection">[<a href="' +
                  mw.config.get('wgScript') + '?title=' + mw.config.get('wgPageName') + '&amp;action=edit&amp;section=' + j +
                  '">edit</a>]</span><span class="mw-headline">' + res[2] + '</span>';
 
              pres[0].replaceChild(h, spans[i]);
            }
          }
        }
      }
    }
  }
}
 
$(sourceheadings);