By riddle
—
Last update
Nov 15, 2007
—
Installed
123 times.
// ==UserScript==
// @namespace http://riddle.pl/-/greasemonkey/techcrunch.junkblocker.user.js
// @name Techcrunch RSS Junk Blocker
// @description Removes crunchbase junk, links to other TC blogs and ads in Google Reader
// @version 0.1
// @include http://google.com/reader*
// @include http://www.google.com/reader*
// ==/UserScript==
document.body.addEventListener('DOMNodeInserted', function() {
var container = document.getElementById('entries');
if (container) {
var entries = container.childNodes;
if (entries) {
if (entries.length > 1) {
var currentCount = 0;
for (var i = 0; i < entries.length; i++) {
var self = entries[i];
var selfClass = self.className;
if (selfClass) {
if ( (selfClass.indexOf('entry') > -1) && (selfClass.indexOf('modified') == -1) ) {
try {
var entry = self.getElementsByTagName('table')[0]
.getElementsByTagName('tr')[1]
.getElementsByTagName('td')[1]
.getElementsByTagName('div')[0]
.getElementsByTagName('div')[2]
if (entry) {
var link = entry.getElementsByTagName('h2')[0].getElementsByTagName('a')[0].href;
if (link.indexOf('http://feeds.feedburner.com/~r/Techcrunch/') > -1) {
// TechCrunch!
var body = entry.getElementsByTagName('div')[2]
.getElementsByTagName('div')[0]
.getElementsByTagName('ins')[0]
.getElementsByTagName('div')[0];
if (body) {
var children = body.childNodes;
var startDeleting = false;
for (var j = 0; j < children.length; j++) {
var child = children[j];
var childNodeName = child.nodeName.toLowerCase();
if (childNodeName == 'p') {
var strong = child.getElementsByTagName('strong')[0];
if (strong) {
if (strong.innerHTML.indexOf('Crunch Network') > -1) {
// child: starting point for TC junk
startDeleting = true;
}
}
}
if (childNodeName == 'div') {
var link = child.getElementsByTagName('a')[0];
if (link) {
if (link.href == 'http://www.crunchbase.com/') {
// child: starting point for TC junk
startDeleting = true;
}
}
}
if (startDeleting) {
if (child.nodeType == 1) {
child.style.display = 'none !important';
}
}
}
}
}
}
} catch(e) {
// don't have time to do check on every element in getElemsByTagName
}
self.className += ' modified';
}
}
}
}
}
}
}, false);