{"id":51293274,"url":"https://github.com/aaronvanston/github-screenshot-lightbox","last_synced_at":"2026-06-30T12:04:07.669Z","repository":{"id":363954700,"uuid":"1265665389","full_name":"aaronvanston/github-screenshot-lightbox","owner":"aaronvanston","description":"Open GitHub screenshots and image attachments in an in-page lightbox.","archived":false,"fork":false,"pushed_at":"2026-06-11T03:01:00.000Z","size":3083,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-11T05:05:04.160Z","etag":null,"topics":["browser-extension","github","lightbox","userscript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aaronvanston.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-11T01:28:29.000Z","updated_at":"2026-06-11T03:01:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/aaronvanston/github-screenshot-lightbox","commit_stats":null,"previous_names":["aaronvanston/github-screenshot-lightbox"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/aaronvanston/github-screenshot-lightbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronvanston%2Fgithub-screenshot-lightbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronvanston%2Fgithub-screenshot-lightbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronvanston%2Fgithub-screenshot-lightbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronvanston%2Fgithub-screenshot-lightbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aaronvanston","download_url":"https://codeload.github.com/aaronvanston/github-screenshot-lightbox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronvanston%2Fgithub-screenshot-lightbox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34965649,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-30T02:00:05.919Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser-extension","github","lightbox","userscript"],"created_at":"2026-06-30T12:04:06.876Z","updated_at":"2026-06-30T12:04:07.646Z","avatar_url":"https://github.com/aaronvanston.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Screenshot Lightbox\n\n![GitHub Screenshot Lightbox demo](media/lightbox-demo.gif)\n\nA tiny browser extension and userscript that opens GitHub issue, pull request, and comment screenshots in an in-page lightbox instead of a new tab.\n\n## Why This Exists\n\nAI-assisted development works best when agents attach evidence to the work they produce: screenshots, GIFs, UI states, before/after comparisons, and visual proof that a change behaves as expected. GitHub already makes it easy to drop that evidence into pull request descriptions and comments, but reviewing it is awkward because image attachments usually open in a new tab.\n\nThis extension keeps that evidence in context. Click an attached screenshot or GIF in a pull request and it opens in a lightweight viewer over the page, with next/previous navigation, section navigation, zooming, and panning. The goal is to make visual review feel closer to inspecting the work in place, without losing the comment, discussion, or surrounding implementation context.\n\n## Features\n\n- Opens GitHub image attachments in a lightweight overlay.\n- Supports left/right arrow keys, on-screen controls, and touch swipes.\n- Shows the file name, section position, and posted time when GitHub exposes it.\n- Includes previous/next section controls that keep the underlying page aligned with the active comment.\n- Supports click-to-zoom, cursor-centered wheel zoom, zoom buttons, and drag-to-pan while zoomed in.\n- Closes with `Esc`, the close button, or backdrop click.\n- Preserves native browser behavior for Cmd-click, Ctrl-click, Shift-click, Alt-click, and middle-click.\n- Runs as either an unpacked Chromium extension or a userscript/site script.\n- Has no runtime dependencies. Bun is only used to build the checked-in content script from TypeScript source.\n\n## Install\n\n### Chromium-Based Browsers\n\n1. Clone or download this repository.\n2. Open your Chromium-based browser's extensions page.\n3. Enable developer mode.\n4. Load this folder as an unpacked extension.\n\nThe extension injects `github-screenshot-lightbox.user.js` on `https://github.com/*`.\n\nTo update an existing unpacked install, pull the latest changes, click reload on the extension card, and refresh any open GitHub tabs.\n\n### Userscript or Site Script\n\nInstall `github-screenshot-lightbox.user.js` in a userscript manager or browser site-script feature with this match pattern:\n\n```text\nhttps://github.com/*\n```\n\nThe metadata block at the top of the generated file is a JavaScript comment, so it is safe to paste the full file into browser tools that accept raw JavaScript.\n\n## Controls\n\n| Action | Control |\n| --- | --- |\n| Open | Click a GitHub image attachment |\n| Next | Right arrow, next button, or swipe left |\n| Previous | Left arrow, previous button, or swipe right |\n| Next section | Shift-right arrow or next section button |\n| Previous section | Shift-left arrow or previous section button |\n| Zoom | Click image, mouse wheel, `+`, `-`, `0`, or zoom buttons |\n| Pan | Drag while zoomed in |\n| Close | `Esc`, close button, or backdrop click |\n| Native new tab | Cmd-click, Ctrl-click, Shift-click, Alt-click, or middle-click |\n\n## Supported GitHub Image URLs\n\nThe script targets direct image links and common GitHub attachment hosts:\n\n- `github.com/user-attachments/assets/...`\n- `user-images.githubusercontent.com`\n- `private-user-images.githubusercontent.com`\n- `camo.githubusercontent.com`\n- direct `.png`, `.jpg`, `.jpeg`, `.gif`, `.webp`, `.avif`, `.svg`, `.bmp`, and `.apng` links\n\n## Development\n\nSource lives in `src/`. The browser extension loads the generated `github-screenshot-lightbox.user.js` file at the project root.\n\n```bash\nbun run check\n```\n\n`bun run check` rebuilds the generated userscript and confirms the build completed. To rebuild without the extra confirmation:\n\n```bash\nbun run build\n```\n\nAfter rebuilding, reload the unpacked extension and refresh any open GitHub tabs.\n\nThe generated `github-screenshot-lightbox.user.js` file is committed on purpose so the repository can be loaded directly as an unpacked extension or pasted into a userscript tool without a build step.\n\n## Privacy\n\nThe extension does not collect analytics, store browsing data, or send data to a server. It only runs on GitHub pages and only manipulates links and images already present in the page.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronvanston%2Fgithub-screenshot-lightbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faaronvanston%2Fgithub-screenshot-lightbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronvanston%2Fgithub-screenshot-lightbox/lists"}