<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>briksoftware's blog</title>
	<atom:link href="https://briksoftware.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>https://briksoftware.com/blog</link>
	<description></description>
	<lastBuildDate>Sun, 06 Sep 2026 14:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<item>
		<title>The blog is back</title>
		<link>https://briksoftware.com/blog/archives/240</link>
		<dc:creator><![CDATA[Karsten]]></dc:creator>
		<pubDate>Sun, 06 Sep 2026 14:00:00 +0000</pubDate>
		<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://briksoftware.com/blog/?p=240</guid>
		<description><![CDATA[Over the last few days I’ve rebuilt briksoftware.com: the content is markdown now, a small Python script turns it into plain HTML files, and nginx serves those files. There is no database involved and I didn&#39;t use Hugo or some other static site generator.]]></description>
		<content:encoded><![CDATA[<p>Over the last few days I’ve rebuilt briksoftware.com: the content is markdown now, a small Python script turns it into plain HTML files, and nginx serves those files. There is no database involved and I didn't use Hugo or some other static site generator.</p>
<p>There were two major considerations going into this:</p>
<ul>
<li>URLs must not break</li>
<li>the RSS feed must not show all old blog posts as unread.</li>
</ul>
<h2>Migrating the blog</h2>
<p>The blog was originally based on WordPress, but we dropped WordPress many years ago and only served the static pages. These static pages contained comments but it hasn't been possible to comment on posts since moving away from WordPress. The comments are retained as blockquotes. They are part of the article now, they can’t break.
Fixing the RSS was a different story entirely, because we didn't have a working RSS in years. The new RSS feed will be computed on the new posts only, so all archived posts will simply be ignored.</p>
<h2>Migrating the rest</h2>
<p>The page itself only consists of a couple of products and some auxiliary pages. That's all structured a bit better now. I can have obsolete products that are still shown on the website and it's much easier to add new products. A Python script uses Jinja2 to turn all these Markdown files into the final webpage and a nginx config takes care of not breaking the old URLs.<br />
The amount of PHP code run on the server shrank and the page is much easier to maintain an extend. Bootstrap makes sure it looks better than before and behaves much better on mobile devices. I like the result a lot better than the older version. It uses boring technology, very little customization, yet the old look and structure could be preserved in big parts.</p>
<p>Karsten</p>
<p>PS: Twitter is no longer and I'm not on X anymore. Instead contact me at Mastodon: <a href="https://techhub.social/@_karsten_">@<em>karsten</em>@techhub.social</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>