Articulo de referencia

Generador de sitios estáticos

Los generadores de sitios estáticos ( SSG ) son motores de software que utilizan archivos de entrada de texto (como Markdown , reStructuredText , AsciiDoc y JSON ) para generar ...

Los generadores de sitios estáticos ( SSG ) son motores de software que utilizan archivos de entrada de texto (como Markdown , reStructuredText , AsciiDoc y JSON ) para generar páginas web estáticas . [ 1 ] A diferencia de los sitios web dinámicos, estas páginas estáticas no cambian según la solicitud. Esto simplifica los requisitos para el backend y permite que el sitio se distribuya a través de redes de entrega de contenido (CDN). El diseño simple también dificulta que los atacantes modifiquen el sitio web debido a la menor superficie de ataque de estos backends relativamente simples. Algunos de los generadores de sitios estáticos más populares son Jekyll , Hugo , Eleventy , Gatsby y Next.js. [ 2 ] [ 3 ] Los SSG se utilizan típicamente para contenido informativo que cambia raramente, como páginas de productos, artículos de noticias, documentación de software y blogs.

Arquitectura

Los SSG suelen constar de 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 formato de texto plano, como Markdown o reStructuredText , o en un formato de metadatos estructurales, como JSON o XML . Un único archivo de texto plano puede corresponder a una única página web. Alternativamente, un único archivo de metadatos estructurales puede corresponder a un sitio web completo si se utiliza un framework de aplicaciones de una sola página como AngularJS_config.yml . La configuración de las variables del sitio web se almacena en un archivo de configuración de texto plano ( YAML ), _config.toml( TOML ) o _config.json( JSON ). Los archivos de página también suelen comenzar con un preámbulo YAML, TOML o JSON para definir variables como título, enlace permanente o fecha. Los archivos cuyos nombres comienzan con un guion bajo (__ _) como _index.md(en contraposición a index.md) se consideran plantillas o arquetipos y, por lo tanto, no se renderizan como páginas.

Ejemplos

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

Comparación con sistemas del lado del servidor

Sistema de plantillas del lado del servidor

Muchos sistemas de plantillas del lado del servidor ofrecen la opción de publicar las páginas de salida en el servidor, donde las páginas publicadas son estáticas . Esto es común en sistemas de gestión de contenido , 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 ]

La gente empezó a usar páginas dinámicas del lado del servidor generadas a partir de plantillas con software preexistente adaptado para esta tarea. Este software inicial eran los preprocesadores y lenguajes de macros , adaptados para uso web, que se ejecutaban en CGI . A continuación, una tecnología sencilla pero relevante fue la ejecución directa realizada en módulos de extensión, comenzando con SSI .

Referencias

  1. "¿Qué es un generador de sitios estáticos? ¿Cómo encuentro el mejor para usar?" . Netlify . Archivado del original el 18-09-2022 . Consultado el 18-09-2022 .
  2. "¿Qué es un generador de sitios estáticos y cómo puede ayudar en el proceso de creación de su sitio web?" . TeleportHQ . 15/12/2021. Archivado del original el 18/09/2022 . Consultado el 18/09/2022 .
  3. "¿Qué es un generador de sitios estáticos?" . 18/09/2022. Archivado del original el 18/09/2022 . Consultado el 18/09/2022 .
  4. 1 2 3 4 5 6 7 "Generadores de sitios estáticos - Los mejores SSG de código abierto | Jamstack" . Jamstack.org . Archivado del original el 18 de septiembre de 2022. Consultado el 18 de septiembre de 2022 .
  5. "Generador de sitios estáticos" . Gatsby . Archivado del original el 18 de septiembre de 2022. Consultado el 18 de septiembre de 2022 .
  • Imponer una estricta separación entre modelo y vista en los motores de plantillas