Para muchos, WordPress es la primera idea que les viene a la cabeza cuando planean crear un nuevo blog o una página co­r­po­ra­ti­va sencilla. Sin embargo, se dan si­tua­cio­nes en que WordPress, con sus múltiples funciones, excede las propias ne­ce­si­da­des de los de­sa­rro­lla­do­res. Esta es la pro­ble­má­ti­ca que algunas al­te­r­na­ti­vas más ligeras, como el programa Jekyll, han querido resolver. Reducido a los co­m­po­ne­n­tes ese­n­cia­les, este generador de páginas web permite ad­mi­ni­s­trar páginas web sin necesidad de una base de datos o un software especial. Además, dado que forma parte de Jamstack, el static site generator también se puede utilizar en co­m­bi­na­ción con mi­cro­se­r­vi­cios para im­ple­me­n­tar páginas web dinámicas de alto re­n­di­mie­n­to.

¿Qué es Jekyll?

Tom Preston-Werner, uno de los cuatro fu­n­da­do­res de la pla­ta­fo­r­ma GitHub, publicó en noviembre de 2008 el generador de páginas web Jekyll bajo una licencia de código abierto MIT. Escrito en Ruby, el programa recurre para su fu­n­cio­na­mie­n­to a un di­re­c­to­rio de pla­n­ti­llas que contiene un conjunto de archivos de texto es­tru­c­tu­ra­dos y estáticos en diversos formatos, los llamados markdowns, que son los que de­te­r­mi­nan tanto el diseño como el contenido del proyecto y pueden, por ello, pe­r­so­na­li­zar­se. Sin embargo, el programa no ofrece un editor WYSIWYG, sino que requiere trabajar con líneas de código. Para ello, se re­co­mie­n­da el editor de co­n­te­ni­dos Prose, ya que si­m­pli­fi­ca la edición en lenguaje markdown y está op­ti­mi­za­do para Jekyll.

Antes de in­co­r­po­rar los cambios rea­li­za­dos en el código a la versión en línea de la apli­ca­ción web, pueden co­m­pro­bar­se con ayuda del propio servidor de de­sa­rro­llo de Jekyll. La co­n­ve­r­sión de los archivos de texto en una página web estática que pueda servirse con cua­l­quie­ra de los se­r­vi­do­res web ha­bi­tua­les es tarea del motor de re­n­de­ri­za­do Liquid, que genera en un segundo plano el código HTML cada vez que los archivos se modifican.

Así puedes crear una página web con Jekyll de forma rápida y sencilla:

Sin embargo, también se puede utilizar para diseñar gráficos más ela­bo­ra­dos:

Ventajas y de­s­ve­n­ta­jas de Jekyll

U

Utilizar Jekyll para blogs o cualquier otro tipo de webs estáticas re­pre­se­n­ta una opción al­te­r­na­ti­va a los CMS o site ge­ne­ra­to­rs más conocidos que bien cabe co­n­si­de­rar. Una de sus mayores ventajas es la si­m­pli­ci­dad que ca­ra­c­te­ri­za tanto al trabajo en sí con el programa como al proyecto final. Como funciona sin base de datos no hay que ocuparse de su in­s­ta­la­ción y co­n­fi­gu­ra­ción. Asimismo, no es necesario acceder a la base de datos, lo que sí se requiere para el buen fu­n­cio­na­mie­n­to de las páginas dinámicas, con lo que la página se carga más rá­pi­da­me­n­te. La sencillez del código que ca­ra­c­te­ri­za a los Jekyll themes, reducido a las funciones y ca­ra­c­te­rí­s­ti­cas más im­po­r­ta­n­tes, también co­n­tri­bu­ye a su buen re­n­di­mie­n­to y hace que los proyectos sean muy fáciles de de­sa­rro­llar y mantener. Además, en co­m­pa­ra­ción con los CMS clásicos, Jekyll genera marcas ex­tra­di­ta­bles di­re­c­ta­me­n­te después de un cambio y no solo cuando un usuario accede a la página.

Jekyll también convence en cue­s­tio­nes de es­ta­bi­li­dad y seguridad, pues como el servidor web solo entrega archivos de texto, la pro­ba­bi­li­dad de error en estas páginas es mucho más reducida que en páginas que funcionan por la co­m­bi­na­ción de varios co­m­po­ne­n­tes di­fe­re­n­tes. El código no necesita ac­tua­li­zar­se re­gu­la­r­me­n­te y esta solidez es la que garantiza la elevada di­s­po­ni­bi­li­dad de la página a largo plazo. Jekyll tampoco presenta las vu­l­ne­ra­bi­li­da­des derivadas de las bases de datos y de los scripts con elementos dinámicos (PHP, Ja­va­S­cri­pt) porque no los necesita, superando así en seguridad a otras opciones.

