<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Static-Site on /var/log/janio</title><link>https://devops.sarmento.org/en/tags/static-site/</link><description>Recent content in Static-Site on /var/log/janio</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 17 Apr 2026 11:06:00 +0000</lastBuildDate><atom:link href="https://devops.sarmento.org/en/tags/static-site/index.xml" rel="self" type="application/rss+xml"/><item><title>Hugin: tags and summaries for Hugo with AI</title><link>https://devops.sarmento.org/en/posts/hugin-tags-and-summaries-for-hugo-with-ai/</link><pubDate>Fri, 17 Apr 2026 11:06:00 +0000</pubDate><guid>https://devops.sarmento.org/en/posts/hugin-tags-and-summaries-for-hugo-with-ai/</guid><description>&lt;p&gt;Anyone who maintains a &lt;a href="https://devops.sarmento.org/posts/why-leave-wordpress-and-what-to-build-instead-with-hugo-pages-cms-and-cloudflare/"&gt;static blog with Hugo&lt;/a&gt; knows there are two tasks nobody enjoys: classifying posts with tags and writing meta descriptions. These are the things you skip when publishing because the post is already done, the deploy is set up, and choosing between &amp;ldquo;selfhosted&amp;rdquo; and &amp;ldquo;self-hosted&amp;rdquo; isn&amp;rsquo;t exactly the best use of your time. The result is predictable: posts without tags, empty descriptions or ones copied from the first paragraph, and a taxonomy that hurts more than it helps.&lt;/p&gt;</description></item><item><title>From WordPress to Hugo: Theming Is Not What You Think</title><link>https://devops.sarmento.org/en/posts/from-wordpress-to-hugo-theming-is-not-what-you-think/</link><pubDate>Sat, 04 Apr 2026 15:20:00 +0000</pubDate><guid>https://devops.sarmento.org/en/posts/from-wordpress-to-hugo-theming-is-not-what-you-think/</guid><description>&lt;p&gt;Anyone who has worked with WordPress long enough develops a strong intuition for what a theme is and what it does. That intuition serves you well within the ecosystem: it guides decisions about file structure, where to put logic, and how to extend functionality. The trouble starts when you move to Hugo and try to apply the same mental model. The vocabulary overlaps — templates, layouts, partials — but what those words mean in practice is radically different.&lt;/p&gt;</description></item><item><title>Automatically Converting Images to WEBP and AVIF</title><link>https://devops.sarmento.org/en/posts/automatically-converting-images-to-webp-and-avif/</link><pubDate>Thu, 26 Mar 2026 22:19:00 +0000</pubDate><guid>https://devops.sarmento.org/en/posts/automatically-converting-images-to-webp-and-avif/</guid><description>&lt;p&gt;The two previous posts built the monitoring infrastructure — &lt;a href="https://devops.sarmento.org/en/posts/monitoring-files-and-folders-with-launchd-watchpaths-in-practice/"&gt;&lt;code&gt;WatchPaths&lt;/code&gt; on macOS&lt;/a&gt;, &lt;a href="https://devops.sarmento.org/en/posts/monitoring-files-and-folders-on-linux-with-systemd-path-units-and-inotifywait/"&gt;systemd path units and &lt;code&gt;inotifywait&lt;/code&gt; on Linux&lt;/a&gt; — and promised the scripts would come later. The trigger is ready: launchd or systemd detects when something changes in a directory and fires a command. What is missing is the command itself.&lt;/p&gt;
&lt;p&gt;This post delivers the image conversion script that those triggers will fire. The goal is simple: PNGs and JPGs go into a folder, WEBP or AVIF come out. The originals are deleted or moved, depending on the configuration. The script detects which encoders are available on the machine and picks the best one among those installed, with a fallback chain that ensures it works even when the ideal tool is not present. If no compatible encoder is found, the script tells you what to install and from which package manager.&lt;/p&gt;</description></item><item><title>The Dark Side of Free Website: Limits and Alternatives for Hugo + GitHub + Cloudflare Pages + Pages CMS</title><link>https://devops.sarmento.org/en/posts/o-lado-b-do-site-gratis-limites-e-alternativas-para-hugo-github-cloudflare-pages-pages-cms/</link><pubDate>Tue, 24 Mar 2026 10:45:00 +0000</pubDate><guid>https://devops.sarmento.org/en/posts/o-lado-b-do-site-gratis-limites-e-alternativas-para-hugo-github-cloudflare-pages-pages-cms/</guid><description>&lt;p&gt;In a &lt;a href="https://devops.sarmento.org/en/posts/why-leave-wordpress-and-what-to-build-instead-with-hugo-pages-cms-and-cloudflare/"&gt;previous post&lt;/a&gt;, we put together a complete blog with Hugo, GitHub, Cloudflare Pages, and Pages CMS without spending a cent. The stack works, it is fast, and for most personal blogs it will keep working for a long time without asking anything in return. But &amp;ldquo;free&amp;rdquo; does not mean &amp;ldquo;without limits,&amp;rdquo; and understanding where the walls are before you hit them is the kind of thing that saves headaches down the road.&lt;/p&gt;</description></item><item><title>Comments on static sites with Isso — lightweight, self-hosted, and tracking-free</title><link>https://devops.sarmento.org/en/posts/comments-on-static-sites-with-isso-lightweight-self-hosted-and-tracking-free/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://devops.sarmento.org/en/posts/comments-on-static-sites-with-isso-lightweight-self-hosted-and-tracking-free/</guid><description>&lt;p&gt;A static site has no backend. No database, no application server processing requests — and that&amp;rsquo;s exactly what makes it fast, cheap, and resilient. But that simplicity comes at a cost when you need anything that depends on persistent state, and comments are the most obvious case. In WordPress or Ghost, the commenting system is part of the application. In a site generated by Hugo, Jekyll, or Eleventy, that layer simply doesn&amp;rsquo;t exist.&lt;/p&gt;</description></item><item><title>Why leave WordPress — and what to build instead with Hugo, Pages CMS, and Cloudflare</title><link>https://devops.sarmento.org/en/posts/why-leave-wordpress-and-what-to-build-instead-with-hugo-pages-cms-and-cloudflare/</link><pubDate>Fri, 20 Mar 2026 00:10:00 +0000</pubDate><guid>https://devops.sarmento.org/en/posts/why-leave-wordpress-and-what-to-build-instead-with-hugo-pages-cms-and-cloudflare/</guid><description>&lt;h2 id="why-leave-wordpress"&gt;Why leave WordPress&lt;/h2&gt;
&lt;h3 id="the-weight-of-running-a-dynamic-cms"&gt;The weight of running a dynamic CMS&lt;/h3&gt;
&lt;p&gt;WordPress is an extraordinary piece of software that powers nearly half the internet. That said, keeping a WordPress installation healthy is a job that never ends. Every visit to your site triggers a chain of events: the server receives the request, PHP wakes up, queries MySQL, assembles the page on the fly, and sends the HTML back to the browser. Multiply that by a hundred simultaneous visitors and you have a server sweating to deliver pages that, on most blogs, are exactly the same for everyone.&lt;/p&gt;</description></item></channel></rss>