Saltar al contenido
TecnologíaPor Masumi Mutsuda

Rápida, sencilla y fiable: Jekyll

Cuando decidimos que necesitábamos rehacer la web de itnig desde cero, conseguimos sintetizar nuestras necesidades en tres palabras. Rápida, sencilla y fiable. ¿Hay algo más rápido, sencillo y fiable que un html estático? Escribir una página html estática en el mundo dinámico en el que vivimos estaba fuera de cuestión, pero necesitábamos algo que nos permitiera hacerlo de forma sencilla. Ahí fue cuando encontramos Jekyll.

Cuando decidimos que necesitábamos rehacer la web de itnig desde cero, conseguimos sintetizar nuestras necesidades en tres palabras.

Rápida, sencilla y fiable.

¿Hay algo más rápido, sencillo y fiable que un html estático? Escribir una página html estática en el mundo dinámico en el que vivimos estaba fuera de cuestión, pero necesitábamos algo que nos permitiera hacerlo de forma sencilla. Ahí fue cuando encontramos Jekyll.

Jekyll te permite generar un sitio html estático a partir de componentes dinámicos como plantillas, partials, código liquid, markdown, etc.

Estructura de datos

Las clases de datos se estructuran en Collections, siendo cada colección una carpeta donde cada instancia se representa mediante un archivo. Cada uno de estos archivos empieza con lo que llaman Front Matter, una cabecera donde se definen todos los atributos de la instancia. Este Front Matter es lo que permite las relaciones entre clases, el filtrado, las consultas, etc.

Las clases que no necesitan una representación en página html se almacenan usando Data Files (un típico archivo CSV) en lugar de representarse mediante un archivo en una colección. En nuestro caso, los usamos para almacenar a las personas que trabajan en nuestras startups.

Sourcing de datos

Podríamos crear manualmente un archivo en la colección _jobs cada vez que tenemos una nueva oferta de trabajo, o un nuevo archivo en la colección _events cada vez que tenemos un nuevo evento, pero nos encanta optimizar nuestro tiempo, y ya actualizamos nuestras ofertas de trabajo en Workable y nuestros eventos en Meetup, así que ¿por qué no usar sus APIs? Pues eso es exactamente lo que hacemos. Ejecutamos periódicamente un script que recupera todos los trabajos de Workable creando un archivo para cada uno que luego se almacena en la colección _jobs. Hacemos lo mismo con los próximos eventos y también usamos la API de Google Drive para recuperar la última versión del archivo CSV de personas.

Diseño

Una vez definida la estructura y creados algunos datos, puedes empezar a trabajar en el diseño. Puedes definir algunas propiedades y atributos en cualquier archivo usando el Front Matter, y obtener y jugar con los datos previamente creados usando Liquid (un motor de plantillas creado por Shopify), para finalmente mostrarlo usando HTML.

Conclusiones

Después de trabajar en y mantener un sitio Jekyll durante un par de meses, puedo decir que cumple con nuestras expectativas, pero hay un par de inconvenientes que debes tener en cuenta antes de decidir adoptarlo.

El primero es precisamente lo que lo hace rápido y fiable, es decir, la falta de un backend. Antes de elegir Jekyll tendrás que preguntarte si tu proyecto es lo bastante sencillo como para evitar el registro de usuarios y un modelado complejo de clases y base de datos. Si es así, adelante.

El segundo es la falta de un “backoffice” para personas no técnicas. Cada vez que actualizamos manualmente el contenido de un archivo (añadiendo por ejemplo la url del vídeo de un evento una vez está online) hay que sincronizarlo con el repositorio usando git, y desplegarlo al servidor donde está alojado el sitio. Esto puede parecer simple y limpio desde la perspectiva del desarrollador, pero cuando el contenido tiene que ser actualizado por usuarios no técnicos, esto puede ser un problema. Tendrás que asegurarte de que la persona encargada del contenido conoce o está dispuesta a aprender git.

Artículos relacionados

Tecnología

Cómo mejorar la generación de leads con estas 6 estrategias de marketing para SaaS

Los negocios SaaS necesitan una generación de leads constante para alcanzar el éxito. Conseguirlo es mucho más fácil decirlo que hacerlo, así que las empresas siguen implementando nuevas ideas para generar más leads. La lista de estrategias de marketing usadas para la generación de leads sigue creciendo cada año, así que hay muchas cosas diferentes con las que puedes experimentar.

Leer más
Tecnología

¿Se acabó el server side rendering?

Hace un par de semanas, Google anunció una actualización muy esperada sobre googlebot. Ahora funciona con la versión 74 del motor chrome, la misma que estamos usando actualmente en nuestros Chromes. Además, anunció que a partir de ahora seguirá haciendo actualizaciones regulares para asegurar el soporte continuado de las nuevas tecnologías web.

Leer más
Tecnología

Scripting de hojas de cálculo para el viaje de esquí

Llevamos organizando los viajes de esquí de Itnig desde el principio. Recuerdo que al principio cabíamos en un coche, luego en una furgoneta, más adelante tuvimos que alquilar un par de coches para poder ir, pronto tuvimos que compartir un autobús con otra gente y ahora necesitamos un autobús entero para nosotros.

Leer más