3.4. Herramientas: generadores de sitios web
El complemento de los lenguajes de marcado ligero son los generadores de documentación. Estas herramientas toman como material de trabajo los ficheros etiquetados en Markdown o en ReStructuredText (véase apartado 2.3), leen la configuración, aplican una hoja de estilos, y generan los documentos resultantes normalmente en HTML. En los últimos años han parecido un buen número de generadores de documentación, la mayoría bajo licencias de software libre, algunos de los cuales se han popularizado rápidamente. Esto ha permitido que los usuarios puedan dejar de lado los blogs soportados por Wordpress, por ejemplo, y optar por webs de páginas estáticas generadas de esta forma, lo que supone un ahorro considerable de espacio y de velocidad de respuesta, además de simplificación de gestión de datos, al no necesitar un sistema de gestión de bases de datos instalado en el espacio web del que disponen.
- Jekyll: es un generador que toma como material de trabajo fichero etiquetados en Markdown. Se utiliza bastante para generar estructuras de contenido similares a los blogs. Necesita instalar el lenguaje de programación Ruby en el ordenador del usuario. Se puede instalar en GNU/Linux, OS X y Windows.
- Hugo: otro popular generador, que partiendo de ficheros marcados con Markdown, es capaz de generar estructuras de páginas web estáticas. Está programado en Go. Ofrece instaladores para varios sistemas operativos.
- Sphinx: un generador específico para trabajar con ReStructuredText, ya que se usa para la documentación de aplicación en Python. Ofrece prestaciones avanzadas de organización de páginas e información. Requiere instalar Python y Docutils. También es capaz de generar documentos en PDF y en EPUB.
- MkDocs: es une generador rápido y sencillo de utlizar, que toma como material de partida ficheros en Markdown. La configuración se escribe en un fichero en YAML. Ofrece un buen número de estilos de presentación visual entre los que elegir. Incluye un servidor web local en el que visualizar, en tiempo real, los cambios que se vayan haciendo sobre los ficheros fuente. Requiere instalar Python en la máquina del usuario.
Es importante destacar que las JAMstack desarrollan todo su potencial cuando los documentos marcado están despositados en repositorios de código, ya que se mantiene un control de versiones, lo que significa que se automatiza el histórico de cambios, y es posible recuperar y cambiar a versiones anteriores en cualquier momento. Además, al estar separada la capa de presentación, en plantillas y hojas de estilo, los cambios de ésta, o del contenido que muestra, no afectan una a la otra, ni tampoco a las funcionalidades que se hayan integrado con JavaScript. Finalmente, hay que recordar que el código JavaScript se ejecuta en el navegador del usuario, lo que resulta más rápido, seguro y eficiente.
El flujo de trabajo ideal es simple:
- Los ficheros con el contenido etiquetado y el código se almacenan en un repositorio, con funcionalidades de edición y modificación de los mismos. Esto quiere decir que las fuentes se encontrarán en un repositorio Git, como GitHub o Gitlab.
- Cuando se produce un cambio en los ficheros, se lanza un proceso de construcción del sitio, que da como resultado un conjunto de páginas web etiquetadas en HTML, y que integran contenido, datos, capa de presentación... trabajo que desarrollan los generadores de sitios (como Jekyll, Hugo, etc.).
- El resultado se publica automáticamente en una CDN (Content Delivery Network), asegurando un rápido despliegue y la disponibilidad física de las páginas, eliminando los tiempos de espera típicos de un CMS sobre base de datos tradicional.
Material complementario
- Site Generators. A List of Static Site Generators for Jamstack Sites. Jamstack. 2023.
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
No Comments