.*$/s, "");
+ if (kind === "contributor") return `${base}
rrrbeBuilding small tools for GitHub.
Better GitHubAccount age 6 years
This repo Returning contributor
PR history 57 PRs · 54 merged
Activity Active this year
`;
+ return `${top}${repo}${tabs("Code")}
better-github
A Chrome extension that enhances the GitHub experience.
Repository
📁 docs
📁 src
📄 README.md
Stargazers1
r rrbe
View all
`;
+}
+function settings() {
+ return `${prList(true)}
`;
+}
+function bodyFor(id) {
+ switch (id) {
+ case "main_screenshot_without_better_github": return prList(false);
+ case "main_screenshot_with_better_github": return prList(true);
+ case "better-top-repositories": return dashboard();
+ case "pr-issue-default-sort": return prList(true);
+ case "pr-branch-name": return prList(true);
+ case "pr-conflict-indicator": return prList(true, [2, 0, 1, 3, 4]);
+ case "pr-review-status": return prList(true, [1, 0, 2, 3, 4]);
+ case "pr-diff-stats": return prList(true);
+ case "pr-label-position": return prList(true);
+ case "pr-quick-approve": return detail("approve");
+ case "pr-collapse-expand": return detail("collapse");
+ case "contributor-card": return hover("contributor");
+ case "commit-tags": return commits("tags");
+ case "commit-diff-stats": return commits("stats");
+ case "release-asset-downloads": return releases("assets");
+ case "releases-tab": return releases("tab");
+ case "watch-fork-star-popup": return hover("popup");
+ case "file-age-color": return `${top}${repo}${tabs("Code")}
Latest commit fix: preserve trailing space in PR search input 2 days ago
${[".github", "docs", "src", "static", "README.md"].map((n, i) => `
${n}${["2 days ago", "3 days ago", "7 days ago", "2 weeks ago", "last month"][i]}
`).join("")}
`;
+ case "number-copy": return prList(true);
+ case "store-pr-list": return prList(true);
+ case "store-pr-detail": return detail("collapse");
+ case "store-releases": return releases("assets");
+ case "store-contributor": return hover("contributor");
+ case "store-settings": return settings();
+ default: throw Error(`Unknown screenshot: ${id}`);
+ }
+}
+
+const readme = [
+ "main_screenshot_without_better_github", "main_screenshot_with_better_github",
+ "better-top-repositories", "pr-issue-default-sort", "pr-branch-name",
+ "pr-conflict-indicator", "pr-review-status", "pr-diff-stats", "pr-label-position",
+ "pr-quick-approve", "pr-collapse-expand", "contributor-card", "commit-tags",
+ "commit-diff-stats", "release-asset-downloads", "releases-tab",
+ "watch-fork-star-popup", "file-age-color", "number-copy",
+];
+const store = ["store-pr-list", "store-pr-detail", "store-releases", "store-contributor", "store-settings"];
+
+try {
+ const selected = process.argv.slice(2);
+ for (const id of [...readme, ...store].filter((name) => selected.length === 0 || selected.includes(name))) {
+ const isStore = id.startsWith("store-");
+ const overview = id.startsWith("main_screenshot_");
+ const width = isStore || overview ? 1280 : 1200;
+ const height = isStore || overview ? 800 : 500;
+ const focus = ({ "better-top-repositories": "top", "pr-issue-default-sort": "sort", "pr-branch-name": "branch", "pr-conflict-indicator": "conflict", "pr-review-status": "review", "pr-diff-stats": "diff", "pr-label-position": "label", "pr-quick-approve": "approve", "pr-collapse-expand": "collapse", "contributor-card": "contributor", "commit-tags": "tags", "commit-diff-stats": "commit-diff", "release-asset-downloads": "downloads", "releases-tab": "tab", "file-age-color": "age", "number-copy": "number" })[id] ?? "";
+ const html = `
${bodyFor(id)}`;
+ const source = join(temp, `${id}.html`);
+ const output = resolve(here, isStore ? `chrome-web-store/${id.slice(6)}.png` : `${id}.png`);
+ writeFileSync(source, html);
+ rmSync(output, { force: true });
+ await new Promise((resolveShot, rejectShot) => {
+ const child = spawn(chrome, ["--headless=new", "--disable-gpu", "--no-first-run", "--no-default-browser-check", `--user-data-dir=${join(temp, id)}`, `--window-size=${width},${height}`, `--screenshot=${output}`, pathToFileURL(source).href], { stdio: "ignore", detached: true });
+ const start = Date.now();
+ const timer = setInterval(() => {
+ if (existsSync(output) && statSync(output).size > 0) {
+ clearInterval(timer);
+ try { process.kill(-child.pid, "SIGTERM"); } catch { /* Chrome already exited. */ }
+ resolveShot();
+ } else if (Date.now() - start > 20000) {
+ clearInterval(timer);
+ try { process.kill(-child.pid, "SIGTERM"); } catch { /* Chrome already exited. */ }
+ rejectShot(new Error(`Timed out rendering ${id}`));
+ }
+ }, 100);
+ child.on("error", rejectShot);
+ });
+ console.log(`${id}: ${width}x${height}`);
+ }
+} finally {
+ await new Promise((resolveDone) => setTimeout(resolveDone, 1000));
+ rmSync(temp, { recursive: true, force: true, maxRetries: 10, retryDelay: 100 });
+}
diff --git a/docs/screenshots/chrome-web-store/Better-Github-Access-Token-Setting.png b/docs/screenshots/chrome-web-store/Better-Github-Access-Token-Setting.png
deleted file mode 100644
index f4ebefc..0000000
Binary files a/docs/screenshots/chrome-web-store/Better-Github-Access-Token-Setting.png and /dev/null differ
diff --git a/docs/screenshots/chrome-web-store/Better-Github-Feature-Setting.png b/docs/screenshots/chrome-web-store/Better-Github-Feature-Setting.png
deleted file mode 100644
index 7d54716..0000000
Binary files a/docs/screenshots/chrome-web-store/Better-Github-Feature-Setting.png and /dev/null differ
diff --git a/docs/screenshots/chrome-web-store/Better-Github.png b/docs/screenshots/chrome-web-store/Better-Github.png
deleted file mode 100644
index b6bea87..0000000
Binary files a/docs/screenshots/chrome-web-store/Better-Github.png and /dev/null differ
diff --git a/docs/screenshots/chrome-web-store/contributor.png b/docs/screenshots/chrome-web-store/contributor.png
new file mode 100644
index 0000000..7d6f816
Binary files /dev/null and b/docs/screenshots/chrome-web-store/contributor.png differ
diff --git a/docs/screenshots/chrome-web-store/pr-detail.png b/docs/screenshots/chrome-web-store/pr-detail.png
new file mode 100644
index 0000000..fa3f0fd
Binary files /dev/null and b/docs/screenshots/chrome-web-store/pr-detail.png differ
diff --git a/docs/screenshots/chrome-web-store/pr-list.png b/docs/screenshots/chrome-web-store/pr-list.png
new file mode 100644
index 0000000..ac956b6
Binary files /dev/null and b/docs/screenshots/chrome-web-store/pr-list.png differ
diff --git a/docs/screenshots/chrome-web-store/releases.png b/docs/screenshots/chrome-web-store/releases.png
new file mode 100644
index 0000000..584c4f3
Binary files /dev/null and b/docs/screenshots/chrome-web-store/releases.png differ
diff --git a/docs/screenshots/chrome-web-store/settings.png b/docs/screenshots/chrome-web-store/settings.png
new file mode 100644
index 0000000..2e1f60d
Binary files /dev/null and b/docs/screenshots/chrome-web-store/settings.png differ
diff --git a/docs/screenshots/commit-diff-stats.png b/docs/screenshots/commit-diff-stats.png
new file mode 100644
index 0000000..8b6f125
Binary files /dev/null and b/docs/screenshots/commit-diff-stats.png differ
diff --git a/docs/screenshots/commit-tags.png b/docs/screenshots/commit-tags.png
index ab39a97..c6d3234 100644
Binary files a/docs/screenshots/commit-tags.png and b/docs/screenshots/commit-tags.png differ
diff --git a/docs/screenshots/contributor-card.png b/docs/screenshots/contributor-card.png
index 6e1330d..60f0e13 100644
Binary files a/docs/screenshots/contributor-card.png and b/docs/screenshots/contributor-card.png differ
diff --git a/docs/screenshots/file-age-color.png b/docs/screenshots/file-age-color.png
index 8eed4c3..b71c7ea 100644
Binary files a/docs/screenshots/file-age-color.png and b/docs/screenshots/file-age-color.png differ
diff --git a/docs/screenshots/main_screenshot_with_better_github.png b/docs/screenshots/main_screenshot_with_better_github.png
index 39e047a..ac956b6 100644
Binary files a/docs/screenshots/main_screenshot_with_better_github.png and b/docs/screenshots/main_screenshot_with_better_github.png differ
diff --git a/docs/screenshots/main_screenshot_without_better_github.png b/docs/screenshots/main_screenshot_without_better_github.png
index 91895e6..ce959f0 100644
Binary files a/docs/screenshots/main_screenshot_without_better_github.png and b/docs/screenshots/main_screenshot_without_better_github.png differ
diff --git a/docs/screenshots/number-copy.png b/docs/screenshots/number-copy.png
new file mode 100644
index 0000000..befc5e7
Binary files /dev/null and b/docs/screenshots/number-copy.png differ
diff --git a/docs/screenshots/pr-branch-name.png b/docs/screenshots/pr-branch-name.png
index 3207f0f..bc5c4e6 100644
Binary files a/docs/screenshots/pr-branch-name.png and b/docs/screenshots/pr-branch-name.png differ
diff --git a/docs/screenshots/pr-collapse-expand-1.png b/docs/screenshots/pr-collapse-expand-1.png
deleted file mode 100644
index a3a2aa3..0000000
Binary files a/docs/screenshots/pr-collapse-expand-1.png and /dev/null differ
diff --git a/docs/screenshots/pr-collapse-expand-2.png b/docs/screenshots/pr-collapse-expand-2.png
deleted file mode 100644
index 3aa0884..0000000
Binary files a/docs/screenshots/pr-collapse-expand-2.png and /dev/null differ
diff --git a/docs/screenshots/pr-collapse-expand.png b/docs/screenshots/pr-collapse-expand.png
new file mode 100644
index 0000000..8989ba4
Binary files /dev/null and b/docs/screenshots/pr-collapse-expand.png differ
diff --git a/docs/screenshots/pr-commit-diff-stats.png b/docs/screenshots/pr-commit-diff-stats.png
deleted file mode 100644
index ce3a1ed..0000000
Binary files a/docs/screenshots/pr-commit-diff-stats.png and /dev/null differ
diff --git a/docs/screenshots/pr-conflict-indicator.png b/docs/screenshots/pr-conflict-indicator.png
new file mode 100644
index 0000000..30e6a80
Binary files /dev/null and b/docs/screenshots/pr-conflict-indicator.png differ
diff --git a/docs/screenshots/pr-diff-stats.png b/docs/screenshots/pr-diff-stats.png
new file mode 100644
index 0000000..7825cad
Binary files /dev/null and b/docs/screenshots/pr-diff-stats.png differ
diff --git a/docs/screenshots/pr-issue-default-sort.png b/docs/screenshots/pr-issue-default-sort.png
index 39d879e..f3a2db4 100644
Binary files a/docs/screenshots/pr-issue-default-sort.png and b/docs/screenshots/pr-issue-default-sort.png differ
diff --git a/docs/screenshots/pr-label-position.png b/docs/screenshots/pr-label-position.png
index 2bfbf52..58b62b5 100644
Binary files a/docs/screenshots/pr-label-position.png and b/docs/screenshots/pr-label-position.png differ
diff --git a/docs/screenshots/pr-quick-approve.png b/docs/screenshots/pr-quick-approve.png
index 814a5fc..1c9cc21 100644
Binary files a/docs/screenshots/pr-quick-approve.png and b/docs/screenshots/pr-quick-approve.png differ
diff --git a/docs/screenshots/pr-review-status.png b/docs/screenshots/pr-review-status.png
index a614497..bb54f0e 100644
Binary files a/docs/screenshots/pr-review-status.png and b/docs/screenshots/pr-review-status.png differ
diff --git a/docs/screenshots/release-asset-downloads.png b/docs/screenshots/release-asset-downloads.png
new file mode 100644
index 0000000..1e41ad4
Binary files /dev/null and b/docs/screenshots/release-asset-downloads.png differ
diff --git a/docs/screenshots/releases-tab.png b/docs/screenshots/releases-tab.png
index c596c70..694319c 100644
Binary files a/docs/screenshots/releases-tab.png and b/docs/screenshots/releases-tab.png differ
diff --git a/docs/screenshots/watch-fork-star-popup.png b/docs/screenshots/watch-fork-star-popup.png
index d8ade5f..60477dc 100644
Binary files a/docs/screenshots/watch-fork-star-popup.png and b/docs/screenshots/watch-fork-star-popup.png differ