// ==UserScript==
// @name GithubHomePageStar
// @description Show the latest 30 starred repos in Github home page.
// @description:zh-CN 在 Github 首页显示最近的 30 个 star 项目,部分参考自 zhihaofans 的 https://greasyfork.org/zh-CN/scripts/25101
// @description:zh-TW 在 Github 首頁顯示最近的 30 個 star 項目,部分參考自 zhihaofans 的 https://greasyfork.org/zh-CN/scripts/25101
// @namespace
// @version 0.1
// @author ladit
// @match https://github.com/
// @require https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js
// @grant none
// @downloadURL none
// ==/UserScript==
function getStarredList(userName) {
var itemsList = '';
var item = '';
$.getJSON("https://api.github.com/users/" + userName + "/starred", function (starredRepos) {
var starredReposCount = starredRepos.length;
var isPublic = '';
$.each(starredRepos, function (key, starredRepo) {
if (starredRepo.private === true) {
isPublic = "private";
} else {
isPublic = 'public';
}
item = '
' + starredRepo.owner.login + '/' + starredRepo.name + '' + starredRepo.stargazers_count + '';
itemsList += item;
});
});
return '';
}
$(document).ready(function () {
$.ajaxSettings.async = false;
if ($("meta.js-ga-set").attr('content') == "Logged In") {
var userName = $("meta[name='user-login']").attr('content');
if (window.localStorage) {
if (!localStorage.getItem('lastStoreStarredReposTime') || localStorage.getItem('lastStoreStarredReposTime') + 86400000 < $.now()) {
var starredReposBlock = getStarredList(userName);
localStorage.setItem('starredReposBlock', starredReposBlock);
$(".dashboard-sidebar.column.one-third").append(starredReposBlock);
localStorage.setItem('lastStoreStarredReposTime', $.now());
} else {
$(".dashboard-sidebar.column.one-third").append(localStorage.getItem('starredReposBlock'));
}
} else {
$(".dashboard-sidebar.column.one-third").append(getStarredList(userName));
}
}
$.ajaxSettings.async = true;
});