<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet type="text/xsl" href="/pretty-feed-v3.xsl"?>
<rss
  version="2.0"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:source="https://source.scripting.com/"
>
  <channel>
    <title>Paul Tibbetts</title>
    <link>https://paultibbetts.uk/tags/meta/</link>
    <description>Recent posts by Paul Tibbetts on meta</description>
    <generator>Hugo</generator>
    <language>en-gb</language>
    <lastBuildDate>Wed, 18 Mar 2026 16:07:22 +0000</lastBuildDate>
    <atom:link href="https://paultibbetts.uk/tags/meta/feed.xml" rel="self" type="application/rss+xml" /><item>
      <title>Added support for photos and videos</title>
      <link>https://paultibbetts.uk/2026/03/17/added-support-for-photos-and-videos/</link>
      <pubDate>Tue, 17 Mar 2026 23:30:00 +0000</pubDate>
      <guid>https://paultibbetts.uk/2026/03/17/added-support-for-photos-and-videos/</guid>
      <category>meta</category>
      <description>Three days after posting Changes to the Site and it’s already out of date.
I wrote that I was going to optimise my photos so they would be smaller and I could include them in my posts, since that’s all I was planning to do.
Then I realised I needed a video in my post. If you’ve read Museum memories you’ll know why.</description>
      <content:encoded><![CDATA[<p>Three days after posting <a href="https://paultibbetts.uk/2026/03/14/changes-to-the-site/">Changes to the Site</a>
 and it&rsquo;s already out of date.</p>
<p>I wrote that I was going to optimise my photos so they would be smaller and I could include them in my posts, since that&rsquo;s all I was planning to do.</p>
<p>Then I realised I <em>needed</em> a video in my post. If you&rsquo;ve read <a href="https://paultibbetts.uk/2026/03/17/museum-memories">Museum memories</a>
 you&rsquo;ll know why.</p>
<h2 id="the-problem">The problem</h2>
<p>My website is powered by Hugo, a static site generator that takes an input, like my markdown files where I write my posts, and outputs a website.</p>
<p>I store both my site code and content in Git, which also drives my deployment process: every change triggers a new build and deploy.</p>
<p>This is where it gets tricky with media files.</p>
<h3 id="photos">Photos</h3>
<p>To include my own photos in a blog post I need to host them. I can do that in Hugo, but I would need to save the photos with Git so it&rsquo;s part of the site and the deployment process. The problem with this is photos can be quite large, so they bloat the Git repository.</p>
<p>This isn&rsquo;t really a problem with one blog post with a few photos, but it does become a problem when you do it over and over for many years.</p>
<p>I don&rsquo;t know if I&rsquo;ll be posting lots of photos, or doing it for many years, but I don&rsquo;t like the idea of one day having a scaling problem, I&rsquo;d rather fix it now.</p>
<h3 id="videos">Videos</h3>
<p>Videos are even more of a problem. They&rsquo;re much bigger than photos, and they don&rsquo;t compress down as effectively.</p>
<p>A 7 MB photo can compress down to 200 KB, which might be tolerable in a Git repo.</p>
<p>A 15 second video might be 30 MB and only compress down to 15 MB.</p>
<h2 id="a-solution">A solution</h2>
<p>Instead of keeping my photos and videos inside the Git repo I am moving towards separate media hosting for them. I wanted to publish <a href="https://paultibbetts.uk/2026/03/17/museum-memories/">my photo post</a>
 before fully solving media hosting, so I&rsquo;m using a temporary solution for now.</p>
<p>I have made a directory on my server and uploaded the videos there. I then changed my web server to serve the files in this directory at <code>https://paultibbetts.uk/media/</code> and updated my post to use this URL for videos.</p>
<p>You can see the change in infrastructure code <a href="https://github.com/paultibbetts/infra.paultibbetts.uk/commit/72240f724e786a189c2138d73a643c3b2ae4b4d9">on GitHub</a>
.</p>
<h2 id="its-temporary">It&rsquo;s Temporary™</h2>
<p>My web server has 50 GB of storage so there is a limit to how many photos and videos I can upload. This type of storage is relatively expensive and it&rsquo;s awkward changing the setup.</p>
<p>A better solution for media hosting would be a storage bucket and a Content Delivery Network to serve the files, as mentioned in <a href="https://paultibbetts.uk/2026/03/14/changes-to-the-site/">Changes to the Site</a>
.</p>
<p>I don&rsquo;t know when that&rsquo;s happening.</p>]]></content:encoded><source:markdown>
Three days after posting [Changes to the Site](/2026/03/14/changes-to-the-site/) and it&#39;s already out of date.

I wrote that I was going to optimise my photos so they would be smaller and I could include them in my posts, since that&#39;s all I was planning to do.

Then I realised I _needed_ a video in my post. If you&#39;ve read [Museum memories](/2026/03/17/museum-memories) you&#39;ll know why.

&lt;!--more--&gt;

## The problem

My website is powered by Hugo, a static site generator that takes an input, like my markdown files where I write my posts, and outputs a website.

I store both my site code and content in Git, which also drives my deployment process: every change triggers a new build and deploy.

This is where it gets tricky with media files.

### Photos

To include my own photos in a blog post I need to host them. I can do that in Hugo, but I would need to save the photos with Git so it&#39;s part of the site and the deployment process. The problem with this is photos can be quite large, so they bloat the Git repository.

This isn&#39;t really a problem with one blog post with a few photos, but it does become a problem when you do it over and over for many years.

I don&#39;t know if I&#39;ll be posting lots of photos, or doing it for many years, but I don&#39;t like the idea of one day having a scaling problem, I&#39;d rather fix it now.

### Videos

Videos are even more of a problem. They&#39;re much bigger than photos, and they don&#39;t compress down as effectively.

A 7 MB photo can compress down to 200 KB, which might be tolerable in a Git repo.

A 15 second video might be 30 MB and only compress down to 15 MB.

## A solution

Instead of keeping my photos and videos inside the Git repo I am moving towards separate media hosting for them. I wanted to publish [my photo post](/2026/03/17/museum-memories/) before fully solving media hosting, so I&#39;m using a temporary solution for now.

I have made a directory on my server and uploaded the videos there. I then changed my web server to serve the files in this directory at `https://paultibbetts.uk/media/` and updated my post to use this URL for videos.

