// utils let repoUrl = $("div.repohead-details-container > h1.public > strong[itemprop=name] > a").attr("href"); function addStyle(style) { $("body").after(``); } // don't use the (ugly) new font // $("body").css("font-family", $("body").css("font-family").replace("BlinkMacSystemFont,", "")); // releases tab (function() { let repoNav = $("nav.reponav"); if (repoNav.length > 0) { let releasesUrl = repoUrl + "/releases"; let releasesTab = $(""); releasesTab.attr("href", releasesUrl); releasesTab.attr("data-selected-links", releasesUrl); releasesTab.addClass("js-selected-navigation-item reponav-item"); let icon = ""; releasesTab.append(icon); releasesTab.append(" Releases"); let counter = $(""); counter.text("0"); counter.addClass("counter"); releasesTab.append(counter); repoNav.append(releasesTab); $.ajax({ url: "https://api.github.com/repos" + repoUrl + "/releases", dataType: "text", success: (data) => { let json = JSON.parse(data); counter.text(json.length); } }); if (location.pathname.endsWith("/releases")) { $("nav.reponav > span:first > a").removeClass("selected"); releasesTab.addClass("selected"); } } })(); // add explore link to menu (function() { if (!location.hostname.startsWith("gist")) { let lastItem = $(".header-nav[role=navigation] > .header-nav-item:last"); if (lastItem.find("a.header-nav-link").text() != "Explore") { let exploreItem = $("
  • "); exploreItem.addClass("header-nav-item"); let exploreLink = $(""); exploreLink.addClass("header-nav-link"); exploreLink.attr("href", "/explore"); exploreLink.text("Explore"); exploreItem.append(exploreLink); lastItem.before(exploreItem); } } })(); // linkify branch references in PRs (function() { $("span.commit-ref").each((i, el) => { el = $(el); let title = el.attr("title"); if (title) { let bits = title.split(":"); let repo = bits[0]; let branch = bits[1]; let link = $(""); link.attr("href", `https://github.com/${repo}/tree/${branch}`); el.wrap(link); } }); addStyle("span.commit-ref:hover, span.commit-ref:hover span { text-decoration: underline; }"); })(); // linkify issue/pr references in issue titles (function() { let title = $("span.js-issue-title"); if (/#(\d+)/.test(title.text())) { title.html(title.text().replace(/#(\d+)/, `#$1`)); } })(); // add edit button to readme (function() { let readme = $("#readme"); if (!readme.length) return; let name = readme.find("h3").text().trim(); let branch = $(".file-navigation > .select-menu.float-left > button > .js-select-button").text(); let editUrl = `/${repoUrl}/edit/${branch}/${name}`; let div = $("
    "); div.attr("id", "readme-edit-link"); div.css("position", "absolute"); div.css("top", "10px"); div.css("right", "40px"); div.css("opacity", "0.2"); div.css("transform", "opacity 250ms"); let a = $(""); a.attr("href", editUrl); let svg = ""; a.append(svg); div.append(a); readme.append(div); addStyle(` #readme.blob #readme-edit-link { display: none; } #readme-edit-link:hover { opacity: 1; } `); })();