Què és Jekyll?
Jekyll és un generador de llocs web estàtics. Això vol dir que es poden «crear» llocs web complets (no dinàmics) a partir de text, que en el cas de Jekyll s'escriu en MarkDown(.md), un llenguatge de marcatge que també és molt habitual a GitHub, per exemple, atès que els fitxers README d'aquesta plataforma s'escriuen en aquest llenguatge.
Jekyll està escrit principalment en Ruby, i a més dels seus avantatges per crear pàgines web estàtiques fàcilment a partir de text pla, és de codi obert.
Fer servir un generador de llocs web estàtics té certs avantatges, com ara l'execució ràpida o la gran mantenibilitat que proporciona, cosa que ens permet centrar-nos més en la redacció del text. Per contra, també té alguns inconvenients, com ara que no podem fer servir un llenguatge de servidor als webs que creem, com PHP o NodeJS; ja que els llocs web estàtics s'executen a l'ordinador de l'usuari que accedeix a la pàgina, de manera que els llenguatges amb què complementem el text han de ser JavaScript, HTML i/o CSS.
Instal·lació
Per executar Jekyll en un servidor web, cal instal·lar-lo a la màquina que fem servir per al desenvolupament (l'ordinador on crees els fitxers i escrius el codi) i al servidor des del qual hi accediran els usuaris d'Internet.
Ordinador personal
A GNU/Linux, MacOS o qualsevol altre sistema basat en Unix es procedeix de la manera següent:
-
Instal·lar git i ruby a partir del gestor de fitxers de la distribució en qüestió (aquí se suposarà un ordinador amb Debian GNU/Linux):
# apt-get install ruby git rubygems -
A continuació instal·lem Jekyll mitjançant l'instal·lador de Ruby:
# gem install jekyll -
Finalment ens queda inicialitzar un nou projecte Jekyll al directori que vulguem:
$ jekyll new myblog -
Creem un repositori git amb les ordres següents (a la carpeta on tenim el projecte Jekyll):
$ git init $ git add . $ git commit -m 'Initial commit'
Servidor
Ara toca configurar la part del servidor, ja que tenir-lo al nostre ordinador personal no permet que sigui accessible al públic, sinó que ens serveix només com a plataforma de desenvolupament i proves.
En l'àmbit del servidor, se suposa un VPS de Clouding.io amb una màquina basada en Debian i també s'assumeix que la carpeta pública dels fitxers HTML és /var/www:
-
Instal·lem Git i Ruby de nou, tot i que el primer en aquest cas amb el paquet git-core:
# apt-get install git-core ruby -
Canviem de carpeta i creem les carpetes següents:
$ cd ~/ $ mkdir repos && cd repos $ mkdir myblog.git && cd myblog.git -
Inicialitzem un repositori git amb l'argument –bare:
$ git init --bare -
Ara necessitem crear un script perquè Git s'executi quan s'enviï algun fitxer al repositori:
$ cd hooks $ touch post-receive $ nano post-receive -
Afegim el codi següent a l'script:
#!/bin/bash -l GIT_REPO=$HOME/repos/myblog.git TMP_GIT_CLONE=$HOME/tmp/git/myblog PUBLIC_WWW=/var/www/myblog git clone $GIT_REPO $TMP_GIT_CLONE jekyll build --source $TMP_GIT_CLONE --destination $PUBLIC_WWW rm -Rf $TMP_GIT_CLONE exit– GIT_REPO és el directori on anteriorment hem inicialitzat git.
– PUBLIC_WWW és el directori on apareixerà la pàgina web. En aquest cas (i sempre suposant que el directori arrel web és /var/www), la pàgina es mostraria a l'adreça http://ejemplo.es/myblog -
Sortim de nano amb Ctrl+X i desem el document. A continuació donem permisos d'execució a l'script que acabem de crear:
$ chmod +x post-receive -
Tornant al nostre ordinador personal, al repositori Git executem l'ordre següent per afegir un repositori remot:
$ git remote add droplet user@ejemplo.es:repos/myblog.git -
Finalment ja només queda enviar els canvis al repositori remot (des del nostre ordinador personal):
git push droplet master
Documentació
Tota la documentació es pot consultar a la seva pàgina web.
Conclusió
Si t'estàs plantejant crear un blog o una pàgina personal, és una bona idea que exploris l'opció de fer servir un generador de llocs web estàtics com Jekyll, ja que et permetrà centrar-te en el contingut i podràs modificar-la amb facilitat en el futur.
El redactor d'aquest apunt és David Población Criado, estudiant d'Enginyeria Informàtica i Estadística a la Universitat de Valladolid.
La meva pàgina personal és un exemple de web creat amb Jekyll. A més, hi ha milers de temes d'exemple que pots fer servir a les teves pàgines i que pots explorar en aquest web.
David Población Criado, estudiant d'Enginyeria Informàtica i Estadística a la Universitat de Valladolid.