2017-10-22 Show All Feeds

This is the bookmarklet from dekstop which is based on the bookmarklet from the Google Reader days. The good part is that this is not an extension you need to install in your browser, it’s a little piece of Javascript that’s easily checked. It doesn’t load stuff from remote sites, either. Perfect!

bookmarklet from dekstop

Feel free to copy and paste from here into the URL of a bookmark.

1. bookmark this page

2. edit the properties of the new bookmark

3. change the name to “Show All Feeds”

4. change the location to the Javascript URL below

5. done!

Code improved by @edavies, thank you so much! Blog post here: Show All Feeds.

@edavies

Show All Feeds

javascript:(function(){function%20txt(str){return%20document.createTextNode(str)}function%20tag(n,c){var%20e=document.createElement(n);e.style.fontFamily='Arial,sans-serif';e.style.color='#000';if(c)e.appendChild(c);return%20e}function%20p(c){return%20tag('p',c)}function%20a(href,desc){e=tag('a',txt(desc));e.href=href;e.style.color='#00c';e.style.textDecoration='underline';return%20e}var%20el=tag('div');el.style.zIndex=100000;el.style.position='absolute';el.style.padding='20px';el.style.top='10px';el.style.left='10px';el.style.backgroundColor='#ffffcc';el.style.border='1px%20solid%20#333333';el.style.textAlign='left';var%20ul=tag('ul');var%20found=false;var%20links=document.getElementsByTagName('link');for(var%20i=0,link;link=links[i];i++){var%20type=link.getAttribute('type');var%20rel=link.getAttribute('rel');if(type&&(type=='application/rss+xml'||type=='application/atom+xml')&&rel&&rel=='alternate'){var%20href=link.getAttribute('href');href%20=%20(new%20URL(href,%20location)).href;var%20title=link.getAttribute('title');ul.appendChild(tag('li',a(href,((title)%20?%20title+'%20-%20'%20:%20'')+href)));found=true;}}if(found){el.appendChild(p(txt('The%20current%20page%20links%20to%20these%20feeds:')));el.appendChild(ul);}else{el.appendChild(p(txt('The%20current%20page%20does%20not%20link%20to%20any%20feeds.')));}var%20close=a('#','Close');close.onclick=function(){el.style.display='none';return%20false;};el.appendChild(p(close));function%20addFeedBox(){document.body.appendChild(el);y=window.scroll(0,0);}void(z=addFeedBox());})();

This is what it looks like when you use “Show All Feeds” on this page:

Screenshot

Here’s the source code, in a more readable form:

(function(){
    function txt(str){
        return document.createTextNode(str)
    }

    function tag(n,c){
        var e=document.createElement(n);
        e.style.fontFamily='Arial,sans-serif';
        e.style.color='#000';
        if(c)
            e.appendChild(c);
        return e
    }

    function p(c){
        return tag('p',c)
    }

    function a(href,desc){
        e=tag('a',txt(desc));
        e.href=href;
        e.style.color='#00c';
        e.style.textDecoration='underline';
        return e
    }

    var el=tag('div');
    el.style.zIndex=100000;
    el.style.position='absolute';
    el.style.padding='20px';
    el.style.top='10px';
    el.style.left='10px';
    el.style.backgroundColor='#ffffcc';
    el.style.border='1px solid #333333';
    el.style.textAlign='left';

    var ul=tag('ul');
    var found=false;
    var links=document.getElementsByTagName('link');

    for(var i=0,link;link=links[i];i++){
        var type=link.getAttribute('type');
        var rel=link.getAttribute('rel');
        if(type&&(type=='application/rss+xml'||type=='application/atom+xml')&&rel&&rel=='alternate'){
            var href=link.getAttribute('href');
            href = (new URL(href, location)).href;
            var title=link.getAttribute('title');
            ul.appendChild(tag('li',a(href,((title) ? title+' - ' : '')+href)));
            found=true;
        }
    }

    if(found){
        el.appendChild(p(txt('The current page links to these feeds:')));
        el.appendChild(ul);
    }else{
        el.appendChild(p(txt('The current page does not link to any feeds.')));
    }

    var close=a('#','Close');
    close.onclick=function(){
        el.style.display='none';
        return false;
    };
    el.appendChild(p(close));

    function addFeedBox(){
        document.body.appendChild(el);
        y=window.scroll(0,0);
    }
    void(z=addFeedBox());
})();

​#Bookmarklet ​#RSS

Comments

(Please contact me if you want to remove your comment.)

Awesome - just what I needed with Firefox removing Feed discovery in the Firefox 64.

– COD 2018-12-27 13:58 UTC

COD

---

Here’s more, by @edavies, to handle YouTube Feeds.

@edavies

YouTube Feeds

– Alex Schroeder 2020-03-25 16:35 UTC

---

I’m going to replace the code with an improved copy by @edavies from Show All Feeds.

@edavies

Show All Feeds

– 2020-12-08 15:02 UTC