{"id":21300306,"url":"https://github.com/leftmove/paul-graham","last_synced_at":"2025-06-29T00:36:00.627Z","repository":{"id":260141885,"uuid":"880350146","full_name":"leftmove/paul-graham","owner":"leftmove","description":"RSS feed for Paul Graham's essays.","archived":false,"fork":false,"pushed_at":"2025-02-26T13:37:42.000Z","size":1991,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T12:54:34.679Z","etag":null,"topics":["cheerio","paul-graham","rss","typescript"],"latest_commit_sha":null,"homepage":"https://anonyonoor.com/feeds/paul-graham","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/leftmove.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}},"created_at":"2024-10-29T15:09:27.000Z","updated_at":"2025-02-26T13:37:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"71e76034-ff99-49f3-b421-91906298fced","html_url":"https://github.com/leftmove/paul-graham","commit_stats":null,"previous_names":["leftmove/paul-graham"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/leftmove/paul-graham","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leftmove%2Fpaul-graham","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leftmove%2Fpaul-graham/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leftmove%2Fpaul-graham/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leftmove%2Fpaul-graham/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leftmove","download_url":"https://codeload.github.com/leftmove/paul-graham/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leftmove%2Fpaul-graham/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262518105,"owners_count":23323301,"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","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":["cheerio","paul-graham","rss","typescript"],"created_at":"2024-11-21T15:09:11.385Z","updated_at":"2025-06-29T00:36:00.603Z","avatar_url":"https://github.com/leftmove.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Paul Graham RSS Feed\n\nAn RSS feed for Paul Graham's essays.\n\nThis project was created because [Aaron Swart's RSS feed](https://paulgraham.com/rss.html) on Paul Graham's website stopped working. And because I wanted the full text along with the publication date for my RSS reader.\n\nInspired by Daniel Olshansky's [feed](https://github.com/Olshansk/pgessays-rss). (The starting point for this project was an AI translation of his Python code.)\n\n# Link (Hosted)\n\nThe hosted version of this feed is available at **[anonyonoor.com/feeds/paul-graham](https://www.anonyonoor.com/feeds/paul-graham)**.\n\n# Features\n\n- Checks for updates every minute.\n- Includes the full text of each essay.\n- Includes the publication date of each essay.\n- Includes the URL and title of each essay.\n- Self-host possible.\n\n# Usage\n\nIf you don't want to use the hosted version above, you can run the scripts yourself.\n\nThe following code will generate an RSS feed and save it to `feed.rss`.\n\n```javascript\nimport fs from \"fs\";\n\nimport { fetchArticles, fetchContent, generateRssFeed } from \"./feed\";\n\nconst links = await fetchArticles();\nconst articles = await fetchContent(links);\nconst rss = generateRssFeed(articles);\n\nfs.writeFileSync(\"./feed.rss\", rss);\n```\n\nYou can also use third party hosting providers, like [Cloudflare Workers](https://workers.cloudflare.com/) or any other provider you'd like.\n\n(You can also use [Next.js](https://nextjs.org/), since that's what I used to create the hosted version. But that's bit overkill and not a goal of the repository.)\n\nSee the [server folder](\"./server\") for an example of how to use this with [Express.js](https://expressjs.com/), or the [worker folder](\"./worker\") for an example of how to use this with Cloudflare Workers.\n\n---\n\nThanks Aaron Swartz for the idea.\n\nYou made the world a better place.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleftmove%2Fpaul-graham","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleftmove%2Fpaul-graham","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleftmove%2Fpaul-graham/lists"}