Saltar al contenido HtmlpressGenerador de sitios estáticos HtmlpressGenerador de sitios estáticos

Cambiar tema

Atajos de teclado

Versionado

Actualizado el

Htmlpress no tiene una función dedicada al versionado: las piezas que ya ofrece cubren los dos casos habituales. Elige según lo distintas que sean tus versiones:

  • Un sitio, una sección por versión: unas pocas versiones cuya documentación vive en una sola rama.
  • Un despliegue por versión: versiones mayores de larga duración mantenidas en sus propias ramas.

La mayoría de los proyectos solo necesitan mantener la documentación más reciente y la de la versión mayor anterior. Si las versiones antiguas solo necesitan sus notas, basta con una sección de registro de cambios.

Una sección por versión

Guarda las páginas de cada versión anterior en una carpeta propia. La documentación actual se queda en /, y cada versión anterior se convierte en una sección:

  • getting-started.html
  • v1
    • index.html
    • getting-started.html
htmlpress.yaml
title: Acme
sections:
  - title: Docs
    prefix: /
  - title: v1
    prefix: /v1/
    icon: archive
    siteTitle: Acme v1

La correspondencia por el prefijo más largo lleva cada página /v1/… a la sección v1, así que obtiene su propia barra lateral mientras el resto del sitio mantiene la documentación actual. siteTitle cambia el texto de la marca junto al logo dentro de esa sección, para que el lector siempre vea en qué versión está. Define position: sidebar para sacar las pestañas de versión de la cabecera.

Para avisar a los lectores en las páginas antiguas, empieza cada una con un callout:

<htmlpress-callout type="warning">
  <p>You are reading the docs for v1. <a href="/getting-started/">See the latest version</a>.</p>
</htmlpress-callout>
:::warning
You are reading the docs for v1. [See the latest version](/getting-started/).
:::

Conviene saber:

  • La búsqueda indexa todo el sitio, así que los resultados incluyen las páginas de todas las versiones.
  • Copiar una carpeta por versión duplica contenido; congela la carpeta antigua y corrígela solo cuando sea necesario.

Un despliegue por versión

Cuando cada versión mayor vive en su propia rama (main, v1, …), compila cada rama como un sitio propio y sírvela desde su propia dirección: un subdominio (v1.docs.example.com) o una subruta (docs.example.com/v1/) con base.

htmlpress.yaml (rama v1)
site: https://docs.example.com
base: /v1/
title: Acme v1
banner: You are reading the v1 docs · <a href="https://docs.example.com/">Go to the latest →</a>

htmlpress start y preview sirven bajo la misma base, así que la rama se previsualiza exactamente como se despliega. Enlaza los despliegues entre sí con una sección custom o un enlace de la cabecera, que actúa como selector de versión:

htmlpress.yaml (rama main)
sections:
  - title: Docs
    prefix: /
  - title: v1
    type: custom
    url: https://docs.example.com/v1/
    icon: archive

Cada despliegue tiene su propio índice de búsqueda, sitemap y llms.txt, así que las versiones nunca se mezclan. El coste es una compilación y un job de CI por cada rama mantenida; consulta Deployment para la configuración de cada hosting. La mayoría de los hostings despliegan las ramas en sus propias URL de serie.

Ver también

Hecho con ❤ y Htmlpress

Acciones

Editar en GitHubVer como Markdown

Contenido