{"id":26208190,"url":"https://github.com/douxxtech/terminal-ogp","last_synced_at":"2025-12-24T12:21:20.548Z","repository":{"id":279644261,"uuid":"939490195","full_name":"douxxtech/terminal-ogp","owner":"douxxtech","description":"Terminal OpenGraph Preview is a free and opensource alternative to original github opengraph image. You can get different themes and informations on your brand new opengraph image with this API !","archived":false,"fork":false,"pushed_at":"2025-03-26T21:58:05.000Z","size":38,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-19T13:57:20.349Z","etag":null,"topics":["api","image","opengraph","social","social-preview","statistics","stats"],"latest_commit_sha":null,"homepage":"https://togp.xyz","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/douxxtech.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":"2025-02-26T16:14:16.000Z","updated_at":"2025-05-12T16:59:34.000Z","dependencies_parsed_at":"2025-02-26T16:56:36.195Z","dependency_job_id":"50d98cf9-27ac-4b0c-999e-d7006a915ae6","html_url":"https://github.com/douxxtech/terminal-ogp","commit_stats":null,"previous_names":["douxxtech/terminal-ogp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/douxxtech/terminal-ogp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douxxtech%2Fterminal-ogp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douxxtech%2Fterminal-ogp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douxxtech%2Fterminal-ogp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douxxtech%2Fterminal-ogp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/douxxtech","download_url":"https://codeload.github.com/douxxtech/terminal-ogp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/douxxtech%2Fterminal-ogp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28002359,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-24T02:00:07.193Z","response_time":83,"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":["api","image","opengraph","social","social-preview","statistics","stats"],"created_at":"2025-03-12T06:19:58.215Z","updated_at":"2025-12-24T12:21:20.540Z","avatar_url":"https://github.com/douxxtech.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\r\n  \u003ca href=\"#\" style=\"display: block; text-align: center;\"\u003e\r\n    \u003cimg \r\n      alt=\"Image of this repo\" \r\n      src=\"https://togp.xyz?owner=douxxtech\u0026repo=terminal-ogp\u0026theme=json-dark-all\u0026cache=false\" \r\n      type=\"image/svg+xml\" \r\n      style=\"border-radius: 20px; overflow: hidden;\" \r\n    /\u003e\r\n    \u003ch1 align=\"center\"\u003eTerminal-ogp\u003c/h1\u003e\r\n  \u003c/a\u003e\r\n\u003c/div\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n  Bored of github default opengraph ? Replace it !\r\n\u003c/p\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003ca href=\"#introduction\"\u003e\u003cstrong\u003eIntroduction\u003c/strong\u003e\u003c/a\u003e ·\r\n  \u003ca href=\"#features\"\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/a\u003e ·\r\n  \u003ca href=\"#how-to-use\"\u003e\u003cstrong\u003eHow to use\u003c/strong\u003e\u003c/a\u003e ·\r\n  \u003ca href=\"#Themes\"\u003e\u003cstrong\u003eThemes\u003c/strong\u003e\u003c/a\u003e ·\r\n  \u003ca href=\"#deployment\"\u003e\u003cstrong\u003eDeployment\u003c/strong\u003e\u003c/a\u003e ·\r\n  \u003ca href=\"#faq\"\u003e\u003cstrong\u003eFAQ\u003c/strong\u003e\u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\n\u003cbr/\u003e\r\n\r\n# Important Notices\r\n\r\n\u003e [!IMPORTANT]\\\r\n\u003e Since the GitHub API only [allows 5k requests per hour per user account](https://docs.github.com/en/graphql/overview/resource-limitations), the public instance hosted on `https://togp.xyz` could possibly hit the rate limited and result in a ratelimit error response. To avoid this, prioritze using caching on github or [deploying your own instance](#deployment)\r\n\r\n\u003e [!IMPORTANT]\\\r\n\u003e This is a small project, and the host is not free. To support me, consider starring this repo!\r\n\r\n\r\n## Introduction\r\n\r\n`Terminal ogp` is providing an alternative to [github opengraphs](https://opengraph.githubassets.com/somerandomshit/douxxtech/terminal-ogp) images that i find kinda boring. It uses images that are terminal-like to get a more \"tecchie\" look that i find cool !\r\n\r\n\u003ch6\u003eTerminal-ogp is a \u003ca href=\"https://dpip.lol\" target=\"_blank\"\u003eDPIP.lol\u003c/a\u003e project.\u003c/h6\u003e\r\n\r\n## Features\r\n\r\n- [X] Themes\r\n- [X] No caching issues\r\n- [X] No 500 errors\r\n- [X] Always return an svg\r\n- [ ] Convert svgs to pngs\r\n- [X] Orgs support\r\n- [ ] Server-side caching\r\n- [ ] Github workflow to auto-update the social preview (note that this isn't possible at this time)\r\n\r\n## How to use\r\n\r\n### 1. In a ReadMe\r\nTo use a terminal opengraph in your readme, take this following code and paste it into your readme:\r\n```md\r\n![Terminal GitOpenGraphImage](https://togp.xyz/?owner=YOUR_USERNAME\u0026repo=YOUR_REPO\u0026avatar=false)\r\n```\r\nThis will show the image in your readme, make sure to replace `YOUR_USERNAME` and `YOUR_REPO` by the actual values. Setting avatar to true will add your avatar in the bottom right corner.\r\n\r\n\u003e Note =\u003e If you need your image to be updated each time you reload the readme, set the parameter `cache` to false (add `\u0026cache=false` in the URL)\r\n\r\n## Themes\r\n\r\n\u003e [!NOTE]  \r\n\u003e There are several themes of this API, **BUT WE NEED MORE** ! If you got an idea, [please check the tutorial to provide us your very own theme !](themes/PUBLISH.md)\r\n\r\nUse `?theme=THEME_NAME` parameter like so:\r\n\r\n```md\r\n![togp](https://togp.xyz/?owner=douxxtech\u0026repo=terminal-ogp\u0026theme=json-dark-all)\r\n```\r\n\r\n[Check all the themes here !](themes/THEMES.md)\r\n\r\nYou can also use `?svg=https://example.com/mysvg.svg` if you have a custom svg file.\r\nAdding `?failurl=https://example.com/fallback.svg`: Returns a `Location:` header to the given url if something fails.\r\n\r\n## Deployment\r\nTo host your very own version of this project, follow those easy steps:\r\n\r\n1. Clone this repository\r\n\r\nOpen a terminal and use git to clone this repository\r\n```shell\r\ngit clone https://github.com/douxxtech/terminal-ogp\r\n```\r\n\r\n2. Host the files\r\n\r\nGo on your PHP webserver server (make sure that php is allowed in the php.ini) and put the files of [/src/](src/) into your file server.\r\n\r\n3. Configure the php file\r\n\r\nOpen the [/src/index.php](src/index.php) and replace `YOUR_GITHUB_TOKEN` with a personal access token with repo permissions.\r\n[Click here to create a personal token](https://github.com/settings/tokens/new)\r\n\r\n## FAQ\r\n\r\n**Q: Can we contribute to this project ?**  \r\nA: Sure! To do so, fork this repository, make your changes and do a pull request !\r\n**Q: Are you storing users datas ?**  \r\nA: No. We aren't collecting or storing anything  \r\n**Q: How to support you ?**  \r\nA: I don't want any money. But you can star this repo or follow me !\r\n\r\n--- \r\n## Specific content\r\n\r\n\u003ch6\u003eerr\u003c/h6\u003e\r\n\r\n## Errors returned by the API\r\n\r\nThe API may can return an error page if something went wrong or is missing.  \r\n\r\n![Error image](https://togp.xyz/svg/error.svg)\r\n\r\nThe error message will most of the time tell where the error occured, so just follow the instructions to fix it.\r\nHowever, if the error message doesn't help you, [consider opening an issue](https://github.com/douxxtech/terminal-ogp/issues/new)\r\n\r\n## Readme Views\r\n\r\n\u003cimg src=\"https://prv-readme-views.dpip.lol/v3_2\"\u003e\r\n\r\n----\r\nMade by douxxtech | douxx.tech | dpip.lol\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdouxxtech%2Fterminal-ogp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdouxxtech%2Fterminal-ogp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdouxxtech%2Fterminal-ogp/lists"}