Append Star History chart to GitHub repository top pages.
// ==UserScript==
// @name GitHub Star History
// @description Append Star History chart to GitHub repository top pages.
// @namespace https://github.com/to
// @version 0.1
// @author Gemini 3 & to
// @license MIT
//
// @run-at document-idle
// @match https://github.com/*/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=github.com
//
// @grant GM_xmlhttpRequest
// @connect api.star-history.com
// ==/UserScript==
const intervalId = setInterval(() => {
const pathParts = window.location.pathname.split('/').filter(Boolean);
if (pathParts.length !== 2)
return;
const targetDiv = document.querySelector('article.markdown-body');
if (!targetDiv)
return;
const [owner, repo] = pathParts;
GM_xmlhttpRequest({
method: 'GET',
url: `https://api.star-history.com/svg?repos=${owner}/${repo}&type=date&legend=top-left`,
onload: res => {
const svgUrl = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(res.responseText)}`;
targetDiv.insertAdjacentHTML('beforeend',
`<img src="${svgUrl}" style="width: 100%; height: auto;" />`);
}
});
clearInterval(intervalId);
}, 500);