<?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 Melabit</title>
    <link>https://static.233.196.69.159.clients.your-server.de/en/tags/hugo/</link>
    <description>Recent content in Hugo on Melabit</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Wed, 31 Dec 2025 06:00:00 +0000</lastBuildDate>
    <atom:link href="https://static.233.196.69.159.clients.your-server.de/en/tags/hugo/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>A year of melabit.com</title>
      <link>https://static.233.196.69.159.clients.your-server.de/en/2025/12/31/a-year-of-melabit-com/</link>
      <pubDate>Wed, 31 Dec 2025 06:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/en/2025/12/31/a-year-of-melabit-com/</guid>
      <description>&lt;p&gt;2025 was a turning point for this little blog. Leaving the &lt;em&gt;comfort zone&lt;/em&gt; of Wordpress.com was neither easy nor painless, especially when I discovered that &lt;a href=&#34;https://melabit.com/en/2025/01/02/2025-01-02-da-melabit-a-melabit-addio-wordpress-ciao-jekyll/&#34;&gt;once the site was online&lt;/a&gt;, Jekyll was slow, too slow to be usable.&lt;/p&gt;&#xA;&lt;p&gt;Thankfully, &lt;a href=&#34;https://melabit.com/it/2025/05/24/jeeeeeekyll-no-hugo/&#34;&gt;Hugo saved the day&lt;/a&gt;, although there are still many details to be ironed out, first and foremost the website&amp;rsquo;s graphic design.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-12-31-un-anno-di-melabit-com/Gemini_Generated_Image_r0phqqr0phqqr0ph.jpeg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Image generated by &lt;a href=&#34;https://gemini.google.com&#34;&gt;Google Gemini&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Managing posts in two different languages is not easy, but it is worth it, as posts in English allow to reach a pool of users that would be unimaginable if I only wrote in Italian.&lt;/p&gt;&#xA;&lt;p&gt;The main concern with the new site is the near absence of comments on posts. I don&amp;rsquo;t know if it&amp;rsquo;s because they&amp;rsquo;re too complicated, too long, or both. The fact is that the lack of comments is really worrying. And this is despite the fact that there are a good number of visitors and that on average 5% of them spend 15 minutes or more on the site. Maybe in the end they&amp;rsquo;re too exhausted to comment, who knows!&lt;/p&gt;&#xA;&lt;hr style=&#34;border: none; border-top: 3px double #333; color: #333; overflow: visible; height: 5px; width: 50%; margin-left: auto; margin-right: auto;&#34;&gt;&#xA;&lt;p&gt;Needless to say, I never use AI tools to write the posts. At most, I use them to look up a few technical terms when I can&amp;rsquo;t remember the Italian equivalent (for instance, I always forget that &lt;code&gt;Tab&lt;/code&gt; in Italian is &lt;code&gt;Scheda&lt;/code&gt;, not &lt;code&gt;Linguetta&lt;/code&gt;). Sometimes I try to use AI to improve the flow of a few sentences, but it&amp;rsquo;s almost always a waste of time. In the end, the text sounds so flat that it&amp;rsquo;s better not to write it at all.&lt;/p&gt;&#xA;&lt;p&gt;However, I admit that I use AI for the initial translations. I need it mainly to save typing time, even though it then takes quite a while to refine the result and make the translation more fluid and natural.&lt;/p&gt;&#xA;&lt;p&gt;I also often use AI to generate the images at the top of the posts. In this case, I have no choice. While I&amp;rsquo;m not bad at writing, I&amp;rsquo;ve always been second to last in the class when it comes to drawing and graphics, and only because the last one was really terrible. So I&amp;rsquo;m doing you a favor. But even with Google&amp;rsquo;s much-celebrated &lt;a href=&#34;https://gemini.google/overview/image-generation/&#34;&gt;Nano Banana&lt;/a&gt;, it took a lot of effort to convince it to generate the image for this post, with the right text, the real homepage, and so on. Anyone who says that Nano Banana is so smart that it understands what you want right away is telling you lies.&lt;/p&gt;&#xA;&lt;hr style=&#34;border: none; border-top: 3px double #333; color: #333; overflow: visible; height: 5px; width: 50%; margin-left: auto; margin-right: auto;&#34;&gt;&#xA;&lt;p&gt;If all goes well, 2026 will bring some new developments. I&amp;rsquo;m not sure in what order, but revising the graphic theme is definitely at the top of the list.&lt;/p&gt;&#xA;&lt;p&gt;Stay tuned! In the meantime, best wishes for 2026. May it be a year full of good things and happiness for everyone!&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Jeeeeeekyll? No, Hugo!</title>
      <link>https://static.233.196.69.159.clients.your-server.de/en/2025/05/24/jeeeeeekyll-no-hugo/</link>
      <pubDate>Sat, 24 May 2025 00:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/en/2025/05/24/jeeeeeekyll-no-hugo/</guid>
      <description>&lt;p&gt;As &lt;a href=&#34;https://melabit.com/en/2025/01/21/from-melabit-to-melabit-why-jekyll/&#34;&gt;I was writing about my transition from WordPress to Jekyll&lt;/a&gt;, I knew I had to prepare for another change.&lt;/p&gt;&#xA;&lt;p&gt;From a technical point of view, &lt;a href=&#34;https://jekyllrb.com/&#34;&gt;Jekyll&lt;/a&gt; is a fantastic platform: it is easy to program, has impeccable documentation, and works perfectly during the development phase, with a limited number of pages and test posts. But, as I experienced firsthand, when Jekyll is asked to handle a real site with hundreds of posts, performance drops dramatically and response times become unbearably slow (and quite embarrassing, too).&lt;/p&gt;&#xA;&lt;p&gt;In the late &amp;rsquo;90s, it was normal to wait several seconds for a webpage to load.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; But today, we&amp;rsquo;re used to pages that load instantly, so having to wait three or four seconds is  unacceptable.&lt;/p&gt;&#xA;&lt;h4 id=&#34;a-high-price-to-pay&#34;&gt;A high price to pay&lt;/h4&gt;&#xA;&lt;p&gt;Before I started working on the new site, I was well aware that Jekyll was slow. However, this slowness was always attributed to the &lt;strong&gt;site generation phase&lt;/strong&gt;, which is performed sporadically and can be automated. And that was exactly what happened: during development, with a few dozen posts, I could regenerate the site in 10–20 seconds, quite annoying, but not dramatic; now it takes 15 minutes to regenerate the entire &lt;a href=&#34;https://melabit.com/&#34;&gt;melabit.com&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;What I didn’t know was that the &lt;strong&gt;generated site&lt;/strong&gt; would also suffer from the same problem, which became evident as soon as I finished the development phase and started working with all the posts.&lt;/p&gt;&#xA;&lt;p&gt;At that point, I was still convinced that optimizing the code and images and applying an aggressive &lt;em&gt;caching&lt;/em&gt; would mitigate the issue. And in any case, I had gone too far to turn back. However, I soon realized that this strategy wasn’t enough, and that a radical rethink was necessary. So I started looking around.&lt;/p&gt;&#xA;&lt;h4 id=&#34;alternatives&#34;&gt;Alternatives&lt;/h4&gt;&#xA;&lt;p&gt;Static site generators are like Linux distributions: there are too many of them, and in most cases it’s hard to understand why they even exist. At the moment, &lt;a href=&#34;https://jamstack.org/generators/&#34;&gt;Jamstack lists&lt;/a&gt; 366 of them, while &lt;a href=&#34;https://staticsitegenerators.net/&#34;&gt;Static Site Generators&lt;/a&gt; counts nearly 500. Most have been abandoned, maybe because nobody was using them, or because the developer lost interest in continuing development. Let’s say the interesting ones are a dozen or so, maybe a few more.&lt;/p&gt;&#xA;&lt;p&gt;Among these, I considered &lt;a href=&#34;https://www.bridgetownrb.com/&#34;&gt;Bridgetown&lt;/a&gt; (very briefly, I admit), which &lt;a href=&#34;https://www.bridgetownrb.com/news/time-to-visit-bridgetown/&#34;&gt;is derived from Jekyll&lt;/a&gt; and therefore, at first glance, seemed like a natural evolution. However, I realised that few people use it, there are few plugins and even fewer themes. If Bridgetown is derived from Jekyll, how could I be sure that it didn’t suffer from the same slowness issue? Better to stay away and stick with the original.&lt;/p&gt;&#xA;&lt;p&gt;Another candidate was &lt;a href=&#34;https://middlemanapp.com/&#34;&gt;Middleman&lt;/a&gt;, which is developed in Ruby like Jekyll. But Middleman is designed to generate plain websites, and you need a specific extension to make it support typical blog features, such as lists, taxonomies, feeds and comments. Also, the &lt;em&gt;templating&lt;/em&gt; language is &lt;a href=&#34;https://github.com/ruby/erb&#34;&gt;ERB&lt;/a&gt; (Embedded Ruby), which is a sensible choice since it’s integrated within Ruby. However, it meant having to relearn everything from scratch.&lt;/p&gt;&#xA;&lt;p&gt;Long story short: in the end, the only serious candidate was&amp;hellip; the good old &lt;a href=&#34;https://gohugo.io/&#34;&gt;Hugo&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h4 id=&#34;looking-for-speed&#34;&gt;Looking for speed&lt;/h4&gt;&#xA;&lt;p&gt;Many years ago, &lt;a href=&#34;https://melabit.com/it/2014/12/28/hugo-la-prova/&#34;&gt;I wrote a post about Hugo&lt;/a&gt;, finding it interesting, but crippled by documentation that calling &lt;em&gt;poor&lt;/em&gt; was being generous.&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;p&gt;However, its quality is not in question. Unsurprisingly, Hugo consistently ranks at the top of all the charts evaluating the quality of static site generators, just like Jekyll.&lt;/p&gt;&#xA;&lt;p&gt;And Hugo has a real ace up its sleeve: it’s fast. In fact, it’s &lt;em&gt;blazingly fast&lt;/em&gt;!&lt;/p&gt;&#xA;&lt;p&gt;I can&amp;rsquo;t say whether Hugo is truly &lt;em&gt;the world’s fastest framework for building websites&lt;/em&gt;, as claimed in the &lt;a href=&#34;https://gohugo.io/&#34;&gt;slogan at the top of its homepage&lt;/a&gt;. However, I have verified firsthand that Hugo can generate this entire site in under a minute, 15 times faster than Jekyll. Most importantly, the generated site is fast and responsive, exactly as you would expect from a modern website. That puts everything else in the background.&lt;/p&gt;&#xA;&lt;h4 id=&#34;hugo&#34;&gt;Hugo&lt;/h4&gt;&#xA;&lt;p&gt;So starting today, &lt;a href=&#34;https://melabit.com/&#34;&gt;melabit.com&lt;/a&gt; is moving to Hugo, with a new design&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; and trying to keep all the features of the Jekyll-based version. The first of these is the [Comma-based commenting system]https://melabit.com/en/2025/03/05/from-melabit-to-melabit-managing-comments-with-jekyll/), which after the transplant worked practically on the first try.&lt;/p&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://en.wikipedia.org/wiki/Permalink&#34;&gt;permalinks&lt;/a&gt; have changed and now explicitly indicate the language of the post, which is a more rational approach. The feed has changed too. For now it&amp;rsquo;s the old RSS, but at some point I’ll check whether it’s possible to add ATOM.&lt;/p&gt;&#xA;&lt;p&gt;Right now, the search function is based on Google, and will not work until the site is indexed again. Pagination needs to be revised, as does the logic that shows the featured post in the list of all posts. But these details can be sorted out later.&lt;/p&gt;&#xA;&lt;p&gt;Because of how my mind works, I’d love to go into the details of how I modified Hugo and the chosen theme, but I’m afraid it would be boring, in particular after all the very detailed (but now almost useless) posts I wrote about Jekyll. I’ll think it over. In the meantime, if anyone is interested in knowing more, feel free to say so in the comments.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-05-24-jeeeeeekyll-no-hugo/jekyll-vs-hugo.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Image generated by &lt;a href=&#34;https://gemini.google.com&#34;&gt;Google Gemini&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;But you could at least distract yourself by watching the images appear one line at a time on the screen&amp;hellip; 😂&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;Not much has changed since then. One of the (few) posts I can recommend without reservation is this one on managing &lt;a href=&#34;https://www.smashingmagazine.com/2021/02/context-variables-hugo-static-site-generator/&#34;&gt;context and variables in Hugo&lt;/a&gt;. It&amp;rsquo;s a very technical read, but essential for learning the basics needed to modify and extend Hugo.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:3&#34;&gt;&#xA;&lt;p&gt;I&amp;rsquo;m not thrilled with the design, but it&amp;rsquo;s the best I&amp;rsquo;ve been able to come up with so far.&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
  </channel>
</rss>
