// ==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 // @author ladit // @version 1.0.2 // @namespace https://greasyfork.org/zh-CN/scripts/33511 // @homepageURL https://github.com/ladit/Userscripts // @supportURL https://github.com/ladit/Userscripts // @grant none // @require https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js // @match https://github.com/ // @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') || Number(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; });