GitHubReleasesCount

To show download counter for each attachment from Releases page on GitHub.com

Per 25-08-2017. Zie de nieuwste versie.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==UserScript==
// @name        GitHubReleasesCount
// @description To show download counter for each attachment from Releases page on GitHub.com
// @namespace   net.r_eg.GitHubReleasesCount
// @version     0.1
// @grant       none
// @include     https://github.com/*/*/releases
// @require     https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js
// @author      https://github.com/3F
// ==/UserScript==

/* Tested via: Firefox 55.0.2 & 54.0.1 + Greasemonkey 3.11 */
$(function()
{
    //github.com/<user>/<project>/releases
    var ghr = window.location.href.replace('github.com/', 'api.github.com/repos/');

    $.get(ghr, function(apidata)
    {
        $(".release-downloads li a").each(function()
        {
            var root = $(this);
            var durl = root.attr('href');

            if(durl.indexOf('releases/download') == -1) {
                return true; // means 'continue' statement
            }

            for(var idx in apidata)
            for(var asset in apidata[idx].assets)
            {
                var lnk = apidata[idx].assets[asset];

                if(!lnk.browser_download_url.endsWith(durl)) {
                    continue;
                }

                $("<span class='release-label latest'>" + lnk.download_count + "</span>")
                    .insertBefore(root);
            }
        });
    });
});