Generador de sitios estáticos

De Wikipedia, la enciclopedia libre

Los generadores de sitios estáticos (SSG, static site generators) son motores que utilizan archivos de entrada de texto (como Markdown, reStructuredText, AsciiDoc y JSON ) para generar páginas web estáticas. [1]​ Los sitios estáticos generados no requieren un backend después de la generación del sitio, lo cual hace que sean altamente eficientes con el uso de las redes de distribución de contenido (CDN). Algunos de los generadores de sitios estáticos más populares son Jekyll, Hugo, Next.js (JavaScript). [2][3]​ Los SSG suelen utilizarse para contenidos informativos que se actualizan con poca frecuencia, como páginas de productos, sitios web de noticias, documentación (de software), manuales y blogs.

Arquitectura[editar]

Los SSG suelen consistir en una plantilla escrita en HTML con un sistema de plantillas, como liquid (Jekyll) o Go template (Hugo). La misma estructura (normalmente un repositorio Git ) incluye contenido en un formato de texto plano, como Markdown o reStructuredText, o en un metaformato estructural como JSON o XML. Un único archivo de texto plano puede corresponder a una única página web, mientras que un único metaarchivo estructural puede dar como resultado un sitio web completo a través de un framework SPA como Angular. La configuración de las variables del sitio web se almacena en un archivo de configuración de texto plano _config.yml (YAML), _config.toml (TOML) o _config.json (JSON). Las páginas también suelen comenzar con un preámbulo YAML, TOML o JSON para definir variables como título, enlace permanente, fecha, etc. Archivos con nombres que comienzan con un guion bajo (_) como _index.md (a diferencia de index.md ) se consideran plantillas o arquetipos y, por lo tanto, no se representan como páginas propiamente dichas.

Ejemplos[editar]

Se ha documentado la existencia de varios centenares de SSG, y la gran mayoría están escritos en lenguajes que ya destacan en la web, como Python, Go, JavaScript y TypeScript. [4]

Etiqueta/nombre del sistema Idioma Notas
Jekyll Ruby Utiliza el lenguaje de plantillas Liquid. [4]
Hugo Go Utiliza Go templates y su principal atractivo es su alta velocidad a la hora de compilar. [4]
Next.js JavaScript Utiliza las plantillas de React. [4]
Pelican Python Utiliza plantillas Jinja2. [4]​ Compila HTML desde reStructuredText o Markdown.
Astro JavaScript Utiliza la sintaxis .astro de forma predeterminada (familiar a HTML o JSX). Admite múltiples frameworks: Svelte, React, Preact, Vue, SolidJS, Lit, AlpineJS. Compila HTML desde Markdown o MDX. [4]

Comparación con sistemas del lado del servidor[editar]

Sistema de plantillas del lado del servidor

Muchos sistemas de plantillas del lado del servidor tienen una opción para publicar páginas de salida en el servidor, donde las páginas publicadas son estáticas. Esto es común en los sistemas de gestión de contenidos, como Vignette, pero no se considera generación fuera del servidor. En la mayoría de los casos, esta «opción de publicación» no interfiere con el sistema de plantillas y puede realizarse mediante software externo, como Wget. [5]

Las páginas dinámicas del lado del servidor generadas a partir de plantillas se empezaron a usar con software preexistente adaptado para esta tarea:: los preprocesadores y lenguajes de macros, adaptados para el uso web, ejecutándose en CGI. Después, una tecnología simple pero relevante fue la ejecución directa realizada sobre módulos de extensión, iniciada con SSI.

Referencias[editar]

  1. «What is a Static Site Generator? How do I find the best one to use?». Netlify (en inglés). Archivado desde el original el 18 de septiembre de 2022. Consultado el 18 de septiembre de 2022. 
  2. «What Is a Static Site Generator, and How Can It Help Your Website Creation Process?». TeleportHQ (en inglés). 15 de diciembre de 2021. Archivado desde el original el 18 de septiembre de 2022. Consultado el 18 de septiembre de 2022. 
  3. CloudFlare (18 de septiembre de 2022). «What is a static site generator?». Archivado desde el original el 18 de septiembre de 2022. Consultado el 18 de septiembre de 2022. 
  4. a b c d e f «Static Site Generators - Top Open Source SSGs | Jamstack». Jamstack.org (en inglés). Archivado desde el original el 18 de septiembre de 2022. Consultado el 18 de septiembre de 2022. 
  5. «Static Site Generator». Gatsby (en inglés). Archivado desde el original el 18 de septiembre de 2022. Consultado el 18 de septiembre de 2022.