{"id":23472826,"url":"https://github.com/harrisjose/social-image","last_synced_at":"2026-03-20T01:31:00.524Z","repository":{"id":86071491,"uuid":"400969257","full_name":"harrisjose/social-image","owner":"harrisjose","description":"OpenGraph and Twitter Image Service that runs on deta.sh","archived":false,"fork":false,"pushed_at":"2021-11-08T02:11:47.000Z","size":319,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-13T08:55:19.162Z","etag":null,"topics":["deta","open-graph","social-media","social-share"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/harrisjose.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}},"created_at":"2021-08-29T06:33:30.000Z","updated_at":"2023-03-05T04:04:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"b5a586cc-24c3-482d-8506-6bd0359486a1","html_url":"https://github.com/harrisjose/social-image","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/harrisjose/social-image","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harrisjose%2Fsocial-image","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harrisjose%2Fsocial-image/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harrisjose%2Fsocial-image/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harrisjose%2Fsocial-image/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/harrisjose","download_url":"https://codeload.github.com/harrisjose/social-image/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harrisjose%2Fsocial-image/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28629922,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["deta","open-graph","social-media","social-share"],"created_at":"2024-12-24T17:14:09.212Z","updated_at":"2026-01-21T08:11:16.154Z","avatar_url":"https://github.com/harrisjose.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Open graph image service that runs on deta.sh\n\n[![Deploy](https://button.deta.dev/1/svg)](https://go.deta.dev/deploy)\n\nA deta micro that generates a dynamic image that you can embed in your \u003cmeta\\\u003e tag.\n\n## Usage\n\nYou can simply pass the title and description of your blog post to the micro and it will generate an image for you!\n\n```html\n\u003chead\u003e\n  \u003ctitle\u003eHello World\u003c/title\u003e\n  \u003cmeta\n    property=\"og:image\"\n    content=\"https://\u003cmicro url\u003e/?title=Hello%20World\u0026description=from%20a%20micro%20running%20on%20deta.sh\"\n  /\u003e\n\u003c/head\u003e\n```\n\n## Why use this service?\n\nFrom [og-image](https://github.com/vercel/og-image/blob/main/README.md#why-use-this-service):\n\n\u003e The short answer is that it would take a long time to painstakingly design an image for every single blog post and every single documentation page. And we don't want the exact same image for every blog post because that wouldn't make the article stand out when it was shared to Twitter\n\n## Deploying to deta.sh\n\nYou'll want to fork this repository and deploy your own image generator.\n\n1. Click the fork button at the top right of this page\n2. Clone the forked repo to your local machine\n3. [Customize](#Customizing-the-image) the html template in public/index.html\n4. Push your changes\n5. Use the `Deploy to Deta` button to deploy the micro into your project\n6. (Optional) Put your micro behind cloudflare and configure caching\n\n## Customizing the image\n\nYou can start the demo server to preview how the image will look like\n\n```bash\nnpm run demo\n```\n\nTo customize, change the code in `public/index.html`. Query params in the URL are directly used to replace placeholders in the html file using [ETA](https://eta.js.org/).\n\nYou'll also want to have a fallback image in case something breaks. Replace the file at `public/default.png` with your own.\n\n## Credits\n\n- Guide on [generative images with SVG](https://georgefrancis.dev/writing/generative-svg-social-images/) by [@georgedoescode](https://twitter.com/georgedoescode)\n\n- Examples and other approaches at [CSS Tricks](https://css-tricks.com/auto-generated-social-media-images/)\n\n- A lot of code borrowed from [Open Graph Image as a Service](https://github.com/vercel/og-image/blob/main/README.md#why-use-this-service)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharrisjose%2Fsocial-image","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharrisjose%2Fsocial-image","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharrisjose%2Fsocial-image/lists"}