GitHub Show Contribution Languages

Adds a small language tag next to the repository list of your contributions.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name                GitHub Show Contribution Languages
// @description         Adds a small language tag next to the repository list of your contributions.
// @namespace           https://github.com/felixonmars/github-show-contributions-language
// @version             0.1
// @author              felixonmars
// @require             https://cdn.jsdelivr.net/npm/[email protected]
// @match               https://github.com/*
// @license MIT
// ==/UserScript==

$("details span[data-hovercard-type=repository], details a[data-hovercard-type=repository]").each(function(index){
    let item = this;
    let url = this.getAttribute('data-hovercard-url');
    if(this.getAttribute("class") != "mr-2")
        $.get(url, function(data){
            let lang = data.match(/\"programmingLanguage\">(.+?)</)[1];
            let color = data.match(/background-color: (#\w+)\"/)[1];
            $(item).append('<svg style="color:' + color + ';" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill ml-2"><path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8z"></path></svg>');
            $(item).append('<span class="color-fg-default text-bold f6">' + lang + '</span> ');
        });
});