¿Qué es Jekyll?
Jekyll es un generador de sitios web estáticos. Lo que quiere decir que se pueden “crear” sitios web completos (no dinámicos) a partir de texto, que en el caso de Jekyll se escribe en MarkDown(.md), lenguaje de marcado que también es muy común en GitHub, por ejemplo, dado que los ficheros README de esta plataforma se escriben en este lenguaje.
Jekyll está escrito principalmente en Ruby, y además de sus ventajas para crear páginas web estáticas fácilmente a partir de texto plano, es de código abierto.
Usar un generador de sitios web estáticos tiene unas ciertas ventajas, como la rápida ejecución o la gran mantenibilidad que proporciona, pudiéndonos centrarnos más en la redacción del texto. Por el contrario, también tiene algunos inconvenientes, como que no podemos usar un lenguaje de servidor en las webs que creemos, como PHP o NodeJS; ya que los sitios web estáticos se ejecutan en el ordenador del usuario que accede a la página, por lo que los lenguajes con los que complementemos al texto deben ser JavaScript, HTML y/o CSS.
Instalación
Para correr Jekyll en un servidor web, es necesario instalarlo en la máquina que usemos para el desarrollo (el ordenador donde creas tus archivos y escribes tu código) y en el servidor desde donde va a ser accedido para los usuarios de Internet.
Ordenador personal
En GNU/Linux, MacOS o cualquier otro sistema basado en Unix se procede de la siguiente forma:
- Instalar git y ruby a partir del gestor de archivos de la distribución en cuestión (aquí se supondrá un ordenador con Debian GNU/Linux):
# apt-get install ruby git rubygems
- A continuación instalamos Jekyll a través del instalador de Ruby:
# gem install Jekyll
- Por último nos queda inicializar un nuevo proyecto Jekyll en el directorio que deseemos:
$ jekyll new myblog
- Creamos un repositorio git con los siguientes comandos (en la carpeta donde tenemos el proyecto Jekyll):
$ git init
$ git add.
$ git commit -m 'Initial commit'
Servidor
Ahora toca configurar la parte del servidor, ya que tenerlo en nuestro ordenador personal no permite que sea accesible al público, nos sirve solo como plataforma de desarrollo y pruebas.
En el ámbito del servidor, se entiende un VPS de Clouding.io con una máquina basada en Debian y también se asume que la carpeta pública de los HTML’s es /var/www:
- Instalamos Git y Ruby de nuevo, aunque el primero en este caso con el paquete git-core:
# apt-get install git-core ruby
- Cambiamos de carpeta y creamos las siguientes carpetas:
$ cd ~/
$ mkdir repos && cd repos
$ mkdir myblog.git && cd myblog.git - Inicializamos un repositorio git con el argumento –bare:
$ git init --bare
- Ahora necesitamos crear un script para que Git se ejecute cuando algún archivo es enviado al repositorio:
$ cd hooks
$ touch post-receive
$ nano post-receive - Añadimos el siguiente código al script:
#!/bin/bash -l
– GIT_REPO es el directorio donde anteriormente hemos inicializado git.
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
– PUBLIC_WWW es el directorio donde va a aparecer la página web. En este caso (y siempre suponiendo que el directorio raíz web es /var/www), la página se mostraría en la dirección http://ejemplo.es/myblog - Salimos de nano con Ctrl+X y guardamos el documento. A continuación damos permisos de ejecución al script que acabamos de crear:
$ chmod +x post-receive
- Volviendo a nuestro ordenador personal, en el repositorio Git ejecutamos la siguiente orden para añadir un repositorio remoto:
$ git remote add droplet user@ejemplo.es:repos/myblog.git
- Por último ya solo queda enviar los cambios al repositorio remoto (desde nuestro ordenador personal):
git push droplet master
Documentación
Toda la documentación se puede consultar en su página web.
Conclusión
Si te estás planteando crear un blog o una página personal, es una buena idea que explores la opción de usar un generador de sitios web estáticos como Jekyll, ya que te permitirá centrarte en el contenido y podrás modificarla con facilidad en el futuro.
El redactor de este post es David Población Criado, estudiante de Ingeniería Informática y Estadística en la Universidad de Valladolid.
Mi página personal es un ejemplo de web creada con Jekyll. Además hay miles de temas de ejemplo que puedes usar en tus páginas que puedes explorar en esta web.
David Población Criado, estudiante de Ingeniería Informática y Estadística en la Universidad de Valladolid.