How to Automatically Show Latest Blog Posts in Your GitHub Profile README
Displaying your latest blog posts in your GitHub profile README signals ongoing intellectual engagement — you are not just writing code, you are thinking about it and sharing ideas. The blog-post-workflow GitHub Action pulls posts from any RSS feed and automatically updates a section of your README each day. This guide covers the gautamkrishnar/blog-post-workflow setup, which works with any platform that produces an RSS feed: Dev.to, Medium, Hashnode, personal blogs with a feed, or any other content platform.
Quick Setup Steps
- 1
Step 1: Add <!-- BLOG-POST-LIST:START --> and <!-- BLOG-POST-LIST:END --> comment markers to your README where posts should appear.
- 2
Step 2: Create .github/workflows/blog-post-workflow.yml using gautamkrishnar/blog-post-workflow@v1.
- 3
Step 3: Set feed_list to your RSS feed URL (Dev.to: dev.to/feed/USERNAME, Medium: medium.com/feed/@USERNAME).
- 4
Step 4: Run the workflow manually from Actions to trigger the first post list update.
- 5
Step 5: Verify the comment section in your README is populated with your latest posts.
What Is the Blog Post Workflow?
The blog-post-workflow is a GitHub Action that reads your blog's RSS feed and updates a designated section of your README with your most recent posts. It runs on a schedule (daily by default) and commits the updated post list automatically, so your profile always reflects your current writing without any manual intervention.
The Action supports filtering posts by tag, controlling how many posts to display, customizing the post item format, and pulling from multiple RSS feeds simultaneously. It works with any valid RSS 2.0 or Atom feed, making it compatible with virtually every blogging platform that exists.
How to Set Up Blog Post Workflow
Follow these steps:
- Add comment markers to your README where you want the post list to appear:
## Recent Blog Posts
<!-- BLOG-POST-LIST:START -->
<!-- BLOG-POST-LIST:END -->
- Create
.github/workflows/blog-post-workflow.yml:
name: Latest Blog Post Workflow
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
jobs:
update-readme-with-blog:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: gautamkrishnar/blog-post-workflow@v1
with:
feed_list: "https://yourblog.com/rss.xml"
- Replace
https://yourblog.com/rss.xmlwith your actual RSS feed URL. - For Dev.to:
https://dev.to/feed/YOUR_USERNAME - For Medium:
https://medium.com/feed/@YOUR_USERNAME - Run the workflow manually from Actions to trigger the first update.
Customizing Blog Post Display
The Action accepts several configuration options:
max_post_count: Number of posts to display (default: 5)feed_list: Comma-separated list of RSS feed URLs for multiple sourcestemplate: Custom format for each post item (supports$title,$url,$date,$newlinevariables)tag_post_pre_newline: Whether to add a newline before each itemdisable_sort: Set totrueto keep posts in feed order rather than sorting by datefilter_comments: Filter posts that are comment responses (for Dev.to)comment_tag_name: Change the comment markers if your README uses different names
Example custom template:
template: "- [$title]($url) — $date"
For multiple feeds (e.g., Dev.to + personal blog):
feed_list: "https://dev.to/feed/username,https://yourblog.com/rss.xml"
Troubleshooting Blog Post Workflow
If the workflow runs but your README doesn't update, verify that the comment markers in your README are exactly <!-- BLOG-POST-LIST:START --> and <!-- BLOG-POST-LIST:END --> on their own lines. Any extra text on those lines will prevent the regex match.
If the Action fails with 'No valid RSS data found', test your RSS feed URL directly in your browser. Some platforms generate feed URLs differently — Dev.to uses https://dev.to/feed/USERNAME (not the usual /feed.xml pattern). For Hashnode blogs, the feed URL is typically https://YOURBLOG.hashnode.dev/rss.xml.
If the workflow runs successfully but commits show no changes, your RSS feed may not have been updated since the last run. This is expected behavior — the Action only commits when new posts are available.
Frequently Asked Questions
How do I add my blog posts to my GitHub README automatically?
Add the <!-- BLOG-POST-LIST:START --> and <!-- BLOG-POST-LIST:END --> comment markers to your README, create a GitHub Actions workflow using gautamkrishnar/blog-post-workflow@v1 with your RSS feed URL, then run it manually for the first update. After that, it runs daily on schedule.
Which blogging platforms work with the blog post workflow?
Any platform with an RSS or Atom feed works. Dev.to (dev.to/feed/USERNAME), Medium (medium.com/feed/@USERNAME), Hashnode (YOURBLOG.hashnode.dev/rss.xml), Ghost, WordPress, and any custom blog with an RSS feed. You can also combine multiple feeds in one workflow.
Why are my blog posts not showing up in my README?
Check three things: (1) the comment markers are exactly as specified on their own lines, (2) your RSS feed URL is valid and accessible (test it in a browser), and (3) the workflow has completed successfully in the Actions tab. Run it manually from Actions → Latest Blog Post Workflow → Run workflow.
How many blog posts can I show in my GitHub README?
The default is 5 posts. Use the max_post_count parameter to change this — set it to 3 for a compact list or up to 10 for more coverage. Showing 3-5 recent posts is typical; more than 5 can make the section feel heavy on profile READMEs.
From Our Blog
- Complete Guide to GitHub Badges for Your README
Learn how to add shields.io badges, GitHub stats cards, and tool badges to your GitHub profile README. Includes ready-to-use code for 50+ popular technologies.
- Best GitHub README Widgets and Tools: The Complete 2026 List
A curated list of the best GitHub profile README widgets — from snake animations to Spotify players, stats cards to 3D contribution graphs. Includes setup instructions for each.
- How to Add GitHub Stats Cards to Your README (2026 Guide)
Step-by-step guide to adding GitHub stats cards, language cards, streak stats, and WakaTime cards to your GitHub profile README using github-readme-stats.
Generate Your GitHub Profile README
Generate a GitHub profile README featuring Latest Blog Posts with AI
Try It Free — No Sign UpMore Widget Guides
How to Add Spotify Now Playing
Step-by-step guide to adding Spotify Now Playing to your GitHub README
How to Add WakaTime Coding Stats
Step-by-step guide to adding WakaTime Coding Stats to your GitHub README
How to Add Snake Contribution Animation
Step-by-step guide to adding Snake Contribution Animation to your GitHub README
How to Add Profile Views Counter
Step-by-step guide to adding Profile Views Counter to your GitHub README
How to Add Typing SVG Animation
Step-by-step guide to adding Typing SVG Animation to your GitHub README
How to Add GitHub Streak Stats
Step-by-step guide to adding GitHub Streak Stats to your GitHub README