Created RSS Feed for My Static Website
One of the issues that I do not like about how social media has evolved, is that the social media platforms do not show you the content that you really want to see. They show you want you what they think you want to see based on your likes, your comments, and their algorithm.
This trend started with the "For You Page" (FYP) on Tiktok, and once other platforms caught on to this, they created their equivalent on their platform. With Facebook, the default is their FYP page. On Twitter (cause most do not call it "X"), when you switch to the "following feed", after sometime it will prompt you to switch back to the "For You" feed. Annoying. This results in a lot of fluff that you really don’t want to see, you spending more time on their platform, and an unhealthy addiction to the platform and your phone or other device.
Combine that with the various platforms about what rules can and cannot be posted on their platform, changing the criteria for how creators can make money on their platform (e.g. minimum number of followers, amount of watch time, etc), and shadow banning certain content, can make it difficult for creators to talk about the topics that are important to him or her.
Social Media, But With Your Website
In a video that I posted in September 2025, I suggested that everyone should consider setting up their own website (blog or vlog) and posting to that. With this website you could build your own online network.
- Post your content exclusively on your website
- The people that you want to follow, you can link from their website to yours
- To do mutual following, the other follower would have a link on their website your website
- You can monetize your website based by using ad platforms or affiliate marketing, similar to how some creators have sponsors for their videos or people use the Tiktok shop to sell items.
- You can still post videos.
- Analytics are available through third parties or built in tools.
Creating A RSS Feed
My website is a static website, which means that it does have some limitations. In an effort to make this adjustment, and I guess you could also say it is a proof of concept, I wanted to figure out a way to have an RSS feed on my website.
Links to the RSS Feed is located in the footer of the page. Below is what the shell script looks like. Feel free to use it for the content generation on your website.
#!/bin/bash
# set -x # enable for debugging
RSS_FILE="all.xml"
RSS_LATEST_FILE="latest.xml"
rm -f $RSS_FILE $RSS_LATEST_FILE
touch $RSS_FILE $RSS_LATEST_FILE
function writeFeedHeader() {
echo "<rss version='2.0'>" >> $1
echo "<channel>" >> $1
# change the title to the name of your RSS feed
echo "<title>The Blog of Kenny Robinson, The Almost Engineer</title>" >> $1
# change the URL to your website
echo "<link>http://www.thealmostengineer.com/</link>" >> $1
# change the descript to that for your website
echo "<description>Information about this blog and Kenny Robinson.</description>" >> $1
echo "<language>en-us</language>" >> $1
echo "<pubDate>$(date)</pubDate>" >> $1
echo "<lastBuildDate>$(date)</lastBuildDate>" >> $1
echo "<docs>https://www.rssboard.org/rss-specification</docs>" >> $1
echo "<atom:link href='https://www.rssboard.org/files/sample-rss-2.xml' rel='self' type='application/rss+xml'/>" >> $1
}
function writeFeedFooter() {
echo "</channel>" >> $1
echo "</rss>" >> $1
}
function writeFeedItems() {
echo "<item>" >> $1
fileName=$2
TITLE=$(grep "^title:" "$fileName" | sed 's/^title: //' | xargs)
echo "<title>${TITLE}</title>" >> $1
PAGE_PATH=$(echo $2 | sed "s/docs\/blog//g" | sed "s/.md//g" | xargs)
echo "<link>https://thealmostengineer.com/blog${PAGE_PATH}</link>" >> $1
PUBLISH_DATE=$(grep "^posted:" "$fileName" | sed 's/^posted: //' | xargs)
if [ "$PUBLISH_DATE" != "" ]; then
echo "<pubDate>${PUBLISH_DATE}</pubDate>" >> $1
fi
DESCRIPTION=$(grep "^description:" "$fileName" | sed 's/^description: //' | xargs)
if [ "$DESCRIPTION" != "" ]; then
echo "<description>${DESCRIPTION}</description>" >> $1
fi
echo "</item>" >> $1
}
# write latest file
writeFeedHeader $RSS_LATEST_FILE
for blogPost in $(ls -r docs/blog/*.md | head -11)
do
writeFeedItems "$RSS_LATEST_FILE" $blogPost
done
writeFeedFooter $RSS_LATEST_FILE
I use MkDocs for generating the content on the website. When changes are needing to be made to the website, the changes are commited and pushed to the repository. When a pull request is completed with the destination branch being "main", this will start the CI/CD process to push the website changes to the production environment. I added an additional step to this process to run a shell (bash) script to generate the RSS feed file and push that to production as well.
Thus the feed creation process is automatic like the rest of the content being generated. All I have to do is create content and the rest is handled by automation.
Links to RSS Feeds
I have created two RSS feeds for my websites. Feel free to subscribe to either one or both.
They can be found on the RSS Feeds page.