Hello world
3 May 2017Nel mio lavoro l’entropia abbonda. Spero che la pubblicazione di queste note – ripulite e possibilmente non prolisse – mi aiuti a riflettere e a fare ordine nei lavori che di volta in volta inizio / abbandono / riesumo.
Questo sito è un esperimento precario ed effimero, che vede la luce dopo quasi due anni di tentennamenti. È realizzato con Hugo, un generatore di siti statici, ed è esso stesso un pretesto una occasione per imparare qualcosa di nuovo.
A ben vedere son comunque tutti progetti che hanno vari anni alle spalle1.
Siti statici?
Semplifichiamo molto. Le pagine web che leggiamo e con cui interagiamo sono composte – se togliamo le immagini – da tre elementi:
- HTML: codice che descrive il contenuto della pagina (possibilmente definendone la struttura)
- CSS: i fogli di stile con cui definire la presentazione dei contenuti (colori, dimensioni, posizioni, spazi)
- JavaScript: il linguaggio con cui si rendono i contenuti dinamici, si gestiscono eventi etc
Soluzioni basate su Content Management Systems tradizionali come possono essere Wordpress, MediaWiki o Open Journal Systems – pur essendo molto diverse tra loro – si occupano di salvare i contenuti che create in un database e quando un lettore naviga sul vostro sito li compilano in HTML + CSS + Javascript per servirli all’utente.
Il processo ha molti vantaggi ma un grosso svantaggio: può essere antieconomico generare l’HTML di volta in volta, anche perché una applicazione complessa come un CMS richiede manutenzione, aggiornamenti etc. Un sito generato direttamente in HTML + CSS + JavaScript invece no, richiede molte meno risorse per essere servito ai lettori e – in questo caso la questione più interessante – non crea particolari problemi di preservazione poiché non richiede aggiornamenti di librerie, di un CMS e dei relativi plugin.
In un certo senso è un po’ come ritornare ai siti prodotti a mano con DreamWeaver o FrontPage, che magari funzionano nonostante siano stati abbandonati dal 2002 – e non dico un anno a caso!
Salvo che ora si può ottenere più complessità, qualità e rapidità nel lavoro.
Hugo
La scelta di utilizzare Hugo non è frutto di attente selezioni né ho avuto alcuna esperienza precedente con strumenti analoghi (uno certamente più famoso è Jekyll, ad esempio2), è semplicemente il primo su cui sono inciampato.
Il suo sviluppo procede spedito (pure troppo…) e oggi offre molte possibilità, ma a me interessa per tre motivi fondamentali:
- posso scrivere i miei testi in Markdown, un linguaggio estremamente semplice e versatile che – ne parlerò – sto cercando di usare sempre di più e in sempre più ambiti, anche sul lavoro (bonus: c’è anche YAML)3;
- posso creare da zero e personalizzare completamente il codice, la struttura e l’aspetto del sito. Questo punto è fondamentale perché mi permette di fare esperienza su un po’ tutto ciò che riguarda il codice delle pagine web, l’esposizione dei contenuti e dei metadati etc.
- è scritto in Go, un linguaggio di programmazione che non mi farebbe schifo imparare4 – anche saper programmare non mi farebbe schifo…
Il sito finora
Mi son limitato a usare Hugo con una struttura essenziale e un tema abbastanza semplice, volutamente ridotto all’osso: Hyde, che forse un giorno vorrò forkare per tracciare la mia strada. Le personalizzazioni in effetti son già parecchie, non solo nel foglio di stile e nella grafica, ma pure nei template delle pagine, con i primi esperimenti con {{ if }}
, {{ else if }}
ed {{ else }}
.
Spero ne seguiranno presto di nuove.
E se state leggendo questa pagina significa che son riuscito a fare il deployment tramite Git…5 come non detto, per ora mi accontento di rsync
comments powered by Disqus