Plugin + Liquid: funcionamiento del indice de sitio

Objetivo

Reducir costo de render en includes que antes hacian busquedas repetidas sobre site.pages, site.posts y colecciones.

Flujo general

  1. El plugin /_plugins/build_site_index.rb corre en post_read.
  2. Construye site.data.site_index con lookups precomputados.
  3. navigation, pagination, topics-page y tags-page consumen siempre ese indice.
  4. Solo cards mantiene doble camino controlado por use_site_index_cards.

Flags de control

En /_config.yml:

En páginas con layout: series:

Estructura clave del indice

site.data.site_index incluye:

Regla de idiomas en taxonomias

Para mantener compatibilidad con las paginas de topics/tags:

Consumo desde Liquid

Includes migrados a index-only:

Patron comun:

  1. Resolver current_lang con fallback a es.
  2. Leer datos precomputados por URL/idioma.
  3. En cards, usar indice solo cuando use_site_index_cards esta en true.

Riesgos y mitigacion

Validacion recomendada

Build base recomendada:

Build alternativa (solo para analizar cards index):