<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="rss.xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Heartfire&apos;s Cavern</title><description>Projects, Rambling and other things</description><link>https://heartfire.me/</link><atom:link href="https://heartfire.me/feed_rss_created.xml" rel="self" type="application/rss+xml" /><language>en</language><pubDate>Sun, 04 Oct 2026 13:42:28 +0000</pubDate><lastBuildDate>Sun, 04 Oct 2026 13:42:28 +0000</lastBuildDate><ttl>1440</ttl><generator>Zensical RSS</generator><item><title>Site Migration</title><author>Heartfire</author><description>&lt;h1 id=&quot;site-migration&quot;&gt;Site Migration&lt;/h1&gt;
&lt;p&gt;I have recently migrated my site from a VPS i was using to GitHub Pages.&lt;/p&gt;
&lt;p&gt;Now that blogging is enabled and the eventuality that i might need to make quick changes to some portion of the site at some point has made me rethink how i deploy changes to the site&apos;s pages and media files.&lt;/p&gt;
&lt;p&gt;Previously, i manually built the site using Zensical&apos;s &quot;build&quot; command and uploaded the entire bundle of files to a webserver, where they would then be served by Caddy, but this approach is likely to become more and more cumbersome as the complexity of the site, and by extension Zensical, increases over time.&lt;/p&gt;
&lt;p&gt;GitHub allows you to trigger certain actions when something happens via the usage of so-called &quot;workflows&quot;. For instance, you could trigger the build of your project when something gets merged into your &quot;master&quot; or &quot;main&quot; branch, which then creates a Release with the built binaries and a changelog attached.&lt;/p&gt;
&lt;p&gt;Most projects use this to automate the creation of binaries for different operating systems or CPU architectures, but i use it slightly differently.&lt;/p&gt;
&lt;p&gt;Instead i have it do a number of things for me, automating the process to a great degree.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;First, it downloads the correct Python environment&lt;/li&gt;
&lt;li&gt;Second, it installs the requirements, which for now is just Zensical 0.0.65&lt;/li&gt;
&lt;li&gt;Third, a call to invoke the &quot;zensical build --clean&quot; command occurs, which produces a bundle of files comprising the website&lt;/li&gt;
&lt;li&gt;Fourth, GitHub Actions uploads this bundle or an &quot;artifact&quot; as it is called to GitHub Pages&lt;/li&gt;
&lt;li&gt;Finally, GitHub Pages makes the files contained in the workflow artifacts available as a website that can be reached via a custom domain and enforces HTTPS for me&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This workflow roughly mirrors the actions i took when i used to build the site and remove old files manually. What used to take many minutes now takes a handful of seconds at the very most, not including any overhead. &lt;/p&gt;
&lt;p&gt;For you, the reader, nothing will seem too different, other than more consistant load times since the site is now hosted on a faster, more available platform, but for me it will help me deliver better content in less time.&lt;/p&gt;</description><link>https://heartfire.me/blog/2026/10/02/site-migration/</link><source url="https://heartfire.me/feed_rss_created.xml">Heartfire&apos;s Cavern</source><pubDate>Fri, 02 Oct 2026 15:17:00 +0100</pubDate><guid isPermaLink="true">https://heartfire.me/blog/2026/10/02/site-migration/</guid></item><item><title>Grav Posts</title><author>Heartfire</author><description>&lt;h1 id=&quot;grav-posts&quot;&gt;Grav Posts&lt;/h1&gt;
&lt;p&gt;So, it turns out that i don&apos;t have the posts from the old Grav site anymore, they were on a server that i no longer have and i must&apos;ve nuked the backups at some point.&lt;/p&gt;
&lt;p&gt;No big deal however, most of them were related to project release schedules, so i&apos;ll just remake them as required.&lt;/p&gt;</description><link>https://heartfire.me/blog/2026/09/22/grav-posts/</link><source url="https://heartfire.me/feed_rss_created.xml">Heartfire&apos;s Cavern</source><pubDate>Tue, 22 Sep 2026 17:30:00 +0100</pubDate><guid isPermaLink="true">https://heartfire.me/blog/2026/09/22/grav-posts/</guid></item><item><title>Hello world!</title><author>Heartfire</author><description>&lt;h1 id=&quot;hello-world&quot;&gt;Hello world!&lt;/h1&gt;
&lt;p&gt;Welcome to my new blog.&lt;/p&gt;
&lt;p&gt;Now that Zensical (as of version 0.0.64 apparently, which probably explains why i couldn&apos;t get it to work previously) now natively supports blogging, it only makes sense to finally enable it on the site!&lt;/p&gt;
&lt;p&gt;I&apos;ll work to start restoring the posts that were on the Grav site, before it fell on its ass, maybe a post for the future.&lt;/p&gt;</description><link>https://heartfire.me/blog/2026/09/22/hello-world/</link><source url="https://heartfire.me/feed_rss_created.xml">Heartfire&apos;s Cavern</source><pubDate>Tue, 22 Sep 2026 17:06:00 +0100</pubDate><guid isPermaLink="true">https://heartfire.me/blog/2026/09/22/hello-world/</guid></item></channel></rss>