Por otro lado, mientras que su si­m­pli­fi­ca­da pro­gra­ma­ción no supone un gran obstáculo para los pro­fe­sio­na­les, es probable que los menos ha­bi­tua­dos a trabajar con código se vean ante algunas di­fi­cu­l­ta­des. La versión estándar de Jekyll no cuenta con interfaz gráfica, lo que significa que su in­s­ta­la­ción y co­n­fi­gu­ra­ción se lleva a cabo en la consola de comandos. También en lo que respecta a la di­ve­r­si­dad de temas se encuentra Jekyll en de­s­ve­n­ta­ja frente a otros CMS o he­rra­mie­n­tas de de­sa­rro­llo web, para las cuales suelen existir cientos o incluso miles de pla­n­ti­llas de diseño. Lo mismo puede decirse de la asi­s­te­n­cia, más bien simbólica dado el reducido tamaño de su comunidad y su escasa po­pu­la­ri­dad.

La tabla que sigue presenta las pri­n­ci­pa­les ventajas y de­s­ve­n­ta­jas de Jekyll:

Ventajas De­s­ve­n­ta­jas
✓ La web final se carga rápido ✗ Sin interfaz gráfica de usuario por defecto
✓ No es necesario instalar y mantener una base de datos y un CMS ✗ Tarda mucho en compilar los archivos
✓ Casi no tiene vu­l­ne­ra­bi­li­da­des ✗ Reducido número de temas y plugins di­s­po­ni­bles
✓ No necesita ac­tua­li­zar­se re­gu­la­r­me­n­te ✗ Comunidad pequeña
✓ Gran margen de maniobra en la pro­gra­ma­ción (puede elegirse li­bre­me­n­te la GUI y el editor) ✗ No incluye ningún programa de edición de imagen
✓ No depende de ciertos formatos o he­rra­mie­n­tas extra ✗ No soporta los scripts del lado del servidor (p.ej., para fo­r­mu­la­rios)
✓ Alo­ja­mie­n­to propio o en los se­r­vi­do­res de GitHub (gratis)
✓ Cuenta con un servidor de de­sa­rro­llo propio
✓ Control de versiones con Git

Jekyll y GitHub: la simbiosis perfecta

En el ámbito del de­sa­rro­llo web, GitHub ha logrado hacerse con una sólida posición, porque si­m­pli­fi­ca co­n­si­de­ra­ble­me­n­te la gestión de proyectos y la pu­bli­ca­ción de códigos, sobre todo cuando están im­pli­ca­dos di­fe­re­n­tes pro­gra­ma­do­res. GitHub lo utiliza para poder gestionar códigos Git libres en sus se­r­vi­do­res que están al­ma­ce­na­dos en di­re­c­to­rios in­de­pe­n­die­n­tes.

En la pla­ta­fo­r­ma, cuando un de­sa­rro­lla­dor quiere trabajar en un proyecto alojado en ella, crea un fork (bi­fu­r­ca­ción) del mismo. Al finalizar, el autor del fork envía una petición (pull request) al pro­pie­ta­rio del original para que decida si los cambios rea­li­za­dos en el fork se añaden al código original o no.

El trabajo con Jekyll y Github funciona bien: los do­cu­me­n­tos del generador de páginas web estáticas se pueden deslizar fá­ci­l­me­n­te a un re­po­si­to­rio. Esto si­m­pli­fi­ca la co­la­bo­ra­ción con otros pro­gra­ma­do­res y también permite utilizar el práctico sistema de versión de la pla­ta­fo­r­ma. Si quieres desplegar una página web Jekyll di­re­c­ta­me­n­te desde GitHub, con IONOS Deploy Now puedes alojar tu apli­ca­ción de una sola página o tu generador de páginas web estático de forma gratuita. Además, incluye SSL, staging y pro­te­c­ción DDoS.

Crear páginas web para clientes con Jamstack: rápido, sencillo y eficaz

En este libro blanco, descubre qué problemas traen consigo los CMS co­n­ve­n­cio­na­les. Además, en él se explica por qué las páginas estáticas se co­n­vie­r­ten en una al­te­r­na­ti­va con la ayuda de Jamstack y también cómo se pueden utilizar para ga­ra­n­ti­zar flujos más ágiles de trabajo, al igual que para obtener mejores re­su­l­ta­dos para los clientes.

