GitHubReleasesCount

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

2017-08-25 기준 버전입니다. 최신 버전을 확인하세요.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==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);
            }
        });
    });
});