Come pubblicare il proprio sito jekyll su Github Pages gratis
In un post recente ho introdotto Jekyll e i suoi vantaggi rispetto a Wordpress. Brevemente, Jekyll è più sicuro, veloce e consente di poter ospitare gratuitamente il tuo sito su github pages. Oggi vedremo i passi da compiere per poter ospitare il tuo sito su github pages.
Prima di tutto, consiglio di installare Bundler per gestire le dipendenze delle Ruby Gems. Per installare Bundler, devi assicurarti di aver già installato Ruby. Per far ciò, apri un terminale, e digita il seguente comando per verificare di aver effettivamente installato Ruby.
1$ ruby --versionSe ruby non è installato, o se la versione è più bassa della 2.0, installalo. Poi installa Bundler:
1$ gem install bundlerOvviamente dovrai poi aver installato git. Inizializza la tua repository git:
1$ git init il-nome-del-mio-sito-jekyll1$ cd il-nome-del-mio-sito-jekyllCrea un nuovo file chiamato Gemfile e copia incolla le seguenti righe:
1source 'https://rubygems.org'
2gem 'github-pages', group: :jekyll_pluginsInstalla jekyll:
1$ bundle installA questo punto, se hai un sistema Mac potresti incorrere in un errore. Infatti, una delle gem da installare è nokogiri, che richiede accesso a libxml2. Purtroppo nelle nuove versioni di mac, questa libreria è inacessibile. Per ovviare al problema, si può installare nokogiri con i seguenti comandi:
-
Nel caso di MacOs Sierra
1$ gem install nokogiri -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/libxml2/ -
Con El Capitan
1gem install nokogiri -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2/
A questo punto puoi riprovare ad eseguire ‘bundle install’.
Se non hai ancora creato il tuo sito jekyll, puoi creare un sito di prova con il seguente comando:
1$ bundle exec jekyll new . --force1"jekyll", "3.2.1"Rimuovi il simbolo # per togliere il commento alla seguente linea:
1gem "github-pages", group :jekyll_pluginsPuoi modificare il sito editando i vari file creati. Ad esempio, se vuoi modificare header e footer, basta modificare header.html e footer.html contenuti nella cartella _includes. Se invece vuoi scrivere un post, crea un nuovo file sotto alla cartella _posts.
Per visualizzare il tuo sito, prima di pubblicarlo, esegui il seguente comando:
1$ bundle exec jekyll servePe Se vuoi che jekyll aggiorni il sito ogni volta che compi delle modifiche (che devono essere ovviamente salvate), ti basterà aggiungere al comando precedente la parola watch
1$ bundle exec jekyll serve watch1$ bundle exec jekyll serve watch --config _config_dev.ymlUna volta che sei soddisfatto del tuo sito e vuoi pubblicarlo, inizia creando una repository su github chiamata username.github.io (dove per username si intende il tuo nome utente su github). Aggiungi questa repository come origin con il seguente comando:
1$ git remote add origin https://github.com/user/username.github.io.gitRisorse utili:
In un [post recente]({{site.url}}/2016/08/15/jekyll.html) ho introdotto Jekyll e i
suoi vantaggi rispetto a Wordpress. Brevemente, Jekyll è più sicuro, veloce e consente
di poter ospitare gratuitamente il tuo sito su [github pages](https://pages.github.com/). Oggi vedremo i passi da compiere per poter ospitare il tuo sito su github pages.
<!--more-->
Prima di tutto, consiglio di installare [Bundler](http://bundler.io/) per gestire le dipendenze
delle Ruby Gems. Per installare Bundler, devi assicurarti di aver già installato Ruby.
Per far ciò, apri un terminale, e digita il seguente comando per verificare di aver effettivamente installato Ruby.
{{< highlight bash >}}
$ ruby --version
{{< / highlight >}}
Se ruby non è installato, o se la versione è più bassa della 2.0, [installalo](https://www.ruby-lang.org/en/downloads/).
Poi installa Bundler:
{{< highlight bash >}}
$ gem install bundler
{{< / highlight >}}
Ovviamente dovrai poi aver installato [git](https://git-scm.com/downloads).
Inizializza la tua repository git:
{{< highlight bash >}}
$ git init il-nome-del-mio-sito-jekyll
{{< / highlight >}}
passa alla cartella appena creata
{{< highlight bash >}}
$ cd il-nome-del-mio-sito-jekyll
{{< / highlight >}}
Crea un nuovo file chiamato Gemfile e copia incolla le seguenti righe:
{{< highlight bash >}}
source 'https://rubygems.org'
gem 'github-pages', group: :jekyll_plugins
{{< / highlight >}}
Installa jekyll:
{{< highlight bash >}}
$ bundle install
{{< / highlight >}}
A questo punto, se hai un sistema Mac potresti incorrere in un errore. Infatti, una delle gem da installare è nokogiri, che richiede accesso a libxml2. Purtroppo nelle nuove versioni di mac, questa libreria è inacessibile. Per ovviare al problema, si può installare nokogiri con i seguenti comandi:
1. Nel caso di MacOs Sierra
{{< highlight bash >}}
$ gem install nokogiri -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/libxml2/
{{< / highlight >}}
2. Con El Capitan
{{< highlight bash >}}
gem install nokogiri -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2/
{{< / highlight >}}
A questo punto puoi riprovare ad eseguire 'bundle install'.
Se non hai ancora creato il tuo sito jekyll, puoi creare un sito di prova con il seguente
comando:
{{< highlight bash >}}
$ bundle exec jekyll new . --force
{{< / highlight >}}
Successivamente modifica il tuo Gemfile eliminando la seguente riga:
{{< highlight bash >}}
"jekyll", "3.2.1"
{{< / highlight >}}
Rimuovi il simbolo # per togliere il commento alla seguente linea:
{{< highlight bash >}}
gem "github-pages", group :jekyll_plugins
{{< / highlight >}}
Puoi modificare il sito editando i vari file creati. Ad esempio, se vuoi modificare header e footer, basta modificare header.html e footer.html contenuti nella cartella _includes.
Se invece vuoi scrivere un post, crea un nuovo file sotto alla cartella _posts.
Per visualizzare il tuo sito, prima di pubblicarlo, esegui il seguente comando:
{{< highlight bash >}}
$ bundle exec jekyll serve
{{< / highlight >}}
Pe
Se vuoi che jekyll aggiorni il sito ogni volta che compi delle modifiche (che devono essere ovviamente salvate), ti basterà
aggiungere al comando precedente la parola **watch**
{{< highlight bash >}}
$ bundle exec jekyll serve watch
{{< / highlight >}}
Se invece vuoi che il tuo sito venga costruito rispetto ad un file di configurazione specifico,
che chiamerai, come esempio, _config_dev.yml, dai il seguente comando:
{{< highlight bash >}}
$ bundle exec jekyll serve watch --config _config_dev.yml
{{< / highlight >}}
Una volta che sei soddisfatto del tuo sito e vuoi pubblicarlo, inizia creando una repository su [github](https://github.com) chiamata username.github.io (dove per username si intende il tuo nome utente su github). Aggiungi questa repository come origin con il seguente comando:
{{< highlight bash >}}
$ git remote add origin https://github.com/user/username.github.io.git
{{< / highlight >}}
Avendo cura di utilizzare il nome specifico della tua repository.
Ora basta aggiungere tutti i file alla *staging area* di git, fare un *commit* ed un *push* ed il tuo sito sarà visibile all'indirizzo https://username.github.io
### Risorse utili:
- [Sito ufficiale Jekyll](https://jekyllrb.com/)
- [Documentazione ufficiale](https://jekyllrb.com/docs/home/)
- [Configurare Jekyll localmente](https://help.github.com/articles/setting-up-your-github-pages-site-locally-with-jekyll/)
- [Installare jekyll su Windows](http://jekyll.tips/jekyll-casts/install-jekyll-on-windows/)
- [Installare jekyll su MacOs](http://jekyll.tips/jekyll-casts/install-jekyll-on-os-x/)
- [Installare jekyll su Linux](http://jekyll.tips/jekyll-casts/install-jekyll-on-linux/)