{"id":15645325,"url":"https://github.com/transitive-bullshit/kwote","last_synced_at":"2026-03-09T03:35:54.747Z","repository":{"id":39615704,"uuid":"485117336","full_name":"transitive-bullshit/kwote","owner":"transitive-bullshit","description":"Create beautiful quotes that capture your attention.","archived":false,"fork":false,"pushed_at":"2025-04-02T07:01:44.000Z","size":646,"stargazers_count":55,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-30T12:06:57.919Z","etag":null,"topics":["quotes","social-media","webapp"],"latest_commit_sha":null,"homepage":"https://kwote-pi.vercel.app","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/transitive-bullshit.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":".github/funding.yml","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},"funding":{"github":["transitive-bullshit"]}},"created_at":"2022-04-24T19:12:22.000Z","updated_at":"2025-04-02T07:01:48.000Z","dependencies_parsed_at":"2025-04-30T12:08:14.587Z","dependency_job_id":null,"html_url":"https://github.com/transitive-bullshit/kwote","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/transitive-bullshit/kwote","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transitive-bullshit%2Fkwote","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transitive-bullshit%2Fkwote/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transitive-bullshit%2Fkwote/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transitive-bullshit%2Fkwote/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/transitive-bullshit","download_url":"https://codeload.github.com/transitive-bullshit/kwote/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/transitive-bullshit%2Fkwote/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30281603,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T02:57:19.223Z","status":"ssl_error","status_checked_at":"2026-03-09T02:56:26.373Z","response_time":61,"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":["quotes","social-media","webapp"],"created_at":"2024-10-03T12:06:23.787Z","updated_at":"2026-03-09T03:35:54.729Z","avatar_url":"https://github.com/transitive-bullshit.png","language":"TypeScript","funding_links":["https://github.com/sponsors/transitive-bullshit"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://kwote-pi.vercel.app\"\u003e\n    \u003cimg alt=\"Kwote makes it easy to create beautiful images that capture your attention.\" src=\"https://user-images.githubusercontent.com/552829/165194965-43990aa4-598e-4f0c-975f-a479bb8bfc7a.png\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/transitive-bullshit/kwote/actions/workflows/build.yml\"\u003e\u003cimg src=\"https://github.com/transitive-bullshit/kwote/actions/workflows/build.yml/badge.svg\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://prettier.io\"\u003e\u003cimg src=\"https://img.shields.io/badge/code_style-prettier-brightgreen.svg\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Features\n\n- Easy text highlights via normal rich text formatting\n  - Yellow = Bold, Blue = Italic\n- Export to png, jpeg, svg, or copy png to clipboard\n- Supports locking the aspect ratio\n- Supports aspect ratio optimization for twitter\n  - For twitter inline images, max 2.0, min 0.75 (otherwise the image will be cropped)\n  - For twitter social card images, preferably 2.0 or 1.91\n- Background gradient images\n- Google fonts\n- Syncs state to local storage\n- Simple, free, and open source 💕\n\n## Examples\n\n![Example kwote](https://user-images.githubusercontent.com/552829/165413849-a2eb4c22-c014-499d-a547-90eb35e0355a.jpg)\nBy [Richard Hamming](https://www.cs.virginia.edu/~robins/YouAndYourResearch.html)\n\n---\n\n![Example kwote](https://user-images.githubusercontent.com/552829/165353058-0dfe6761-a844-4d47-992a-21729964f06b.jpg)\nBy [Aza Raskin](https://uxmag.com/articles/you-are-solving-the-wrong-problem)\n\n---\n\n![Example kwote](https://user-images.githubusercontent.com/552829/165404654-5acbf4a8-c176-4511-a5c8-f44e8eb0a9ec.jpg)\nBy [Steven Pressfield](https://stevenpressfield.com/2009/10/writing-wednesdays-2-the-most-important-writing-lession-i-ever-learned/)\n\n---\n\n![Example kwote](https://user-images.githubusercontent.com/552829/165354808-90a8e6c6-d0e6-4f0b-ba73-c4ecec9a8981.jpg)\nBy [Richard Hamming](https://www.cs.virginia.edu/~robins/YouAndYourResearch.html)\n\n---\n\nHave a great quote you'd like to see added here? Post your quote image on Twitter and tag me [@transitive_bs](https://twitter.com/transitive_bs).\n\n## FAQ\n\n### How do I use Kwote?\n\n1. Open [kwote-pi.vercel.app](https://kwote-pi.vercel.app/)\n2. Replace the main text with your favorite quote\n3. Highlight any important parts of the text that you want to call out\n4. Export your image 👻\n\nNote that Kwote is a webapp optimized for desktop browsers, though mobile is also supported.\n\n### How do I highlight things?\n\nSelect any text you want to highlight and mark it as bold (yellow) or italic (blue) using either your standard system keyboard shortcuts or by selecting the color from the selection popup.\n\n_Italic text will have a blue highlight._ (CMD + I or Control + I)\n\n**Bold text will have a yellow highlight.** (CMD + B or Control + B)\n\n### How does Kwote work?\n\nKwote's editor is built using the [Lexical](https://github.com/facebook/lexical) text editing framework from Facebook. We replaced the normal bold formatting with a yellow highlight and the normal italic formatting with a blue highlight ([via CSS](https://github.com/transitive-bullshit/kwote/blob/858212b8e1605dea90cba669cdedf76a1f17f39f/components/Editor/styles.module.css#L61-L77)).\n\nWe use [html-to-image](https://github.com/bubkoo/html-to-image) to render the resulting image client-side via some cool [SVG magic](https://github.com/bubkoo/html-to-image#how-it-works).\n\nThe webapp itself is built using [Next.js](https://nextjs.org/), [React](https://reactjs.org/), and [Vercel](https://vercel.com/).\n\n### How can I add a quote to this readme?\n\nPost the image on Twitter and tag me [@transitive_bs](https://twitter.com/transitive_bs). I'll retweet my favorite quotes, and if I receive enough submissions, I'll add them to a gallery on the main site.\n\n## License\n\nMIT © [Travis Fischer](https://transitivebullsh.it)\n\nSupport my open source work by \u003ca href=\"https://twitter.com/transitive_bs\"\u003efollowing me on twitter \u003cimg src=\"https://storage.googleapis.com/saasify-assets/twitter-logo.svg\" alt=\"twitter\" height=\"24px\" align=\"center\"\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftransitive-bullshit%2Fkwote","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftransitive-bullshit%2Fkwote","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftransitive-bullshit%2Fkwote/lists"}