Come da titolo oggi ci focalizzeremo su due dei più gettonati static Website generator in circolazione, ovvero Hugo e Jekyll. Anche se le piattaforme di blogging a disposizione sono ormai numerosissime, diversi professionisti preferiscono realizzare dei siti Web statici per alcuni progetti, sfruttando questo tipo di soluzioni open source.
Uno dei vantaggi di questa tale è l'estremo controllo che l'utente avrà sul proprio sito Internet. Sia Hugo che Jekyll hanno un processo di installazione molto semplice, per scegliere quale dei due utilizzare bisogna invece analizzare determinati aspetti, ovvero quanto è veloce il processo di configurazione, la disponibilità dei temi, le funzionalità per l'editing e l'estensibilità.
Per quanto riguarda il primo punto Hugo ha un piccolo vantaggio, dispone infatti di un binario pronto per avviare la configurazione, mentre Jekyll richiede anche un ambiente Ruby e si installa tramite RubyGem. Tuttavia entrambi dispongono di un ampia documentazione e di una vasta community, dunque in caso di problemi o dubbi non sarà complicato trovare una soluzione.
Dopo la prima fase di configurazione Jekyll recupera terreno, out-of-the-box ha dei contenuti d'esempio all'interno delle pagine ed un tema di default, al contrario Hugo parte da zero. Anche se questi elementi sono in genere i primi ad essere rimossi in fase di creazione, potrebbero comunque rivelarsi utili per eseguire test preliminari.
Il processo di installazione del tema risulta essere semplice per entrambi ma Jekyll necessità di qualche step in più. Infatti dopo aver clonato i temi sul nostro repository sarà necessario usare RubyGem per assicurare che vengano gestiti insieme al sito. Tuttavia molti dei temi arrivano con Gemfile già pronti dunque non sarà necessario spendere molto tempo per il settaggio. Al contrario Hugo non ha step intermedi, basta puntare il tema direttamente al file config.toml e sarete pronti.
Passiamo all'editing vero e proprio. Entrambi hanno dei demoni configurati per controllare e sincronizzare i cambiamenti a livello di codice con la versione visualizzata online. Dunque una volta eseguite le modifiche saranno visibili da subito. Inoltre è possibile usare su tutti e due la sintassi Markdown con cui realizzare testi e altri contenuti.
Per quanto riguarda i file di configurazione Jekyll usa la sintassi YAML, mentre Hugo supporta TOML, YAML e JSON, quindi se non avete dimestichezza con YAML forse Hugo sarà più appetibile. Jekyll si presta ad una gestione più ordinata dei contenuti dividendo le bozze e i post veri e propri in due directory separate. Hugo ha invece un'unica grande directory e bisognerà specificare manualmente quali sono le bozze e quali i post completi. Hugo però dispone di alcune funzioni che assicurano che i nuovi file siano configurati in modo ottimale per la struttura del sito
Ultima ma non meno importante è l'estensibilità dei due progetti. Sia Hugo che Jekyll hanno la possibilità di essere personalizzati fin nei minimi dettagli. Tuttavia Jekyll dispone di una marcia in più grazie al suo sistema di plugin API che permettono personalizzazioni in tempi rapidi. Attualmente Hugo non dispone di un sistema di API simile, dunque qualsiasi funzione aggiuntiva dovrà essere sviluppata manualmente.
In conclusione, i due progetti sono abbastanza simili ed entrambi hanno dei punti di forza. Quindi la scelta tra i due dipende dalle esigenze dell'utente e dalle sue conoscenze e competenze. Se avete già esperienza con le Ruygem allora utilizzare Jekyll sarà come "giocare in casa", se invece preferite un workflow più semplice Hugo fa allora al caso vostro.