---
permalink: /blog/rss2.xml
eleventyExcludeFromCollections: true
metadata:
    title: "Garrett's Blog"
    description: "Write-ups and musings by Garrett Mills, often technical, sometimes not."
    language: en
    base: "https://garrettmills.dev"
    author:
        name: "Garrett Mills"
        email: "shout@garrettmills.dev"
---
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="https://garrettmills.dev/blog/feed.xsl" type="text/xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>{{ metadata.title }}</title>
        <link>{{ metadata.base }}/blog</link>
        <description>{{ metadata.description }}</description>
        <lastBuildDate>{{ collections.blog | getNewestCollectionItemDate | dateToRfc822 }}</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <language>{{ metadata.language }}</language>
        <image>
            <title>{{ metadata.title }}</title>
            <url>{{ metadata.base }}/assets/favicon/apple-touch-icon.png</url>
            <link>{{ metadata.base }}/blog</link>
        </image>
        <copyright>Copyright (c) 2026 Garrett Mills. See website for licensing details.</copyright>
        <category>Technology</category>
        <category>Software Development</category>
        <atom:link href="permalink | htmlBaseUrl: metadata.base" rel="self" type="application/rss+xml"/>

        {%- for post in collections.blog %}
            {%- assign absolutePostUrl = post.url | htmlBaseUrl: metadata.base %}
            <item>
                <title><![CDATA[{{ post.data.title }}]]></title>
                <link>{{ absolutePostUrl }}</link>
                <guid>{{ absolutePostUrl }}</guid>
                <pubDate>{{ post.date | dateToRfc822 }}</pubDate>
                <author>{{ metadata.author.name }}</author>
                <dc:creator>{{ metadata.author.name }}</dc:creator>
                <description>{{ post.content | renderTransforms: post.data.page, metadata.base | xml_escape }}</description>
                <content:encoded>{{ post.content | renderTransforms: post.data.page, metadata.base | xml_escape }}</content:encoded>
            </item>
        {%- endfor %}
    </channel>
</rss>