You can see the change in infrastructure code [on GitHub](https://github.com/paultibbetts/infra.paultibbetts.uk/commit/72240f724e786a189c2138d73a643c3b2ae4b4d9).

## It&#39;s Temporary™

My web server has 50 GB of storage so there is a limit to how many photos and videos I can upload. This type of storage is relatively expensive and it&#39;s awkward changing the setup.

A better solution for media hosting would be a storage bucket and a Content Delivery Network to serve the files, as mentioned in [Changes to the Site](/2026/03/14/changes-to-the-site/).

I don&#39;t know when that&#39;s happening.
</source:markdown></item><item>
      <title>Changes to the Site</title>
      <link>https://paultibbetts.uk/2026/03/14/changes-to-the-site/</link>
      <pubDate>Sat, 14 Mar 2026 23:07:25 +0000</pubDate>
      <guid>https://paultibbetts.uk/2026/03/14/changes-to-the-site/</guid>
      <category>meta</category>
      <description>I’ve made some recent changes to the site and have a few ideas for what comes next.
Changes:
Notes: shorter posts that don’t need titles Bookmarks and likes: a way to share links without writing full posts Replies: posts that are part of a conversation with another site Webmentions: now appear below posts Ideas:
serving media through a CDN dynamic image resizing with imgproxy publishing from my phone using micropub</description>
      <content:encoded><![CDATA[<p>I&rsquo;ve made some recent changes to the site and have a few ideas for what comes next.</p>
<p>Changes:</p>
<ul>
<li>Notes: shorter posts that don&rsquo;t need titles</li>
<li>Bookmarks and likes: a way to share links without writing full posts</li>
<li>Replies: posts that are part of a conversation with another site</li>
<li>Webmentions: now appear below posts</li>
</ul>
<p>Ideas:</p>
<ul>
<li>serving media through a CDN</li>
<li>dynamic image resizing with imgproxy</li>
<li>publishing from my phone using micropub</li>
</ul>
<h2 id="notes">Notes</h2>
<p>My site now has <a href="https://indieweb.org/note">notes</a>
. They are still posts but I treat them a bit differently.</p>
<p>Notes don&rsquo;t need a title, and they&rsquo;re usually shorter, but they&rsquo;re effectively the same as the articles I&rsquo;ve already been posting. The real difference will be what I end up classing as an article instead of a note.</p>
<p>I added them because I wanted to post moments in time without needing to write several paragraphs like I would in an article. This post was nearly a note, until I realised it was more than just recent changes and that I could write about future ones as well.</p>
<p>I think I will probably end up writing less articles now I have notes but when I do write an article it should mean that it&rsquo;s taken more effort to write, and is therefore of higher quality, but I&rsquo;m not guaranteeing anything.</p>
<h2 id="bookmarks">Bookmarks</h2>
<p>I&rsquo;ve also added <a href="https://indieweb.org/bookmark">bookmarks</a>
, which I&rsquo;m going to use to share links to interesting things around the web.</p>
<p>These are notes with a <code>bookmark_of</code> field set to the URL I&rsquo;ve bookmarked. They are then displayed a little differently, with the link going to the bookmarked site instead of my own post.</p>
<pre><code class="language-html">&lt;a class=&#34;u-bookmark-of&#34; href=&#34;https://example.com/post&#34;&gt;Example&lt;/a&gt;</code></pre>
<p>Using a different post kind for this makes it easier for me to share links, since I don&rsquo;t need to write an article talking about it, or even a note saying what I like about it. I can just share the link.</p>
<h2 id="likes">Likes</h2>
<p>Another type of link I&rsquo;m going to share is a <a href="https://indieweb.org/like">like</a>
, which is both a reaction and me sharing something. I don&rsquo;t know if there&rsquo;s going to be a system for deciding whether something is a bookmark or a like so I will make it up as I go along.</p>
<pre><code class="language-html">&lt;a class=&#34;u-like-of&#34; href=&#34;https://example.com/post&#34;&gt;I liked this&lt;/a&gt;</code></pre>
<p>Because I don&rsquo;t know what the difference will end up being, and they&rsquo;re both just a link to something, I have also added a <a href="https://paultibbetts.uk/links">/links</a>
 feed which includes both bookmarks and likes.</p>
<p>This will be my own curated version of the internet I want others to know about.</p>
<h2 id="webmentions">Webmentions</h2>
<p>Speaking of likes, I got my first webmention like! Thank you <a href="https://artlung.com/">Joe</a>
!</p>
<p>I was checking Google Search Console and found a page showing me what sites linked to mine when I saw Joe had <a href="https://artlung.com/likes/2f08886085fe293d93bce727c2f75051">liked one of my posts</a>
.</p>
<p>I run my own site because I enjoy doing so, but that interaction made it all seem worth it, and I want to post likes from my own site to share that with others going forward.</p>
<h3 id="webmentionio">webmention.io</h3>
<p>Joe was able to send me a like because I signed up to <a href="https://webmention.io">webmention.io</a>
, which now collects my <a href="https://indieweb.org/webmention/">webmentions</a>
 for me.</p>
<p>It also provides a feed showing all the webmentions my site has received, which I&rsquo;ve added to my reader so I&rsquo;m notified of new ones.</p>
<p>To display the webmentions on my site I&rsquo;m using <a href="https://github.com/PlaidWeb/webmention.js/">webmention.js</a>
 to show them below the post they are mentioning.</p>
<h2 id="replies">Replies</h2>
<p>The other post type I&rsquo;ve added recently is a <a href="https://indieweb.org/reply/">reply</a>
.</p>
<p>These are notes that are in response to someone else&rsquo;s post. I will use webmentions to tell them that I&rsquo;ve written it, after which they could display my reply as a comment.</p>
<p>This now means that to write about a link I could:</p>
<ul>
<li>write an article about it</li>
<li>share it as a bookmark</li>
<li>share it as a like</li>
<li>write a note about it</li>
<li>reply to it directly</li>
</ul>
<p>So to try and make a rule for them: replies are notes that are part of a conversation.</p>
<p>Where it gets confusing is that any type of post can also be a reply. I could publish a post as an article, and then include a line like</p>
<pre><code class="language-html">my entry for
&lt;a class=&#34;u-in-reply-to&#34; href=&#34;https://carnival.host/prompt.html&#34;&gt;this month&#39;s IndieWeb Carnival&lt;/a&gt;</code></pre>
<p>and the post would be both an article and a reply.</p>
<p>If the site I&rsquo;m replying to displayed my article in full, it might be as long as their original post. Because of that they might show only an excerpt, or just link to it instead.</p>
<p>So, for long articles that are technically also replies I will have to make sure I write a shorter summary that works well as a comment, which could be displayed in full.</p>
<p>The replies I write using the reply post type will be written as I want them to appear in the conversation.</p>
<h2 id="planned-changes">Planned changes</h2>
<p>My entry for this month&rsquo;s <a href="https://indieweb.org/IndieWeb_Carnival/">IndieWeb Carnival</a>
 is taking longer than I thought because it&rsquo;s turned into a holiday photo dump.</p>
<p>This has had me questioning my setup, which is annoying because I thought it would last a bit longer before it needed changing.</p>
<img src="whiteboard.png" title="whiteboard of ideas for the site">
<p>I have not even finished my post about <a href="https://infra.paultibbetts.uk/">infra.paultibbetts.uk</a>
, which documents my infrastructure, and I am already thinking of changing it.</p>
<p>I do enjoy working on my site, maybe even more than actually using it, but I have other things I should be working on.</p>
<p>I don&rsquo;t know when the following will get done.</p>
<h2 id="media">Media</h2>
<p>My draft Carnival post was starting to include photos from my phone, which were about 7 MB each. I hadn&rsquo;t thought about photos before and didn&rsquo;t have a process for them.</p>
<p>My site uses git for version control, which is great for text like code and content but it starts to get bloated when you fill it with 7 MB photos. I started thinking up a better system for this, which is coming up next, until I realised I could optimise my images before saving them in git.</p>
<p>The solution for now is to run a script that replaces the original image with a compressed version. The 7 MB photos shrink down to ~200 kB. I am still bloating my repo with images, but at a much more tolerable size.</p>
<h2 id="cdn">CDN</h2>
<p>A better solution is to store my photos separately, which lets me keep the repo slim by tracking only text files.</p>
<p>I could use <a href="https://paultibbetts.uk/2026/02/19/moved-my-website-from-github-pages-to-a-raspberry-pi/">my Raspberry Pi</a>
 to host the photos, but it uses Network File Storage which is a bit slow and has only 50 GB of storage.</p>
<p>Instead I&rsquo;m thinking of using a storage bucket, which could grow to any size, and then using a Content Delivery Network to serve the assets.</p>
<h3 id="edit">Edit</h3>
<p>I needed a temporary solution, so in <a href="https://paultibbetts.uk/2026/03/17/added-support-for-photos-and-videos/">Added support for photos and videos</a>
 I explain how I&rsquo;ve set up my Raspberry Pi to host my media files until I get a storage bucket and CDN sorted out.</p>
<h2 id="dynamic-image-resizing">Dynamic Image Resizing</h2>
<p>I might also use something like <a href="https://imgproxy.net/">imgproxy</a>
 to dynamically resize images.</p>
<p>When a user requests a smaller version of a photo, imgproxy would generate it on demand. That resized image would then be cached by the CDN, so future visitors can receive the optimised version immediately.</p>
<p>This <em>might</em> mean I can stop compressing photos manually and just use the originals.</p>
<h2 id="micropub">Micropub</h2>
<p>The final change to my site, which will really elevate it from a simple blog to a personal publishing system, is using <a href="https://indieweb.org/micropub">micropub</a>
 to let me post from my phone.</p>
<p>This would need hosting and hooking up to my git repo to manage my content. I would have the same problem as I do right now if I used it for photos, so I will need to wait until I have the storage bucket and CDN sorted before tackling this.</p>
<p>I&rsquo;m considering using <a href="https://getindiekit.com/">Indiekit</a>
 as my micropub server, as it works with Hugo (which powers my site), and can also <a href="https://indieweb.org/cross-posting">syndicate</a>
 my posts out to social networks. It doesn&rsquo;t look like it has a Micro.blog plugin yet, so I&rsquo;d need to write one before I can selectively choose which posts to syndicate there.</p>
<h2 id="microblog">Micro.blog</h2>
<p>Which leaves me with a site that can do what I currently use my <a href="https://micro.blog">Micro.blog</a>
 <a href="https://micro.paultibbetts.uk/">microblog</a>
 for. I want to stay as part of the Micro.blog community, and will continue using their apps, but I can see myself migrating the hosting of my content to my own site in the future.</p>
<p>I could merge my Micro.blog posts into the notes on my own site and then syndicate future posts to the Micro.blog timeline, and for Micro.blog users nothing will seem to have changed, only where my content is hosted.</p>
<p>My feed might even get better, as I could filter out posts that I know the Micro.blog community wouldn&rsquo;t be interested in.</p>
<p>This isn&rsquo;t a remark against Micro.blog by the way - I think it&rsquo;s an excellent service - I just believe that I was destined to outgrow it, since I always intended on working on my own site. I think of it more as graduating as a socially-capable indie website, and because Micro.blog is part of the indieweb I can stay part of its community.</p>
<p>I would be missing out on lots of features that Micro.blog has that I don&rsquo;t yet support, so it wouldn&rsquo;t be a seamless transition, but after implementing all the above ideas my site should be capable of hosting all of my post kinds in one place.</p>]]></content:encoded><source:markdown>
I&#39;ve made some recent changes to the site and have a few ideas for what comes next.

Changes:

- Notes: shorter posts that don&#39;t need titles
- Bookmarks and likes: a way to share links without writing full posts
- Replies: posts that are part of a conversation with another site
- Webmentions: now appear below posts

Ideas:

- serving media through a CDN
- dynamic image resizing with imgproxy
- publishing from my phone using micropub

&lt;!--more--&gt;

## Notes

My site now has [notes](https://indieweb.org/note). They are still posts but I treat them a bit differently.

Notes don&#39;t need a title, and they&#39;re usually shorter, but they&#39;re effectively the same as the articles I&#39;ve already been posting. The real difference will be what I end up classing as an article instead of a note.

I added them because I wanted to post moments in time without needing to write several paragraphs like I would in an article. This post was nearly a note, until I realised it was more than just recent changes and that I could write about future ones as well.

I think I will probably end up writing less articles now I have notes but when I do write an article it should mean that it&#39;s taken more effort to write, and is therefore of higher quality, but I&#39;m not guaranteeing anything.

## Bookmarks

I&#39;ve also added [bookmarks](https://indieweb.org/bookmark), which I&#39;m going to use to share links to interesting things around the web.

These are notes with a `bookmark_of` field set to the URL I&#39;ve bookmarked. They are then displayed a little differently, with the link going to the bookmarked site instead of my own post.

```html
&lt;a class=&#34;u-bookmark-of&#34; href=&#34;https://example.com/post&#34;&gt;Example&lt;/a&gt;
```

Using a different post kind for this makes it easier for me to share links, since I don&#39;t need to write an article talking about it, or even a note saying what I like about it. I can just share the link.

## Likes

Another type of link I&#39;m going to share is a [like](https://indieweb.org/like), which is both a reaction and me sharing something. I don&#39;t know if there&#39;s going to be a system for deciding whether something is a bookmark or a like so I will make it up as I go along.

```html
&lt;a class=&#34;u-like-of&#34; href=&#34;https://example.com/post&#34;&gt;I liked this&lt;/a&gt;
```

Because I don&#39;t know what the difference will end up being, and they&#39;re both just a link to something, I have also added a [/links](/links) feed which includes both bookmarks and likes.

This will be my own curated version of the internet I want others to know about.

## Webmentions

Speaking of likes, I got my first webmention like! Thank you [Joe](https://artlung.com/)!

I was checking Google Search Console and found a page showing me what sites linked to mine when I saw Joe had [liked one of my posts](https://artlung.com/likes/2f08886085fe293d93bce727c2f75051).

I run my own site because I enjoy doing so, but that interaction made it all seem worth it, and I want to post likes from my own site to share that with others going forward.

### webmention.io

Joe was able to send me a like because I signed up to [webmention.io](https://webmention.io), which now collects my [webmentions](https://indieweb.org/webmention/) for me.

It also provides a feed showing all the webmentions my site has received, which I&#39;ve added to my reader so I&#39;m notified of new ones.

To display the webmentions on my site I&#39;m using [webmention.js](https://github.com/PlaidWeb/webmention.js/) to show them below the post they are mentioning.

## Replies

The other post type I&#39;ve added recently is a [reply](https://indieweb.org/reply/).

These are notes that are in response to someone else&#39;s post. I will use webmentions to tell them that I&#39;ve written it, after which they could display my reply as a comment.

This now means that to write about a link I could:

- write an article about it
- share it as a bookmark
- share it as a like
- write a note about it
- reply to it directly

So to try and make a rule for them: replies are notes that are part of a conversation.

Where it gets confusing is that any type of post can also be a reply. I could publish a post as an article, and then include a line like

```html
my entry for
&lt;a class=&#34;u-in-reply-to&#34; href=&#34;https://carnival.host/prompt.html&#34;&gt;this month&#39;s IndieWeb Carnival&lt;/a&gt;
```

and the post would be both an article and a reply.

If the site I&#39;m replying to displayed my article in full, it might be as long as their original post. Because of that they might show only an excerpt, or just link to it instead.

So, for long articles that are technically also replies I will have to make sure I write a shorter summary that works well as a comment, which could be displayed in full.

The replies I write using the reply post type will be written as I want them to appear in the conversation.

## Planned changes

My entry for this month&#39;s [IndieWeb Carnival](https://indieweb.org/IndieWeb_Carnival/) is taking longer than I thought because it&#39;s turned into a holiday photo dump.

This has had me questioning my setup, which is annoying because I thought it would last a bit longer before it needed changing.

&lt;img src=&#34;whiteboard.png&#34; title=&#34;whiteboard of ideas for the site&#34;&gt;

I have not even finished my post about [infra.paultibbetts.uk](https://infra.paultibbetts.uk/), which documents my infrastructure, and I am already thinking of changing it.

I do enjoy working on my site, maybe even more than actually using it, but I have other things I should be working on.

I don&#39;t know when the following will get done.

## Media

My draft Carnival post was starting to include photos from my phone, which were about 7 MB each. I hadn&#39;t thought about photos before and didn&#39;t have a process for them.

My site uses git for version control, which is great for text like code and content but it starts to get bloated when you fill it with 7 MB photos. I started thinking up a better system for this, which is coming up next, until I realised I could optimise my images before saving them in git.

The solution for now is to run a script that replaces the original image with a compressed version. The 7 MB photos shrink down to ~200 kB. I am still bloating my repo with images, but at a much more tolerable size.

## CDN

A better solution is to store my photos separately, which lets me keep the repo slim by tracking only text files.

I could use [my Raspberry Pi](/2026/02/19/moved-my-website-from-github-pages-to-a-raspberry-pi/) to host the photos, but it uses Network File Storage which is a bit slow and has only 50 GB of storage.

Instead I&#39;m thinking of using a storage bucket, which could grow to any size, and then using a Content Delivery Network to serve the assets.

### Edit

I needed a temporary solution, so in [Added support for photos and videos](/2026/03/17/added-support-for-photos-and-videos/) I explain how I&#39;ve set up my Raspberry Pi to host my media files until I get a storage bucket and CDN sorted out.

## Dynamic Image Resizing

I might also use something like [imgproxy](https://imgproxy.net/) to dynamically resize images.

When a user requests a smaller version of a photo, imgproxy would generate it on demand. That resized image would then be cached by the CDN, so future visitors can receive the optimised version immediately.

This _might_ mean I can stop compressing photos manually and just use the originals.

## Micropub

The final change to my site, which will really elevate it from a simple blog to a personal publishing system, is using [micropub](https://indieweb.org/micropub) to let me post from my phone.

This would need hosting and hooking up to my git repo to manage my content. I would have the same problem as I do right now if I used it for photos, so I will need to wait until I have the storage bucket and CDN sorted before tackling this.

I&#39;m considering using [Indiekit](https://getindiekit.com/) as my micropub server, as it works with Hugo (which powers my site), and can also [syndicate](https://indieweb.org/cross-posting) my posts out to social networks. It doesn&#39;t look like it has a Micro.blog plugin yet, so I&#39;d need to write one before I can selectively choose which posts to syndicate there.

## Micro.blog

Which leaves me with a site that can do what I currently use my [Micro.blog](https://micro.blog) [microblog](https://micro.paultibbetts.uk/) for. I want to stay as part of the Micro.blog community, and will continue using their apps, but I can see myself migrating the hosting of my content to my own site in the future.

I could merge my Micro.blog posts into the notes on my own site and then syndicate future posts to the Micro.blog timeline, and for Micro.blog users nothing will seem to have changed, only where my content is hosted.

My feed might even get better, as I could filter out posts that I know the Micro.blog community wouldn&#39;t be interested in.

This isn&#39;t a remark against Micro.blog by the way - I think it&#39;s an excellent service - I just believe that I was destined to outgrow it, since I always intended on working on my own site. I think of it more as graduating as a socially-capable indie website, and because Micro.blog is part of the indieweb I can stay part of its community.

I would be missing out on lots of features that Micro.blog has that I don&#39;t yet support, so it wouldn&#39;t be a seamless transition, but after implementing all the above ideas my site should be capable of hosting all of my post kinds in one place.
</source:markdown></item><item>
      <title>Launched: infra.paultibbetts.uk A documentation site for the infrastructure that …</title>
      <link>https://paultibbetts.uk/2026/02/15/2026-02-15-145458/</link>
      <pubDate>Sun, 15 Feb 2026 14:54:58 +0000</pubDate>
      <guid>https://paultibbetts.uk/2026/02/15/2026-02-15-145458/</guid>
      <category>Ansible</category>
      <category>Terraform</category>
      <category>meta</category>
      <description>Launched: infra.paultibbetts.uk A documentation site for the infrastructure that runs paultibbetts.uk.</description>
      <content:encoded><![CDATA[<p>Launched: <a href="https://infra.paultibbetts.uk/">infra.paultibbetts.uk</a>
</p>
<p>A documentation site for the infrastructure that runs <code>paultibbetts.uk</code>.</p>]]></content:encoded><source:markdown>
Launched: [infra.paultibbetts.uk](https://infra.paultibbetts.uk/)

A documentation site for the infrastructure that runs `paultibbetts.uk`.
</source:markdown></item><item>
      <title>Getting My Own Site</title>
      <link>https://paultibbetts.uk/2025/09/09/getting-my-own-site/</link>
      <pubDate>Tue, 09 Sep 2025 20:00:00 +0100</pubDate>
      <guid>https://paultibbetts.uk/2025/09/09/getting-my-own-site/</guid>
      <category>IndieWeb</category>
      <category>meta</category>
      <description>The second step to getting on the IndieWeb is to have your own site.
This is easier said than done, and there are lots of different ways of doing it.
This is what I did.</description>
      <content:encoded><![CDATA[<p>The second step to <a href="https://indieweb.org/Getting_Started">getting on the IndieWeb</a>
 is to have your own site.</p>
<p>This is easier said than done, and there are lots of different ways of doing it.</p>
<p>This is what I did.</p>
<h2 id="as-a-web-developer">As a web developer</h2>
<p>There are three paths to getting your own site.</p>
<h3 id="service">Service</h3>
<p>You could use an existing service like <a href="https://micro.blog/">Micro.blog</a>
 to host your site.</p>
<p>I already do this for my <a href="https://micro.paultibbetts.uk/">microblog</a>
 because it comes with a bunch of features out of the box and gets me onto the IndieWeb, even while I don&rsquo;t yet support all the IndieWeb features on my main site.</p>
<h3 id="cms">CMS</h3>
<p>An alternative path is to use an existing content management system and add on IndieWeb features with plugins.</p>
<p>I&rsquo;ve done this in the past with <a href="https://wordpress.org/">WordPress</a>
 but I moved on from the WordPress world a while ago.</p>
<h3 id="self-starter">Self-starter</h3>
<p>I decided I was more comfortable writing and doing it myself.</p>
<h2 id="what-it-needs-to-do">What it needs to do</h2>
<p>Before I wrote any code I made sure to cover the basics.</p>
<h3 id="information-about-me">Information about me</h3>
<p>The homepage of my site needs to include a <a href="https://indieweb.org/h-card">h-card</a>
 with my name, an icon, and <a href="https://indieweb.org/rel-me">rel-me</a>
 links to my social network profiles.</p>
<p>This is not only useful for humans but I can also use it to sign in to other sites using <a href="https://indieweb.org/IndieAuth">IndieAuth</a>
.</p>
<p>I used <a href="https://indiewebify.me/">IndieWebify.me</a>
 to check I&rsquo;d done it correctly.</p>
<h3 id="publish-content">Publish content</h3>
<p>My posts should be marked up using <a href="https://indieweb.org/h-entry">h-entry</a>
 so that others can understand my content.</p>
<p>The original site design had words with titles, which makes them technically &ldquo;articles&rdquo;, although that could change in the fture.</p>
<h2 id="how-the-site-works">How the site works</h2>
<p>There are lots of different ways to do this.</p>
<p>In fact there are too many, so I kept it as simple as I could.</p>
<h3 id="static-site-generator">Static site generator</h3>
<p>I want to write my content in <a href="https://www.markdownguide.org/">Markdown</a>
, I would prefer doing that on my laptop instead of my phone, and I&rsquo;m ok running commands to publish things.</p>
<p>Which means I can use a <a href="https://en.wikipedia.org/wiki/Static_site_generator">static site generator</a>
 like <a href="https://gohugo.io">Hugo</a>
 to turn my markdown files into HTML.</p>
<h2 id="hosting">Hosting</h2>
<p>One of the best parts about using a static site generator is that it makes hosting simpler.</p>
<p>Once you have generated a static site you can upload the files to a web host and you&rsquo;re done.</p>
<p>And you can automate it, so all you do is update it and it gets deployed automatically.</p>
<h3 id="github-pages">GitHub pages</h3>
<p>I host copies of my code on GitHub so that others can view the source and I was planning on doing the same with my site.</p>
<p>This meant I could use one of GitHub&rsquo;s other features, which is <a href="https://pages.github.com/">free hosting for static content</a>
.</p>
<p>All I would need to do is add a <a href="https://github.com/paultibbetts/paultibbetts.uk/blob/a24aa42e17d0b8f059d9f12118fd69147b3fa12b/.github/workflows/hugo.yaml">workflow</a>
 for GitHub Actions to perform each time the code gets updated and the site gets deployed automatically.</p>
<h2 id="indiemark">IndieMark</h2>
<p>There&rsquo;s no official measure of a site&rsquo;s &ldquo;IndieWebness&rdquo; but the closest right now is the still-in-development <a href="https://indieweb.org/IndieMark">IndieMark</a>
 which would score me a level 1.</p>
<p>Level 0 involves owning your own domain, something I have <a href="https://paultibbetts.uk/2025/09/09/getting-my-own-domain/">written about before</a>
, and having a personal site at that domain.</p>
<p>Level 1 involves:</p>
<ul>
<li><strong>identity</strong>, I&rsquo;ll be using this at my primary domain</li>
<li><strong>authentication</strong> using <a href="https://indieweb.org/rel-me">rel-me</a>
 links to my external social network profiles</li>
<li><strong>posts</strong> with <strong>permalinks</strong>, <strong>h-entry</strong> markup and other <strong>microformats</strong></li>
<li><strong>searchable</strong> by <strong>allowing robots to index my site</strong>, my <strong>content is written in HTML</strong> and <strong>no JavaScript is required to read it</strong></li>
</ul>
<h2 id="view-source">View source</h2>
<p>You can <a href="https://github.com/paultibbetts/paultibbetts.uk">view the source code</a>
 to see how I&rsquo;ve abused Hugo and <a href="https://tailwindcss.com/">TailwindCSS</a>
 into creating my own site, hosted on GitHub Pages.</p>]]></content:encoded><source:markdown>
The second step to [getting on the IndieWeb](https://indieweb.org/Getting_Started) is to have your own site.

This is easier said than done, and there are lots of different ways of doing it.

This is what I did.

&lt;!--more--&gt;

## As a web developer

There are three paths to getting your own site.

### Service

You could use an existing service like [Micro.blog](https://micro.blog/) to host your site.

I already do this for my [microblog](https://micro.paultibbetts.uk/) because it comes with a bunch of features out of the box and gets me onto the IndieWeb, even while I don&#39;t yet support all the IndieWeb features on my main site.

### CMS

An alternative path is to use an existing content management system and add on IndieWeb features with plugins.

I&#39;ve done this in the past with [WordPress](https://wordpress.org/) but I moved on from the WordPress world a while ago.

### Self-starter

I decided I was more comfortable writing and doing it myself.

## What it needs to do

Before I wrote any code I made sure to cover the basics.

### Information about me

The homepage of my site needs to include a [h-card](https://indieweb.org/h-card) with my name, an icon, and [rel-me](https://indieweb.org/rel-me) links to my social network profiles.

This is not only useful for humans but I can also use it to sign in to other sites using [IndieAuth](https://indieweb.org/IndieAuth).

I used [IndieWebify.me](https://indiewebify.me/) to check I&#39;d done it correctly.

### Publish content

My posts should be marked up using [h-entry](https://indieweb.org/h-entry) so that others can understand my content.

The original site design had words with titles, which makes them technically &#34;articles&#34;, although that could change in the fture.

## How the site works

There are lots of different ways to do this.

In fact there are too many, so I kept it as simple as I could.

### Static site generator

I want to write my content in [Markdown](https://www.markdownguide.org/), I would prefer doing that on my laptop instead of my phone, and I&#39;m ok running commands to publish things.

Which means I can use a [static site generator](https://en.wikipedia.org/wiki/Static_site_generator) like [Hugo](https://gohugo.io) to turn my markdown files into HTML.

## Hosting

One of the best parts about using a static site generator is that it makes hosting simpler.

Once you have generated a static site you can upload the files to a web host and you&#39;re done.

And you can automate it, so all you do is update it and it gets deployed automatically.

### GitHub pages

I host copies of my code on GitHub so that others can view the source and I was planning on doing the same with my site.

This meant I could use one of GitHub&#39;s other features, which is [free hosting for static content](https://pages.github.com/).

All I would need to do is add a [workflow](https://github.com/paultibbetts/paultibbetts.uk/blob/a24aa42e17d0b8f059d9f12118fd69147b3fa12b/.github/workflows/hugo.yaml) for GitHub Actions to perform each time the code gets updated and the site gets deployed automatically.

## IndieMark

There&#39;s no official measure of a site&#39;s &#34;IndieWebness&#34; but the closest right now is the still-in-development [IndieMark](https://indieweb.org/IndieMark) which would score me a level 1.

Level 0 involves owning your own domain, something I have [written about before](https://paultibbetts.uk/2025/09/09/getting-my-own-domain/), and having a personal site at that domain.

Level 1 involves:

- **identity**, I&#39;ll be using this at my primary domain
- **authentication** using [rel-me](https://indieweb.org/rel-me) links to my external social network profiles
- **posts** with **permalinks**, **h-entry** markup and other **microformats**
- **searchable** by **allowing robots to index my site**, my **content is written in HTML** and **no JavaScript is required to read it**

## View source

You can [view the source code](https://github.com/paultibbetts/paultibbetts.uk) to see how I&#39;ve abused Hugo and [TailwindCSS](https://tailwindcss.com/) into creating my own site, hosted on GitHub Pages.
</source:markdown></item><item>
      <title>Getting My Own Domain</title>
      <link>https://paultibbetts.uk/2025/09/09/getting-my-own-domain/</link>
      <pubDate>Tue, 09 Sep 2025 15:53:46 +0100</pubDate>
      <guid>https://paultibbetts.uk/2025/09/09/getting-my-own-domain/</guid>
      <category>IndieWeb</category>
      <category>meta</category>
      <description>The first step to getting on the IndieWeb is to have your own domain.
I’ve already got one, so I thought I’d explain how I got it.</description>
      <content:encoded><![CDATA[<p>The first step to <a href="https://indieweb.org/Getting_Started">getting on the IndieWeb</a>
 is to have your own domain.</p>
<p>I&rsquo;ve already got one, so I thought I&rsquo;d explain how I got it.</p>
<h2 id="ruler">Ruler</h2>
<p>Years ago I registered my name as my domain.</p>
<p>I&rsquo;m not a company, so I didn&rsquo;t want <code>.com</code>, but there weren&rsquo;t many options, and so to make me &ldquo;Paul Tibbetts from the UK&rdquo; I went with <code>.co.uk</code>.</p>
<p>Some time later <code>.uk</code> was made available and to make it fair to the <code>.co.uk</code> owners who wanted to drop the <code>.co</code> you had to also own the <code>.co.uk</code> version to register it, so for a while I owned both.</p>
<p>This was all before the newer extensions like <code>.blog</code> and <code>.dev</code> came out. When they did I considered changing but decided against it.</p>
<h2 id="registrar">Registrar</h2>
<p>I registered my domain with <a href="https://www.heartinternet.uk/">Heart Internet</a>
 because that&rsquo;s who we used at work and I didn&rsquo;t have any kind of preference.</p>
<p>They don&rsquo;t expose my personal data when you run a <a href="https://www.whois.com/whois/paultibbetts.uk">whois query on the domain</a>
 so I haven&rsquo;t found a reason to move away from them.</p>
<p>Renewals are £9.99 per year.</p>
<h2 id="management">Management</h2>
<p>For a while I managed the domain using the interface on Heart Internet but since then I&rsquo;ve moved it to <a href="https://www.cloudflare.com/">Cloudflare</a>
.</p>
<p>To do this I changed the nameservers that the domain uses from Heart Internet&rsquo;s to Cloudflare&rsquo;s.</p>
<h2 id="records">Records</h2>
<p>There aren&rsquo;t that many records right now.</p>
<h3 id="heading">@</h3>
<p>The apex domain, as in the bare one without any subdomains (<code>https://paultibbetts.uk</code>), points to a really small landing page I made for myself.</p>
<p>I&rsquo;ll be redoing this soon so I won&rsquo;t talk about it yet.</p>
<h3 id="www">www</h3>
<p>I <strong>don&rsquo;t</strong> use the <code>www</code> subdomain.</p>
<p>I know there are people who think this is wrong but growing up sharing links with others the moment I discovered you could get rid of it I did and haven&rsquo;t looked back.</p>
<p>Maybe one day I will revisit this.</p>
<h3 id="micro">micro</h3>
<p><code>micro.paultibbetts.uk</code> is powered by <a href="https://micro.blog">Micro.blog</a>
.</p>
<p>I <em>could</em> run my main domain with Micro.blog but I want to have a go at doing that myself.</p>
<p>I followed <a href="https://help.micro.blog/t/custom-domain-names/53">the Micro.blog guide to set up a custom domain</a>
 and used a <code>CNAME</code> on my domain to point <code>micro</code> to <code>https://paultibbetts.micro.blog</code>.</p>
<h2 id="emails">Emails</h2>
<p>Once upon a time I hosted my own email server.</p>
<p>The company I worked at, Sixth Story, had an email address <code>iwanttowork @ sixthstory</code> that I thought was clever, so I wanted <code>hire @ paultibbetts</code> for myself. Applying for jobs as a web developer I thought it would help me stand out.</p>
<p>Even after all the work though I still found myself using my regular Apple email address because I knew it was more stable, and less likely to get marked as spam, so when Apple announced <a href="https://support.apple.com/en-us/102540">you can use custom domains with iCloud mail</a>
 I got rid of my email server and used Apple&rsquo;s instead.</p>
<p>This means I have some <code>MX</code> and <code>TXT</code> records to allow that to work.</p>
<h2 id="in-review">In review</h2>
<p>I have always been jealous of others with better domains than me.</p>
<h3 id="difficult-to-spell">Difficult to spell</h3>
<p>I have trouble getting people to spell my surname correctly.</p>
<p>I don&rsquo;t blame them, there&rsquo;s lots of Bs and Ts, and saying &ldquo;technically there&rsquo;s 3 Ts&rdquo; isn&rsquo;t helpful when they&rsquo;re typing the double T towards the end.</p>
<h4 id="potential-fix">Potential fix</h4>
<p>Aral&rsquo;s <code>ar.al</code> domain is much better than mine. It&rsquo;s short and easy to spell.</p>
<p>Maybe I could find a short domain and set it up to redirect?</p>
<p>Time for another disappointing trip to <a href="https://iwantmyname.com/">IWantMyName</a>
 to see all the good domains have been taken.</p>
<h3 id="did-you-mean-the-other-one">Did you mean the other one?</h3>
<p>I share a name with someone way more famous than me.</p>
<p>It&rsquo;s spelt a little different but search engines will assume you meant the other Paul.</p>
<h4 id="potential-fix-1">Potential fix</h4>
<p>There are a few ways I can improve my search engine rankings.</p>
<p>I&rsquo;m going to try writing lots of content to go on my domain, hoping that does it.</p>
<p>I will <strong>not</strong> do what the other guy did.</p>
<h3 id="dot-uk">dot UK</h3>
<p>My <code>.uk</code> address works whilst I live here but it wouldn&rsquo;t if I moved.</p>
<h4 id="potential-fix-2">Potential fix</h4>
<p>I don&rsquo;t have any immediate plans to move abroad so I&rsquo;m not too concerned with this.</p>
<p>If I ever did I can setup redirects.</p>
<h3 id="not-a-cool-internet-name">Not a cool internet name</h3>
<p>Jeremy Keith&rsquo;s <code>adactio.com</code> domain regularly reminds me I&rsquo;m not creative enough to come up with a cool internet name.</p>
<h4 id="potential-fix-3">Potential fix</h4>
<p>Maybe another decade of thinking about it will help.</p>
<h2 id="reposted">Reposted</h2>
<p>This was originally posted on my <a class="u-repost-of" href="https://micro.paultibbetts.uk/2025/01/02/getting-my-own-domain.html">microblog</a> before this site existed and I wanted a copy of it here.</p>]]></content:encoded><source:markdown>
The first step to [getting on the IndieWeb](https://indieweb.org/Getting_Started) is to have your own domain.

I&#39;ve already got one, so I thought I&#39;d explain how I got it.

&lt;!--more--&gt;

## Ruler

Years ago I registered my name as my domain.

I&#39;m not a company, so I didn&#39;t want `.com`, but there weren&#39;t many options, and so to make me &#34;Paul Tibbetts from the UK&#34; I went with `.co.uk`.

Some time later `.uk` was made available and to make it fair to the `.co.uk` owners who wanted to drop the `.co` you had to also own the `.co.uk` version to register it, so for a while I owned both.

This was all before the newer extensions like `.blog` and `.dev` came out. When they did I considered changing but decided against it.

## Registrar

I registered my domain with [Heart Internet](https://www.heartinternet.uk/) because that&#39;s who we used at work and I didn&#39;t have any kind of preference.

They don&#39;t expose my personal data when you run a [whois query on the domain](https://www.whois.com/whois/paultibbetts.uk) so I haven&#39;t found a reason to move away from them.

Renewals are £9.99 per year.

## Management

For a while I managed the domain using the interface on Heart Internet but since then I&#39;ve moved it to [Cloudflare](https://www.cloudflare.com/).

To do this I changed the nameservers that the domain uses from Heart Internet&#39;s to Cloudflare&#39;s.

## Records

There aren&#39;t that many records right now.

### @

The apex domain, as in the bare one without any subdomains (`https://paultibbetts.uk`), points to a really small landing page I made for myself.

I&#39;ll be redoing this soon so I won&#39;t talk about it yet.

### www

I **don&#39;t** use the `www` subdomain.

I know there are people who think this is wrong but growing up sharing links with others the moment I discovered you could get rid of it I did and haven&#39;t looked back.

Maybe one day I will revisit this.

### micro

`micro.paultibbetts.uk` is powered by [Micro.blog](https://micro.blog).

I _could_ run my main domain with Micro.blog but I want to have a go at doing that myself.

I followed [the Micro.blog guide to set up a custom domain](https://help.micro.blog/t/custom-domain-names/53) and used a `CNAME` on my domain to point `micro` to `https://paultibbetts.micro.blog`.

## Emails

Once upon a time I hosted my own email server.

The company I worked at, Sixth Story, had an email address `iwanttowork @ sixthstory` that I thought was clever, so I wanted `hire @ paultibbetts` for myself. Applying for jobs as a web developer I thought it would help me stand out.

Even after all the work though I still found myself using my regular Apple email address because I knew it was more stable, and less likely to get marked as spam, so when Apple announced [you can use custom domains with iCloud mail](https://support.apple.com/en-us/102540) I got rid of my email server and used Apple&#39;s instead.

This means I have some `MX` and `TXT` records to allow that to work.

## In review

I have always been jealous of others with better domains than me.

### Difficult to spell

I have trouble getting people to spell my surname correctly.

I don&#39;t blame them, there&#39;s lots of Bs and Ts, and saying &#34;technically there&#39;s 3 Ts&#34; isn&#39;t helpful when they&#39;re typing the double T towards the end.

#### Potential fix

Aral&#39;s `ar.al` domain is much better than mine. It&#39;s short and easy to spell.

Maybe I could find a short domain and set it up to redirect?

Time for another disappointing trip to [IWantMyName](https://iwantmyname.com/) to see all the good domains have been taken.

### Did you mean the other one?

I share a name with someone way more famous than me.

It&#39;s spelt a little different but search engines will assume you meant the other Paul.

#### Potential fix

There are a few ways I can improve my search engine rankings.

I&#39;m going to try writing lots of content to go on my domain, hoping that does it.

I will **not** do what the other guy did.

### dot UK

My `.uk` address works whilst I live here but it wouldn&#39;t if I moved.

#### Potential fix

I don&#39;t have any immediate plans to move abroad so I&#39;m not too concerned with this.

If I ever did I can setup redirects.

### Not a cool internet name

Jeremy Keith&#39;s `adactio.com` domain regularly reminds me I&#39;m not creative enough to come up with a cool internet name.

#### Potential fix

Maybe another decade of thinking about it will help.

## Reposted

This was originally posted on my &lt;a class=&#34;u-repost-of&#34; href=&#34;https://micro.paultibbetts.uk/2025/01/02/getting-my-own-domain.html&#34;&gt;microblog&lt;/a&gt; before this site existed and I wanted a copy of it here.
</source:markdown></item><item>
      <title>Technical Difficulties</title>
      <link>https://paultibbetts.uk/2025/06/02/technical-difficulties/</link>
      <pubDate>Mon, 02 Jun 2025 14:30:00 +0100</pubDate>
      <guid>https://paultibbetts.uk/2025/06/02/technical-difficulties/</guid>
      <category>meta</category>
      <description>I don’t like starting sentences with I.</description>
      <content:encoded><![CDATA[<p>I don&rsquo;t like starting sentences with I.</p>
<p>There were also a few real technical difficulties starting a blog, which were more frustrating because usually I was the one who had caused them, but they were fixed pretty quickly.</p>
<p>No, the biggest problem came instead from me, not getting past the awkward part and making it a regular habit.</p>
<p>I made a slight effort earlier this year publishing a <a href="https://micro.paultibbetts.uk/2025/01/02/the-plan.html">&ldquo;plan&rdquo;</a>
 on Micro.blog but apparently it wasn&rsquo;t the right time and I didn&rsquo;t follow it up.</p>
<p>I was already aware of it, and making an effort to fix it, but I was burnt out.</p>
<p>What I didn&rsquo;t write in my &ldquo;plan&rdquo; was that I would be taking some time off work for a while to recover. It&rsquo;s not like I was stuck in bed, unable to move, but I had lost interest in coding and computers, which isn&rsquo;t great when that&rsquo;s what you do for money.</p>
<p>So I handed in my notice and took a break.</p>
<hr>
<p>Two months later and I&rsquo;m definitely feeling better.</p>
<p>The fact you are reading this at all is a testament to my newly rediscovered ability to sit down at a computer and not hate it.</p>
<p>I&rsquo;ve also had the time to work on my homelab, on which I&rsquo;ve made more progress in the last two weeks than I have in the last two years.</p>
<p>So maybe now is a good time to start blogging.</p>]]></content:encoded><source:markdown>
I don&#39;t like starting sentences with I.

&lt;!--more--&gt;

There were also a few real technical difficulties starting a blog, which were more frustrating because usually I was the one who had caused them, but they were fixed pretty quickly.

No, the biggest problem came instead from me, not getting past the awkward part and making it a regular habit.

I made a slight effort earlier this year publishing a [&#34;plan&#34;](https://micro.paultibbetts.uk/2025/01/02/the-plan.html) on Micro.blog but apparently it wasn&#39;t the right time and I didn&#39;t follow it up.

I was already aware of it, and making an effort to fix it, but I was burnt out.

What I didn&#39;t write in my &#34;plan&#34; was that I would be taking some time off work for a while to recover. It&#39;s not like I was stuck in bed, unable to move, but I had lost interest in coding and computers, which isn&#39;t great when that&#39;s what you do for money.

So I handed in my notice and took a break.

---

Two months later and I&#39;m definitely feeling better.

The fact you are reading this at all is a testament to my newly rediscovered ability to sit down at a computer and not hate it.

I&#39;ve also had the time to work on my homelab, on which I&#39;ve made more progress in the last two weeks than I have in the last two years.

So maybe now is a good time to start blogging.
</source:markdown></item><item>
      <title>Hello, World!</title>
      <link>https://paultibbetts.uk/2025/05/20/hello-world/</link>
      <pubDate>Tue, 20 May 2025 12:54:11 +0100</pubDate>
      <guid>https://paultibbetts.uk/2025/05/20/hello-world/</guid>
      <category>meta</category>
      <description>👋</description>
      <content:encoded><![CDATA[<p>👋</p>]]></content:encoded><source:markdown>
👋
</source:markdown></item>
  </channel>
</rss>
