{"id":47422460,"url":"https://github.com/linuz90/gists.sh","last_synced_at":"2026-04-04T22:01:15.131Z","repository":{"id":340866691,"uuid":"1167699818","full_name":"linuz90/gists.sh","owner":"linuz90","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-06T14:29:17.000Z","size":491,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-06T18:23:26.796Z","etag":null,"topics":["gist","markdown","nextjs","viewer"],"latest_commit_sha":null,"homepage":"https://gists.sh","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linuz90.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-26T15:31:34.000Z","updated_at":"2026-03-06T14:29:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/linuz90/gists.sh","commit_stats":null,"previous_names":["linuz90/gists.sh"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/linuz90/gists.sh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linuz90%2Fgists.sh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linuz90%2Fgists.sh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linuz90%2Fgists.sh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linuz90%2Fgists.sh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linuz90","download_url":"https://codeload.github.com/linuz90/gists.sh/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linuz90%2Fgists.sh/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31416324,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["gist","markdown","nextjs","viewer"],"created_at":"2026-03-21T17:00:28.999Z","updated_at":"2026-04-04T22:01:15.124Z","avatar_url":"https://github.com/linuz90.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# gists.sh\n\nA minimal, beautiful viewer for GitHub Gists. Replace `gist.github.com` with `gists.sh` in any gist URL. That's it.\n\n**[gists.sh](https://gists.sh)**\n\n## Usage\n\n```\ngist.github.com/user/abc123  →  gists.sh/user/abc123\n```\n\nEvery file type gets the best possible rendering:\n\n- **Markdown** - proper typography, GFM alerts, frontmatter tables, auto table of contents, heading anchors\n- **Code** - syntax highlighting via Shiki (same engine as VS Code), with copy buttons on every block\n- **JSON / GeoJSON** - collapsible tree viewer\n- **YAML** - parsed and displayed as a navigable tree\n- **CSV / TSV** - sortable, searchable data table\n- **ICS / iCal** - calendar event cards with dates, locations, and recurrence\n\nMulti-file gists get tabs. Toggle between \"Pretty\" and \"Raw\" views on structured files. Everything looks clean.\n\n### URL parameters\n\nCustomize how any gist renders by appending query params:\n\n| Param | Effect |\n|---|---|\n| `?theme=dark` | Force dark mode |\n| `?theme=light` | Force light mode |\n| `?noheader` | Hide title, tabs, and copy buttons |\n| `?nofooter` | Hide author info and footer |\n| `?mono` | Monospace font for all text |\n| `?file={filename}` | Show a specific file from multi-file gists |\n\nCombine them: `gists.sh/user/abc123?theme=dark\u0026noheader\u0026nofooter`\n\n### Raw content\n\nFetch raw file content with proper `Content-Type` headers via the API:\n\n```\ngists.sh/api/raw/{gist_id}\ngists.sh/api/raw/{gist_id}?file={filename}\n```\n\n## Agent skill\n\nTeach your coding agent to use gists.sh links whenever it creates or shares gists. Works with Claude Code, Codex, Cursor, and any agent that supports [skills](https://skills.sh).\n\n```bash\nnpx skills add linuz90/gists.sh\n```\n\n## Self-hosting\n\n```bash\npnpm install\ncp .env.local.example .env.local  # add your GITHUB_TOKEN\npnpm dev\n```\n\nA [GitHub personal access token](https://github.com/settings/tokens) with the `gist` scope raises your API rate limit from 60 to 5,000 requests/hour. Note: the `gist` scope grants read access to all gists on the account, including secret ones. If that's a concern, use a token from a dedicated account with no sensitive gists.\n## Stack\n\nNext.js 15, Tailwind CSS v4, react-markdown, Shiki, deployed on Vercel.\n\n## Author\n\nBuilt by [Fabrizio Rinaldi](https://fabrizio.so) ([@linuz90](https://x.com/linuz90)).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinuz90%2Fgists.sh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinuz90%2Fgists.sh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinuz90%2Fgists.sh/lists"}