Consejo

Con Deploy Now puedes alojar un static site generator como, por ejemplo, Gatsby, Hugo o Jekyll desde GitHub en la in­frae­s­tru­c­tu­ra geo­rre­du­n­da­n­te y protegida contra DDoS de IONOS. Cada vez que efectúas un cambio en el static site generator, Deploy Now actualiza au­to­má­ti­ca­me­n­te el contenido estático de su espacio web. Además, Deploy Now permite el apro­vi­sio­na­mie­n­to au­to­má­ti­co de SSL y el uso de entornos de prueba.

¿Qué di­fe­re­n­cia a Jekyll de otros ge­ne­ra­do­res?

Con el generador se pueden crear páginas web que funcionan sin base de datos. Ló­gi­ca­me­n­te, a di­fe­re­n­cia de un CMS, no permite integrar elementos dinámicos, de ahí que con Jekyll solo puedan crearse páginas estáticas.

Hay también algunos CMS sin base de datos que también están co­n­ce­bi­dos ex­clu­si­va­me­n­te para proyectos del lado del cliente, pero son mucho más complejos que Jekyll.

Si lo co­m­pa­ra­mos con otros ge­ne­ra­do­res de páginas estáticas como Hugo o Middleman, Jekyll les supera sobre todo por las ventajas re­su­l­ta­n­tes de su vínculo con GitHub, como son el control de versiones con Git o el servicio de alo­ja­mie­n­to gratuito.

Jekyll: tutorial para crear una web con Deploy Now

Si quieres crear fá­ci­l­me­n­te tu propia página web, utiliza Deploy Now, Jekyll y Github. Con Github puedes gestionar todos los archivos y con Deploy Now los puedes publicar di­re­c­ta­me­n­te: cualquier cambio en el código fuente se puede tra­n­s­fe­rir rá­pi­da­me­n­te a la versión en vivo.

En el siguiente tutorial paso a paso, te mostramos cómo utilizar Jekyll en GitHub Pages.

Paso 1. Crea una cuenta en GitHub

En primer lugar, es necesario tener una cuenta de usuario en GitHub. Para ello, abre la página web de GitHub e introduce una dirección ele­c­tró­ni­ca válida, un nombre de usuario y una co­n­tra­se­ña.

A co­n­ti­nua­ción, se­le­c­cio­na el plan, bien la variante gratuita, con un número ilimitado de ficheros públicos, o la de pago, con un número ilimitado de di­re­c­to­rios privados (la gratuita es su­fi­cie­n­te para nuestros fines). Op­cio­na­l­me­n­te puedes indicar tus co­no­ci­mie­n­tos en pro­gra­ma­ción o tus intereses. Cuando recibas el correo de co­n­fi­r­ma­ción de GitHub pulsa el enlace para activar tu cuenta.

Paso 2. Crea un re­po­si­to­rio & se­le­c­cio­na un Jekyll theme

Ahora que tienes una cuenta puedes entrar en GitHub. En el panel de usuario aparece la vista general de la lista de di­re­c­to­rios, si bien al comienzo no contiene ninguna in­fo­r­ma­ción. Lo primero que vamos a hacer es crear un nuevo re­po­si­to­rio.

Clica en el signo ari­t­mé­ti­co de + en la barra de la parte superior y se­le­c­cio­na “New Re­po­si­to­ry” (Nuevo re­po­si­to­rio).

Este fichero es un di­re­c­to­rio de proyecto normal y corriente. Para tra­n­s­fo­r­mar­lo en tu re­po­si­to­rio web, tienes varias opciones a tu di­s­po­si­ción:

  • Empieza desde cero y construye una página web con Jekyll sin utilizar una plantilla. Para ello, puedes encontrar la in­fo­r­ma­ción al respecto en la do­cu­me­n­ta­ción oficial.
  • Si utilizas un Jekyll theme, te fa­ci­li­ta­rás los primeros pasos.
  • Otra al­te­r­na­ti­va es el Jekyll sample de Deploy Now, que también facilita la creación de una página web con el generador de páginas estáticas.

Paso 3. Conecta cuenta GitHub con Deploy Now

Si todavía no tienes una cuenta de Deploy Now, puedes crear una gratis. Después del registro de cuenta, crea un nuevo proyecto y establece una conexión a tu re­po­si­to­rio de GitHub. A co­n­ti­nua­ción, se­le­c­cio­na Jekyll en los ajustes de co­n­fi­gu­ra­ción. Este proceso no tarda mucho tiempo y, por tanto, puedes empezar a crear el contenido de tu página web.

