This project generates an RSS feed from Paul Graham's essays, making them easily accessible through your favorite RSS reader.
The RSS feed is available at: https://program247365.github.io/paulgraham-rss/rss.xml
- Automatically fetches and parses Paul Graham's essays
- Generates a clean, well-formatted RSS feed
- Updates daily through GitHub Actions
- Maintains a local cache of essays to avoid unnecessary requests
-
Clone the repository:
git clone https://github.com/yourusername/paulgraham-rss.git cd paulgraham-rss
-
Install dependencies using
uv
:curl -LsSf https://astral.sh/uv/install.sh | sh uv venv --python 3.13 . .venv/bin/activate uv pip install -e .
Run the script to generate the RSS feed:
python main.py
The generated RSS feed will be saved as rss.xml
in the project root.
The project includes a Makefile with the following tasks:
make ci-setup
: Sets up the Python environmentmake ci-install
: Installs project dependenciesmake ci-run
: Generates the RSS feedmake ci-commit
: Commits and pushes changes if the RSS feed has been updatedmake code-format
: Formats the code using ruffmake rss-validate
: Validates the RSS feed using the W3C validator
The project uses GitHub Actions to automatically update the RSS feed. The workflow runs:
- Daily at 1:05 AM UTC
- On manual trigger through the GitHub Actions interface
To set this up:
- Create a Personal Access Token (PAT) with
repo
scope - Add it to your repository's secrets as
RSS_BOT_GITHUB_TOKEN
MIT License - see LICENSE file for details