El pipeline de compilación
Un plasmoid build es una única pasada determinista sin acceso a la red. Esto es
lo que ocurre, en orden.
1. Cargar y validar la configuración
plasmoid.toml se analiza y se verifica en busca de invariantes entre campos: el
locale por defecto debe estar en la lista de locales, retain debe ser al menos 1,
el título no puede estar vacío. Los errores apuntan al campo exacto que falla para
que puedas corregirlo rápido.
2. Resolver la versión
La versión de salida proviene del Cargo.toml de tu proyecto (o de --version).
Esto determina el directorio de salida /<version>/. Consulta
Versionado.
3. Planificar la retención
Antes de renderizar, plasmoid decide qué versiones permanecen activas y cuáles se archivan, de modo que el selector de versiones solo liste las versiones activas.
4. Renderizar cada locale
Para cada locale, plasmoid construye la navegación una sola vez a partir del árbol de carpetas del locale por defecto, y luego, para cada página:
- lee el origen Markdown,
- separa y analiza el frontmatter,
- renderiza CommonMark a HTML, reescribiendo los enlaces
.mdinternos a la documentación como URL limpias, - aplica resaltado de sintaxis a los bloques de código en tiempo de compilación (sin resaltador del lado del cliente),
- ensambla el armazón de la página (barra lateral, selectores, tabla de contenidos),
- y escribe un
index.htmlcompleto en el directorio de URL limpia de la página.
Cada página es independiente, por lo que el renderizado es directo y rápido.
5. Construir el índice de búsqueda
Todas las páginas renderizadas alimentan un índice de búsqueda estático
fragmentado que se escribe en /search/. Las propias páginas no
cargan ningún peso del índice.
6. Aplicar la retención y escribir las páginas del armazón
Las versiones más antiguas se archivan en zip, se escribe el índice /versions/, la
página de inicio se monta en /, se emiten los alias
estables /docs/ + /latest/, y se renderiza el /404.html personalizado.
Propiedades en las que puedes confiar
- Determinista. Las mismas entradas producen una salida idéntica byte a byte.
- Sin conexión. No hay llamadas de red en tiempo de compilación.
- Solo lectura sobre tu contenido. plasmoid nunca modifica el Markdown que lee.
- Estático y ligero en JS. Las páginas son legibles con JavaScript desactivado; los únicos scripts son el diminuto conmutador de tema, la barra lateral móvil y la búsqueda.