Introducción a Jekyll

¿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:

  1. 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
  2. A continuación instalamos Jekyll a través del instalador de Ruby:
    # gem install jekyll
  3. Por último nos queda inicializar un nuevo proyecto Jekyll en el directorio que deseemos:
    $ jekyll new myblog
  4. 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:

  1. Instalamos Git y Ruby de nuevo, aunque el primero en este caso con el paquete git-core:
    # apt-get install git-core ruby
  2. Cambiamos de carpeta y creamos las siguientes carpetas:
    $ cd ~/
    $ mkdir repos && cd repos
    $ mkdir myblog.git && cd myblog.git
  3. Inicializamos un repositorio git con el argumento –bare:
    $ git init --bare
  4. 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
  5. Añadimos el siguiente código al 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 es el directorio donde anteriormente hemos inicializado git.
    – 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
  6. 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
  7. 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
  8. 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.

To write a comment on this article, fill out the form below. Fields marked with an asterisk (*) are required.