swdyh (owner)

Revisions

gist: 77088 Download_button fork
public
Public Clone URL: git://gist.github.com/77088.git
Embed All Files: show embed
ldr_-_githubicon.user.js #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// ==UserScript==
// @name LDR - githubicon
// @namespace http://www.relucks.org/
// @include http://reader.livedoor.com/reader/
// ==/UserScript==
 
var fl = function(feed) {
    var re = /^https?:\/\/github\.com/
    if (re.test(feed.channel.link)) {
        for (var i = 0; i < feed.items.length; i++) {
            if (!/^<img class="ldrghicon"/.test(feed.items[i].body)) {
                var img_url = 'http://usericons.relucks.org/github/' + feed.items[i].author
                new Image().src = img_url
                feed.items[i].body = '<img class="ldrghicon" src="' +
                    img_url + '" style="float:left;margin-right:5px;width:48px;height:48px;" /> ' +
                    feed.items[i].body + '<br style="clear:left;" />'
            }
        }
    }
}
addFilter(fl)
 
function addFilter(filter) {
    var filtered = {}
    var wrapped = function() {
        var feed = arguments.length == 2 ? arguments[1] : arguments[0]
        // if (typeof(feed) == 'object' && !filtered[feed.channel.link]) {
        if (typeof feed == 'object') {
            filter(feed)
            // filtered[feed.channel.link] = true
        }
    }
    addBefore(unsafeWindow.get_unread.cache, 'set', wrapped)
    unsafeWindow.register_hook('BEFORE_PRINTFEED', wrapped)
}
 
function addBefore(target, name, before) {
    var original = target[name]
    target[name] = function() {
        before.apply(target, arguments)
        return original.apply(target, arguments)
    }
}