PK2EE install.rdf RSS Panel{26afa095-6925-4150-a880-e0bde4743fd5}0.1Displays RSS directly from originating websiteJohannes la Poutre{ec8030f7-c20a-464f-9b0e-13a3a9e97384}0.91.0content/PK2+!!$chrome/rsspanel/content/contents.rdf chrome://rsspanel/content/browser.xulPK2kee#chrome/rsspanel/content/browser.xul PK2g<<%chrome/rsspanel/content/javascript.js/* vim: ts=4 noet ai : RSS Reader for GreaseMonkey http://greasemonkey.mozdev.org/ works with RSS versions 0.91 .. 2.0 Changelog: Version 1.15 - use GM_xmlhttpRequest() if available (GM 0.2.6+): loads any RSS feed, regardless of originating domain this means for instance that feedburner feeds are working. Version 1.14 - logging through GM_Log if available (GM 0.3.3+) - namespace now points at the script's home page Version 1.13 - fix for RSS feeds missing elements Thanks to Andy Dustman for hhis patch. Version 1.12 - fix character encoding again (pure ASCII) Version 1.11 - minior fix with character encoding (UTF-8) - generated GUID for Greasemonkey Compiler http://www.letitblog.com/greasemonkey-compiler/ - GUID: {821ac008-72db-4ccd-94b9-722ccba5b28a} Version 1.10 - Changed license to GPL Added by Brandan Lloyd: - Added title bar to make it draggable, - Allow the user to double-click to open and close so that clicking on a link doesn't toggle the view state, - Added a little icon for opening and with a single-click, - Added a scroll bar so that if the Reader is longer than the page the user can scroll. Version 1.03 - Added a link to the discovered RSS feed (suggested by Nathan Howell) Version 1.02 - Moved link to RSS home to mottom of list (suggested by Neil Kandalgaonkar) Version 1.01 - Initial release */ // ==UserScript== // @name RSS Panel // @namespace http://www.xs4all.nl/~jlpoutre/BoT/Javascript/RSSpanel // @description Displays RSS directly from originating website // @include * // @exclude // ==/UserScript== (function() { var Version = "1.15"; // GM "global" scope variables var gReq; // "native" XHR object var gRss_src = ''; // RSS feed source /* ************************** bel ***************************** * COLOR & OPACITY Constants for the RSS Reader. **************************************************************/ var BACKGROUND = "#ffc", TEXT = "#000", BORDER = "orange", TITLE_BACKGROUND = "orange", TITLE_BORDER = "#ffc", TITLE_TEXT = "#fff", OPACITY = "0.85"; function errLog(msg) { if (typeof(GM_log == "function")) { GM_log(msg); } else { window.status = msg; } } // initialize XHR object function rss_init() { // read rss if a feed is discovered (gRss_src is not null) gRss_src = rss_discover(); // Slashdot link looks like HREF="//slashdot.org/index.rss" if (gRss_src.indexOf('//') == 0) { gRss_src = 'http:' + gRss_src; } rss_req(gRss_src); } function rss_discover() { var src = ''; var rss = document.getElementsByTagName("link"); for (var i=0; i")); open.onclick = expander; /* ************************** bel ***************************** * Add the open and close button to the title bar, then add * the title bar to the RSS Reader. * ************************************************************/ title.appendChild(open); title.appendChild(close); box.appendChild(title); var ul = document.createElement("ul"); dom_setStyle(ul, "padding-left: 14px; padding-top: 17px"); var items = []; try { items = dom_getElements(DOM, "item"); } catch (e) { var li = document.createElement("li"); li.appendChild(document.createTextNode("RSS doesn't contain any items!")); ul.appendChild(li); } for (var i=0; i