User:Gary/mark unviewed watchlist items.js

/*	MARK UNVIEWED WATCHLIST ITEMS Description: On the Watchlist, marks unviewed diffs with red text. Only tested with Enhanced Recent Changes enabled.

if (typeof(unsafeWindow) != 'undefined') {	var console = unsafeWindow.console; mw = unsafeWindow.mw; }

function markUnviewedWatchlistItems {	if (mw.config.get('wgCanonicalSpecialPageName') != 'Watchlist') return false;

mw.util.addCSS('a.watchlist-diff { color: red; }'); mw.util.addCSS('a.watchlist-diff:visited { color: #551A8B; }');

// loop through each day $('#bodyContent h4').each(function	{		var day = $(this);		// loop through each page		$('table', day.next).each(function {			var table = $(this); // check that this is really a diff link by determing the link's text; checks if link is actually a link, and if it contains "diff" or "changes" or "hist" or "history" var diffLink = table.children.eq(0).children.eq(0).children.eq(-1).children.eq(1); if (diffLink.length && diffLink[0].nodeName == 'A' && (diffLink.text == 'diff' || diffLink.text.match('changes') || diffLink.text == 'hist' || diffLink.text == 'history')) diffLink.addClass('watchlist-diff'); });	}); }

$(markUnviewedWatchlistItems);