The Kernel in Yellow 10 X 10
Last updated: 2020-03-09
The Kernel in Yellow:~ Desktop$ node Una nuova casa (di nuovo).js

> Post.all
Una nuova casa (di nuovo)

A fine 2019, dopo aver litigato col vecchio blog, avevo deciso di spostare tutto su Hexo. L’idea iniziale era di hostare tutto su Gitlab Pages, ma c’era qualcosa nell’estetica che non mi convinceva molto…

Ha un suo stile, va detto

Il problema sembra essere legato al tema. Per qualche motivo, su Gitlab non riesce a linkare correttamente i CSS, quindi c’è quell’obbrobrio non formattato. Alla fine, avevo ripiegato su Heroku, con cui mi sono trovato piuttosto bene.

Però siete curiosi come delle scimmie e continuate a tornare a leggere questo blog, non importa quanto mi impegni a scrivere male i post e il tier gratis di Heroku era a tappo. A tappissimo anzi, ieri, all’8 del mese, avevo già superato il 90% dell’uso disponibile. Purtroppo il deploy di Hexo su Heroku è una porcheria che non sfrutta fino in fondo il fatto che il sito è statico, quindi consuma più risorse del necessario. Quindi, ho deciso di guardarmi attorno.

L’opzione più ovvia era Gitlab Pages, nonostante i problemi di estetica di cui sopra. Purtroppo, dopo averci perso una domenica pomeriggio, ho gettato la spugna: o cambio tema o cambio host. Ero tentato di cambiare tema, perché ho già delle lamentele su questo, ma avrei dovuto (di nuovo) farmi passare una lista di temi principalmente in cinese, cercare di capire come configurarne un altro e pregare che non ci fossero problemi di sorta con Gitlab. No grazie.

Netlify

Così ho deciso di appoggiarmi a Netlify che ha un free tier con limiti di traffico (100 GB/mese), che dovrei riuscire a contenere tranquillamente con l’aiuto di Cloudflare, che mi tiene la cache delle immagini e dei post. Non sono ancora del tutto soddisfatto della cache, che secondo me tiene dentro poca roba (o scade troppo in fretta), ma stiamo sotto al GB al mese di traffico in generale quindi ho tutto il tempo del mondo per affinarla.

L’altra cosa figa di Netlify è che gestisce lui la pipeline di deploy, quindi mi basta mandare su i nuovi post, ed è Netlify a generare l’HTML statico una sola volta per poi servirlo. Questo mi permette di spingere fino in fondo con la mia pipeline di lavoro.

Pipeline

La scrittura di nuovi post funziona così:

  1. Creo un nuovo branch su git, dedicato al post (o alla serie di post)
  2. Lavoro sul post e uso hexo serve per vedere in locale come sta venendo
  3. Quando sono soddisfatto mergio il branch su master e lo pusho su

Prima dovevo gestirmi a mano il deploy con hexo deploy, che mi teneva appesa la console fino a lavoro finito. Netlify mette anche a disposizione la possibilità di avere delle preview di altri branch, ma non me ne faccio molto, perché tanto mi basta vederli da locale.