From dcbbf12d2ed2925af589b35353290c63cd6ca908 Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Fri, 9 Sep 2016 18:19:16 -0400 Subject: [PATCH] Add edit button to readme --- .js/github.com.js | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/.js/github.com.js b/.js/github.com.js index db43f13..0d8ae70 100644 --- a/.js/github.com.js +++ b/.js/github.com.js @@ -1,6 +1,10 @@ // 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,", "")); @@ -14,7 +18,7 @@ let repoUrl = $("div.repohead-details-container > h1.public > strong[itemprop=na releasesTab.attr("data-selected-links", releasesUrl); releasesTab.addClass("js-selected-navigation-item reponav-item"); - let icon = $(""); + let icon = ""; releasesTab.append(icon); releasesTab.append(" Releases"); @@ -74,7 +78,7 @@ let repoUrl = $("div.repohead-details-container > h1.public > strong[itemprop=na el.wrap(link); } }); - $("body").after(""); + addStyle("span.commit-ref:hover, span.commit-ref:hover span { text-decoration: underline; }"); })(); // linkify issue/pr references in issue titles @@ -83,4 +87,37 @@ let repoUrl = $("div.repohead-details-container > h1.public > strong[itemprop=na 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; } + `); })(); \ No newline at end of file