Mark Pilgrim, personnage du web reconnu en particulier pour ses ouvrages en ligne, souvenez vous, le fameux
Dive Into Python vient de publier un nouveau bouquin en ligne. Il s'attaque ici à un add-on de FireFox, qui commence à faire pas mal de bruit:
GreaseMonkey. Bien évidemment, l'ouvrage se nomme
Dive Into GreaseMonkey
Cette extension vous permet tout simplement de modifier à loisir les pages que vous visitez à l'aide de ce bon vieux JavaScript. Vous allez donc pouvoir, en utilisant le standard
W3C DOM modifier les pages de vos sites préférés. Des tas de scripts existent déjà, vous pouvez jeter un coup d'oeil sur ce
listing, vous verrez des modifications de Google, de GMail, d'Amazon, et autres sites qui font parti du quotidien que nous Geeks, adorons.
Alors pour regarder un peu, j'ai réfléchi, et j'me suis dis, qu'est ce que je pourrais bien faire pour améliorer mon quotidien. Il y a un site que je visite pas mal, c'est le
DotNetLogue. Mais sur cet aggrégateur, tous les posts ne m'intéressent pas, en particulier ceux qui sont mal formatés. Alors j'ai retroussé mes manches, et hop, j'ai décidé d'essayer.
Comme un bon code vaut mieux que deux tu l'auras, jettons y tout de suite un coup d'oeil:
/*
* DotNetLogue cleaner
* Copyright 2005 Jb Evain <jbevain@gmail.com>
* This script is licensed under the GNU GPL 2.
* See: http://www.gnu.org/copyleft/gpl.html
*/
// ==UserScript==
// @name DotNetLogue cleaner
// @namespace http://evain.net
// @description Read only the feeds you're interested in
// @include http://www.labo-dotnet.com/dotnetlogue*
// ==/UserScript==
(function () {
var black_list = ["http://www.c2i.fr"];
function isBlackListed (entry) {
var href = entry.previousSibling.previousSibling.firstChild.getAttribute ("href");
for (var i = 0; i < black_list.length; i++)
if (href.indexOf (black_list [i]) > -1)
return true;
return false;
}
var divs = document.getElementsByTagName ("div");
for (var i = 0; i < divs.length; i++) {
var entry = divs [i];
if (entry.className == "blogentry" && isBlackListed (entry)) {
entry.previousSibling.previousSibling.style.display =
entry.style.display = "none";
}
}
}) ();
N'est ce pas tout simple ? Il n'a suffit qu'un peu de reverse engineering sur le code HTML pour savoir quoi cacher, et c'était bon. Une fois GreaseMonkey installé, il ne reste plus qu'a enregistrer
ce bout de code, et à visiter tranquillement le DotNetLogue. Bien sur, vous pouvez ajoutez des éléments à la liste 'black_list'.
Pour les plus incrédules, voici deux screenshots, l'un
avant d'avoir activé mon script, l'autre
après. Notez la mine réjouie du singe en bas à droite.
Nous vivons une époque formidable :)
Télécharger
FireFox,
GreaseMonkey.