hup.user.js, számlálóval kiegészítve

Nem túl izgalmas változtatás: számlálót tettem a 'következő' ('előző') linkek mellé, hogy látszon, melyik hozzászólás az utolsó (első) 'új'.


// ==UserScript==
// @name     HUP
// @include  http://hup.hu/*
// @include  http://*.hup.hu/*
// ==/UserScript==

kiemelt_szerzok     = [ 'szerzo1', 'szerzo2', 'stb.' ];
eltuntetett_szerzok = [ 'szerzo1', 'szerzo2', 'stb.' ];
torolt_szerzok      = [ 'szerzo1', 'szerzo2', 'stb.' ];

kiemeles_minta   = '<div style="background-color: #E77471;"                >$1</div>';
eltuntetes_minta = '<div style="background-color: #f6f6eb; color: #f6f6eb;">$1</div>';
torles_minta     = '(torolve)';

reg_new    = new RegExp( 'new', 'im' );
reg_uj     = new RegExp( '>.j</font>' );
reg_user   = new RegExp( '<a\\s+href="/user/\d+"[^>]+>([^<]+)</a>', 'im' );
reg_szoveg = new RegExp( '<td[^>]*>(<p>[\\s\\S]*?</p>)\\s*</td>', 'igm' );

c = document.body.innerHTML.split( /(<!--\s+(?:begin|end)\s+content\s+-->)/im );
b = c[2].split( /((?:<a\s+id="new"><\/a>\s*)?<a\s+id="comment-\d+"><\/a>)/im );
s = c[0]+c[1]+b[0];

for( uj=0, i=1; i<b.length; i+=2 ){ if( b[i].indexOf('new')>0 ) uj++; }

for( id=0, i=1; i<b.length; i++ ){
  s += b[i].indexOf('new')>0 ? b[i].replace('new','new'+((++id>1)?id-1:'')): b[i];
  if( b[++i].search( reg_uj )>0 ){
    b[i] = b[i].replace( reg_uj, '>uj</font>'+
      ' <a href="#new'+   id               +'">(kovetkezo '+(uj-id)+')</a>'+
      ' <a href="#new'+ ((id<=2)?'':id-2)  +'">(elozo '    +(id-1) +')</a>'+
      ' <a href="/tracker">(tracker)</a>' );
  }
  var szerzo = b[i].split( reg_user );

  var minta = kiemelt_szerzok    .indexOf(szerzo[1])>0 ? kiemeles_minta:
              eltuntetett_szerzok.indexOf(szerzo[1])>0 ? eltuntetes_minta:
              torolt_szerzok     .indexOf(szerzo[1])>0 ? torles_minta:
              null;

  s += minta? b[i].replace( reg_szoveg, minta ): b[i];
}

document.body.innerHTML = s+c[3]+c[4];

//

http://greasemonkey.mozdev.org/ szükséges a futtatásához.

Hozzászólások

Ez már egy olyan bővítés, amely alapján én is elgondolkodom, hogy telepítsem ezt a szkriptet. Köszi!