<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hugo on Mad Blog</title><link>/tags/hugo/</link><description>Recent content in Hugo on Mad Blog</description><generator>Hugo -- gohugo.io</generator><language>en-gb</language><managingEditor>madking.direct@gmail.com (Mad King)</managingEditor><webMaster>madking.direct@gmail.com (Mad King)</webMaster><lastBuildDate>Fri, 27 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="/tags/hugo/index.xml" rel="self" type="application/rss+xml"/><item><title>Setting Up a Hugo Blog on Netlify (The Easy Way)</title><link>/posts/setting-up-netlify-for-hugo/</link><pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate><author>madking.direct@gmail.com (Mad King)</author><guid>/posts/setting-up-netlify-for-hugo/</guid><description>&lt;p&gt;In my last post I walked through hosting a Hugo blog on AWS S3 with CloudFront. It works, but let&amp;rsquo;s be honest — it&amp;rsquo;s a lot of moving parts. S3 bucket, CloudFront distribution, IAM policies, DNS records, cache invalidation. If your blog is the only thing on the line, that&amp;rsquo;s a fair bit of overhead.&lt;/p&gt;
&lt;p&gt;A few people asked whether there&amp;rsquo;s a simpler way. There is.&lt;/p&gt;
&lt;p&gt;This post covers hosting the same Hugo blog on Netlify — the zero-config, free HTTPS, push-to-deploy alternative.&lt;/p&gt;</description></item><item><title>Setting Up a Hugo Blog on AWS S3 with Custom Domain</title><link>/posts/setting-up-s3-web-server/</link><pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate><author>madking.direct@gmail.com (Mad King)</author><guid>/posts/setting-up-s3-web-server/</guid><description>&lt;p&gt;This guide walks through setting up a Hugo blog on AWS S3 with a custom domain — perfect for your personal blog or portfolio.&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;Here&amp;rsquo;s the pipeline we&amp;rsquo;ll set up:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Markdown → Hugo Build → S3 Static Host → CloudFront CDN → blog.example.com
&lt;/code&gt;&lt;/pre&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Hugo&lt;/strong&gt; generates static HTML from markdown&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;S3&lt;/strong&gt; hosts the files as a static website&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CloudFront&lt;/strong&gt; provides caching, HTTPS, and better performance&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ionos DNS&lt;/strong&gt; routes your subdomain to CloudFront&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Hugo installed&lt;/li&gt;
&lt;li&gt;AWS account with access to S3 and CloudFront&lt;/li&gt;
&lt;li&gt;Domain/subdomain in Ionos (e.g., &lt;code&gt;blog.example.com&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="step-1-build-your-hugo-site"&gt;Step 1: Build Your Hugo Site&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /workspace/hugo-blog
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;hugo --minify
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This generates a &lt;code&gt;public/&lt;/code&gt; directory with all static files.&lt;/p&gt;</description></item><item><title>My First Post</title><link>/posts/first-post/</link><pubDate>Sat, 17 Jan 2026 00:00:00 +0000</pubDate><author>madking.direct@gmail.com (Mad King)</author><guid>/posts/first-post/</guid><description>&lt;p&gt;This is my first blog post, written in Markdown and generated with Hugo.&lt;/p&gt;
&lt;h2 id="why-hugo"&gt;Why Hugo?&lt;/h2&gt;
&lt;p&gt;Hugo is a fast, flexible static site generator. It lets me write in plain Markdown and produces static HTML that can be hosted anywhere — including &lt;a href="https://aws.amazon.com/s3/"&gt;AWS S3&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="how-it-works"&gt;How It Works&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Write content in Markdown (&lt;code&gt;content/en/posts/*.md&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;hugo --minify&lt;/code&gt; to build&lt;/li&gt;
&lt;li&gt;Deploy to Netlify&lt;/li&gt;
&lt;li&gt;Done!&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="example-code"&gt;Example Code&lt;/h2&gt;
&lt;p&gt;Here is a Python snippet:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;hello&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Hello from my Hugo blog!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34; Post &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; live&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And a Bash example:&lt;/p&gt;</description></item></channel></rss>