Paso 4. Publica tu primera página

Al escoger el tema se crean au­to­má­ti­ca­me­n­te el archivo de co­n­fi­gu­ra­ción (config.yml) y la página de inicio (index.md), que co­n­s­ti­tu­ye la vista previa del tema se­le­c­cio­na­do, de ahí que ya tenga el formato markdown. Tanto esta página como el archivo de co­n­fi­gu­ra­ción se editan pulsando en el símbolo del lápiz de cada archivo.

Para incluir tu propio texto debes borrar primero el código existente. Hecho esto, puedes incluir un saludo personal para tu página web, por ejemplo:

## ¡Bienvenido a mi página web!

Confirma el mensaje que has escrito clicando en “Commit changes” (confirma los cambios). Ahora puedes abrir tu página de inicio siempre que quieras uti­li­za­n­do el nombre del re­po­si­to­rio que se­le­c­cio­na­s­te en el segundo paso y que co­n­s­ti­tu­ye también el URL de tu página web.

Nota

Si te interesa poner a prueba la he­rra­mie­n­ta, puedes dejar el código markdown en su estado normal, pero tu página de inicio será idéntica a la página de muestra del tema.

Paso 5. Escribe tu contenido

Si hasta ahora todo ha fu­n­cio­na­do co­rre­c­ta­me­n­te, ya puedes comenzar a diseñar tu proyecto. En la tecla “Create new file” (crea nuevo archivo) puedes crear todos los archivos que necesitas, como las hojas de CSS o los códigos de Ja­va­S­cri­pt. De esta forma es también como se crean las su­b­pá­gi­nas del proyecto. En “Upload files” también es posible cargar los archivos desde tu equipo, bien se­le­c­cio­na­n­do el lugar donde están guardados o arra­s­trá­n­do­los desde la carpeta en que se en­cue­n­tren.

Nota

Todos los cambios en los do­cu­me­n­tos estarán au­to­má­ti­ca­me­n­te en tu página web, dada la conexión que has es­ta­ble­ci­do entre tu re­po­si­to­rio y Deploy Now.

Paso 6. Descarga un cliente de es­cri­to­rio o una he­rra­mie­n­ta de terminal

Cliente de es­cri­to­rio

Si bien es pe­r­fe­c­ta­me­n­te posible ad­mi­ni­s­trar una página Jekyll en la interfaz web de GitHub, con el cliente de es­cri­to­rio para Windows y macOS que hemos me­n­cio­na­do an­te­rio­r­me­n­te dispones también de una solución offline. Para in­s­ta­lar­lo, pulsa en el botón del re­po­si­to­rio “Set up in Desktop” (inicia en es­cri­to­rio), que te lleva a la página de descarga.

He­rra­mie­n­ta de terminal

Muchos pro­gra­ma­do­res prefieren evitar el desvío a través del cliente de es­cri­to­rio. La he­rra­mie­n­ta de terminal de GitHub, que permite ejecutar comandos de GitHub en la línea de comandos, es la solución. Todas las funciones de GitHub se pueden im­ple­me­n­tar di­re­c­ta­me­n­te en el terminal mediante la he­rra­mie­n­ta y los comandos sencillos.

Paso 7. ¿Cómo clonar un re­po­si­to­rio?

Después de descargar e instalar el programa cliente puedes uti­li­zar­lo para crear una copia local de la página, por ejemplo. Para ello, se­le­c­cio­na el punto “Clone a re­po­si­to­ry” (clona un re­po­si­to­rio) en el menú de inicio, donde indicas qué re­po­si­to­rio se debe clonar. En “Local path” (ruta local) defines en qué carpeta de tu equipo se va a guardar.

A través del re­po­si­to­rio puedes acceder a di­fe­re­n­tes ramas in­di­vi­dua­les del proyecto web, que permiten a los pro­gra­ma­do­res trabajar en el código de forma si­mu­l­tá­nea o por separado en áreas de de­sa­rro­llo que ya están de­te­r­mi­na­das. IONOS Deploy Now organiza las ramas in­di­vi­dua­les del re­po­si­to­rio clonado en un esquema y, en cuanto se crea una nueva rama, la despliega de forma au­to­má­ti­ca. De esta manera, puedes controlar no solo tu proyecto en línea, sino también el progreso de las distintas ramas de de­sa­rro­llo.

Ir al menú principal