<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Bridgetown on Melabit</title>
    <link>https://static.233.196.69.159.clients.your-server.de/it/tags/bridgetown/</link>
    <description>Recent content in Bridgetown on Melabit</description>
    <generator>Hugo</generator>
    <language>it</language>
    <lastBuildDate>Sat, 24 May 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://static.233.196.69.159.clients.your-server.de/it/tags/bridgetown/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Jeeeeeekyll? No, Hugo!</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/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/it/2025/05/24/jeeeeeekyll-no-hugo/</guid>
      <description>&lt;p&gt;Mentre &lt;a href=&#34;https://melabit.com/it/2025/01/21/da-melabit-a-melabit-perche-jekyll/&#34;&gt;descrivevo come ero passato da Wordpress a Jekyll&lt;/a&gt;, sapevo già che avrei dovuto cambiare di nuovo.&lt;/p&gt;&#xA;&lt;p&gt;Da un punto di vista tecnico, &lt;a href=&#34;https://jekyllrb.com/&#34;&gt;Jekyll&lt;/a&gt; è una piattaforma fantastica: è facile da programmare, ha una documentazione ineccepibile e funziona perfettamente durante la fase di sviluppo, quando il numero di pagine e di post di test è limitato. Ma, come ho sperimentato in prima persona, una volta che Jekyll si trova a dover gestire un sito vero con centinaia di post, le prestazioni calano drasticamente e i tempi di risposta aumentano in modo intollerabile (e piuttosto imbarazzante).&lt;/p&gt;&#xA;&lt;p&gt;A fine anni &amp;lsquo;90 era normale aspettare diversi secondi prima di visualizzare una pagina web.&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; Ma oggi siamo abituati a pagine che si caricano immediatamente, e una attesa di tre, quattro secondi è inaccettabile.&lt;/p&gt;&#xA;&lt;h4 id=&#34;un-prezzo-troppo-alto-da-pagare&#34;&gt;Un prezzo troppo alto da pagare&lt;/h4&gt;&#xA;&lt;p&gt;Prima di iniziare a lavorare sul nuovo sito sapevo bene che Jekyll era lento, ma questa lentezza si riferiva sempre alla &lt;strong&gt;fase di generazione del sito&lt;/strong&gt;, una operazione che si esegue di rado e può essere facilmente automatizzata. E in effetti è proprio così: durante lo sviluppo, con poche decine di post, rigeneravo il sito in 10-20 secondi, una cosa seccante ma non drammatica; ora ci vogliono 15 minuti per rigenerare l&amp;rsquo;intero &lt;a href=&#34;https://melabit.com/&#34;&gt;melabit.com&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Quello che non sapevo era che anche il &lt;strong&gt;sito generato&lt;/strong&gt; avrebbe sofferto dello stessa problema, come è diventato evidente non appena ho terminato la fase di sviluppo e ho iniziato a lavorare con tutti i post.&lt;/p&gt;&#xA;&lt;p&gt;In quel momento ero ancora convinto che l&amp;rsquo;ottimizzazione del codice e delle immagini e un &lt;em&gt;caching&lt;/em&gt; aggressivo avrebbe potuto attenuare il problema. E comunque ero andato troppo avanti per fermarmi. Ma dopo poco mi sono accorto che questa strategia non era sufficiente, e che ci voleva un ripensamento radicale. E ho cominciato a guardarmi attorno.&lt;/p&gt;&#xA;&lt;h4 id=&#34;alternative&#34;&gt;Alternative&lt;/h4&gt;&#xA;&lt;p&gt;I generatori di siti statici sono come le distribuzioni di Linux: abbondano e quasi sempre non si capisce il senso della loro esistenza. In questo momento, &lt;a href=&#34;https://jamstack.org/generators/&#34;&gt;Jamstack ne elenca&lt;/a&gt; 366, mentre &lt;a href=&#34;https://staticsitegenerators.net/&#34;&gt;Static Site Generators&lt;/a&gt; arriva a quasi 500. La maggior parte è stata abbandonata, magari perché nessuno le utilizzava o perché lo sviluppatore non era interessato a continuarne lo sviluppo. Diciamo che quelle interessanti sono una decina o poco più.&lt;/p&gt;&#xA;&lt;p&gt;Fra queste ho considerato (brevemente, lo ammetto) &lt;a href=&#34;https://www.bridgetownrb.com/&#34;&gt;Bridgetown&lt;/a&gt;, che &lt;a href=&#34;https://www.bridgetownrb.com/news/time-to-visit-bridgetown/&#34;&gt;deriva da Jekyll&lt;/a&gt; e quindi, a prima vista, sembrava una evoluzione naturale. Ma poi mi sono accorto che lo usano in pochi, che i plugin sono scarsi e i temi ancora meno. E poi, se Bridgetown discende da Jekyll, non è che soffre dello stesso problema di lentezza? Meglio stare alla larga e tenersi l&amp;rsquo;originale.&lt;/p&gt;&#xA;&lt;p&gt;Altro candidato era &lt;a href=&#34;https://middlemanapp.com/&#34;&gt;Middleman&lt;/a&gt;, sviluppato in Ruby come Jekyll, Ma Middleman è destinato a generare il classico sito web, e ci vuole una estensione specifica per fargli supportare le funzioni tipiche di un blog (liste di articoli, tassonomie, feed, commenti). E poi il linguaggio di &lt;em&gt;templating&lt;/em&gt; è &lt;a href=&#34;https://github.com/ruby/erb&#34;&gt;ERB&lt;/a&gt; (Embedded Ruby), che in sé è una scelta sensata dato che è integrato nello stesso Ruby, ma che per me significava dover reimparare tutto da zero.&lt;/p&gt;&#xA;&lt;p&gt;Ve la faccio breve: alla fine dei conti l&amp;rsquo;unico candidato serio era&amp;hellip; il solito &lt;a href=&#34;https://gohugo.io/&#34;&gt;Hugo&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h4 id=&#34;alla-ricerca-della-velocità&#34;&gt;Alla ricerca della velocità&lt;/h4&gt;&#xA;&lt;p&gt;Di Hugo &lt;a href=&#34;https://melabit.com/it/2014/12/28/hugo-la-prova/&#34;&gt;avevo già scritto molti anni fa&lt;/a&gt;, trovandolo interessante, ma azzoppato da una documentazione che definire &lt;em&gt;scarsa&lt;/em&gt; era un complimento.&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;Però la qualità non è in discussione, non a caso Hugo, proprio come Jekyll, finisce sistematicamente in cima a tutte le classifiche che si prefiggono di valutare la qualità dei vari generatori di siti statici.&lt;/p&gt;&#xA;&lt;p&gt;E poi Hugo ha un vero asso nella manica: è veloce, anzi è velocissimo.&lt;/p&gt;&#xA;&lt;p&gt;Non so dire se Hugo sia davvero &lt;em&gt;il più veloce framework al mondo per la costruzione di siti web&lt;/em&gt;, come sostiene lo &lt;a href=&#34;https://gohugo.io/&#34;&gt;slogan in cima alla sua home page&lt;/a&gt;. Ma ho verificato in prima persona che Hugo è in grado di generare questo sito in meno di un minuto, cioè 15 volte più rapidamente di Jekyll. E, quello che più conta, anche il sito generato risulta essere veloce e reattivo, proprio come ci si aspetta da un sito web moderno. Questo fa passare tutto il resto in secondo piano.&lt;/p&gt;&#xA;&lt;h4 id=&#34;hugo&#34;&gt;Hugo&lt;/h4&gt;&#xA;&lt;p&gt;E allora da oggi &lt;a href=&#34;https://melabit.com/&#34;&gt;melabit.com&lt;/a&gt; passa ad Hugo, con una nuova grafica&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; e cercando di mantenere tutte le funzioni della versione basata su Jekyll. Prima fra tutte il &lt;a href=&#34;https://melabit.com/it/2025/03/05/da-melabit-a-melabit-gestire-i-commenti-con-jekyll/&#34;&gt;sistema di commenti basato su Comma&lt;/a&gt;, che dopo il trapianto ha funzionato praticamente al primo colpo.&lt;/p&gt;&#xA;&lt;p&gt;I &lt;a href=&#34;https://it.wikipedia.org/wiki/Permalink&#34;&gt;permalink&lt;/a&gt; sono cambiati e ora distinguono esplicitamente la lingua del post, che è una cosa più razionale. Anche il feed è cambiato, per ora è il vecchio RSS, prima o poi verificherò se è possibile aggiungere ATOM.&lt;/p&gt;&#xA;&lt;p&gt;La funzione di ricerca per ora è basata su Google, e non funzionerà finché il sito non sarà indicizzato di nuovo. La paginazione va rivista, così come la logica che mostra il post in evidenza anche nella lista di tutti i post. Ma ci sarà tempo per sistemare questi dettagli.&lt;/p&gt;&#xA;&lt;p&gt;Per formazione mentale mi piacerebbe entrare nei dettagli di come ho modificato Hugo e il tema grafico prescelto, ma temo di risultare noioso, soprattutto dopo tutti gli articoli, dettagliatissimi ma ormai praticamente inutili, scritti su Jekyll. Ci penserò un po&amp;rsquo; su, nel frattempo se qualcuno è interessato a saperne di più può scriverlo nei commenti.&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;Immagine generata da &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;Però ci si poteva distrarre guardando le immagini comparire una riga alla volta sullo schermo&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;Rispetto ad allora non è cambiato molto. Uno dei pochi articoli che posso consigliare senza riserve è questo sulla gestione del &lt;a href=&#34;https://www.smashingmagazine.com/2021/02/context-variables-hugo-static-site-generator/&#34;&gt;contesto e delle variabili in Hugo&lt;/a&gt;. Una lettura molto tecnica, ma indispensabile per imparare le basi necessarie a modificare ed estendere 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;Che non mi fa impazzire, ma che per ora è il meglio che sono riuscito a fare.&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>
    <item>
      <title>Da melabit a melabit: perché Jekyll?</title>
      <link>https://static.233.196.69.159.clients.your-server.de/it/2025/01/21/da-melabit-a-melabit-perche-jekyll/</link>
      <pubDate>Tue, 21 Jan 2025 18:00:00 +0000</pubDate>
      <guid>https://static.233.196.69.159.clients.your-server.de/it/2025/01/21/da-melabit-a-melabit-perche-jekyll/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://static.233.196.69.159.clients.your-server.de/img/2025-01-21-da-melabit-a-melabit-perche-jekyll/jametlene-reskp-fmyZcoCaSac-unsplash.jpg&#34; alt=&#34;&#34;&gt;&#xA;&amp;ndash; &lt;em&gt;Fonte: &lt;a href=&#34;https://unsplash.com/@reskp&#34;&gt;Jametlene Reskp&lt;/a&gt; su &lt;a href=&#34;https://unsplash.com&#34;&gt;Unsplash&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Come dicevo nell&amp;rsquo;&lt;a href=&#34;https://melabit.com/it/2025/01/02/da-melabit-a-melabit-addio-wordpress-ciao-jekyll/&#34;&gt;ultimo post&lt;/a&gt;, lasciare la &lt;em&gt;comfort zone&lt;/em&gt; di Wordpress non è stato per niente facile.&lt;/p&gt;&#xA;&lt;p&gt;Fra doversi preoccupare solo di scrivere qualcosa di interessante, con tutto il resto gestito da una squadra di amministratori di sistema ed esperti di programmazione web, a dover fare tutto da solo c&amp;rsquo;è un abisso.&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;è voluto un bel po&amp;rsquo; di tempo per configurare il nuovo sistema, aggiungere le funzionalità mancanti e risolvere i (tanti) problemi tecnici imprevisti. Tanto più che in parallelo continuavo a svolgere la mia normale attività lavorativa e, non dimentichiamo, dovevo pure scrivere un post ogni tanto.&lt;/p&gt;&#xA;&lt;hr style = &#34;border: none; &#xA;            border-top: 3px double #333; &#xA;            color: #333; &#xA;            overflow: visible; &#xA;            height: 5px; &#xA;            width: 50%; &#xA;            margin-left: auto; &#xA;            margin-right: auto;&#34;&#xA;&gt;&#xA;&#xA;&lt;p&gt;Di conseguenza, la prima necessità era basare questo nuovo blog su una piattaforma stabile e affidabile, che non cambiasse pelle ogni settimana o, peggio, che scomparisse improvvisamente dalla circolazione perché lo sviluppatore si era stufato di giocare con il suo progetto.&lt;/p&gt;&#xA;&lt;p&gt;Anche la disponibilità di una documentazione abbondante e ben fatta era fondamentale: avere guide chiare per configurare il sistema e trovare risposte rapide ai problemi (che sono inevitabili) è un aiuto enorme per non perdere giorni interi a impazzire dietro al codice.&lt;/p&gt;&#xA;&lt;p&gt;Su queste basi la scelta era inevitabile, ed era identica a quella di &lt;a href=&#34;https://melabit.wordpress.com/2014/12/31/and-the-winner-is/&#34;&gt;tanti anni fa&lt;/a&gt;: Jekyll.&lt;/p&gt;&#xA;&lt;p&gt;Perché &lt;a href=&#34;http://jekyllrb.com/&#34;&gt;Jekyll&lt;/a&gt; avrà pure tanti difetti, fra tutti la lentezza nella generazione del sito e la pesantezza del codice generato, ma esiste da ben 16 anni, viene ancora sviluppato con regolarità ma senza stravolgimenti (l&amp;rsquo;&lt;a href=&#34;https://github.com/jekyll/jekyll&#34;&gt;ultima release&lt;/a&gt; è di settembre 2024), e sul web si trovano guide su tutto ciò che può venire in mente quando si sviluppa un sito con questa piattaforma.&lt;/p&gt;&#xA;&lt;p&gt;Del resto, non sarà certo un caso se &lt;a href=&#34;https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/about-github-pages-and-jekyll&#34;&gt;GitHub ha scelto proprio Jekyll&lt;/a&gt; come piattaforma per generare un sito direttamente da un suo &lt;em&gt;repository&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;hr style = &#34;border: none; &#xA;            border-top: 3px double #333; &#xA;            color: #333; &#xA;            overflow: visible; &#xA;            height: 5px; &#xA;            width: 50%; &#xA;            margin-left: auto; &#xA;            margin-right: auto;&#34;&#xA;&gt;&#xA;&#xA;&lt;p&gt;A suo tempo, Jekyll mi aveva tanto convinto da spingermi a scrivere tutti i 482 post del blog su &lt;a href=&#34;https://melabit.wordpress.com/&#34;&gt;wordpress.com&lt;/a&gt; in Markdown, con una &lt;a href=&#34;https://jekyllrb.com/docs/front-matter/&#34;&gt;intestazione in YAML&lt;/a&gt; come quella usata di Jekyll e con le immagini salvate in cartelle con lo stesso nome del post.&lt;/p&gt;&#xA;&lt;p&gt;Su WordPress non serviva, perché tutto quello che dovevo (e potevo) fare era copiare il testo in un nuovo post, aggiungere le immagini e premere in bottone di pubblicazione (beh, in realtà è un po&amp;rsquo; più complicato, ma ci siamo capiti).&lt;/p&gt;&#xA;&lt;p&gt;Ma avere tutto bello e pronto nel formato &lt;em&gt;giusto&lt;/em&gt; ha semplificato parecchio la transizione da WordPress a sito statico basato su Jekyll. Mi è bastato preparare la struttura di base, aggiungere i post e le immagini, e generare il sito per avere tutto bello e pronto (anche qui le cose sono &lt;em&gt;leggermente&lt;/em&gt; più complicate, ma l&amp;rsquo;idea di base è quella).&lt;/p&gt;&#xA;&lt;p&gt;Se non avessi conservato i testi originali, avrei potuto usare un &lt;a href=&#34;https://github.com/benbalter/wordpress-to-jekyll-exporter&#34;&gt;plugin WordPress&lt;/a&gt; per &lt;a href=&#34;https://heidloff.net/article/migrating-from-wordpress-to-jekyll/&#34;&gt;esportare i post da WordPress in Jekyll&lt;/a&gt; (è proprio vero che esiste un plugin WordPress per qualunque cosa!). Ma il plugin non supporta i commenti, le immagini finiscono in una directory non standard e vanno spostate in quella corretta, bisogna correggere tutti i link&amp;hellip; Alla fine, nel mio caso ci sarebbe voluto più tempo a sistemare tutto che a ripartire da zero.&lt;/p&gt;&#xA;&lt;hr style = &#34;border: none; &#xA;            border-top: 3px double #333; &#xA;            color: #333; &#xA;            overflow: visible; &#xA;            height: 5px; &#xA;            width: 50%; &#xA;            margin-left: auto; &#xA;            margin-right: auto;&#34;&#xA;&gt;&#xA;&#xA;&lt;p&gt;Ora il lavoro di base è finito e tutte le funzioni principali del nuovo sito bene o male funzionano. A questo punto diventa più facile esplorare delle soluzioni alternative e, si spera, più performanti di Jekyll. In cima alla mia lista ci sono Bridgetown, che è un &lt;em&gt;fork&lt;/em&gt; di Jekyll che vale la pena approfondire, e Middleman, che mi incuriosisce parecchio anche se non so bene il perché!&lt;/p&gt;&#xA;&lt;p&gt;Ci sarà da divertirsi.&lt;/p&gt;&#xA;</description>
    </item>
  </channel>
</rss>
