Temas y Diseño
Un theme de Chinaski es un directorio de archivos Template Toolkit que el builder estático renderiza en cada página pública: el punto de control completo de cómo se ve un site. Esta sección cubre el theme incluido, cada archivo de template del que está hecho, cómo crear y clonar los tuyos, y los territorios de variables/blocks/assets que hacen que la salida sea segura.
El modelo de templates (empieza aquí)
- Archivos de Plantilla: el conjunto de site templates (
page.tt,post.tt,blog_index.tt,404, search, offline, y los parciales con prefijo_), el orden de búsqueda theme-primero con fallbacks integrados, y cómo las templates por página eligen su archivo. - Las templates por base: el shell sin marca raw.tt, los listados de documents.tt, search.tt, y offline.tt: cada uno con su propia página.
Construir tu theme
- Crear y Clonar Themes: la ruta de subida (reglas de archivos comprimidos, archivos requeridos, el escaneo de seguridad), clonar cualquier theme (qué significa clonar el
default: un directorio vacío con comportamiento de fallback), y exportación. - El Theme Letterbox: el predeterminado incluido, como tu base de referencia/depuración.
- Variables y Helpers de Template: qué recibe cada template en el stash (campos de contenido, configuraciones del site, árboles de navegación, hreflang, JSON-LD...).
- Blocks en los Themes: cómo los shortcodes
{{block:name}}y las block templates se renderizan dentro de cualquier theme. - Assets de Theming y SRI: manejo de assets estáticos; el comportamiento de cache-busting e integridad para el CSS del admin (y cómo la salida estática envía la suya propia).
- Design Tokens y Design Briefs: definir los valores de marca una sola vez (tokens) y el flujo de generación asistida por IA para un theme nuevo a partir de un brief.
Lo que deberías saber antes de empezar
- Los fallbacks lo hacen seguro. El directorio de un theme activo se busca primero, los integrados segundo. Un theme solo incluye los archivos que cambia; un theme al que le faltan archivos estándar igualmente construye (simplemente usa los integrados sin cambios). Un clon del theme por defecto empieza como un directorio de theme vacío justamente para este flujo.
- Todo son archivos
.tt. Los fundamentos de Template Toolkit (escaping (| html/| uri),INCLUDE/PROCESS, chomp de espacios en blanco) están en las páginas de seguridad/variables: con las reglas de qué debe escaparse (todo lo suministrado por el usuario exceptobodyyjson_ld). - Los errores no matan los builds. Los fallos de renderizado por template registran un error en el log de build y continúan; el dashboard nombra las primeras templates que fallan.
La línea de fondo de seguridad
El editor de themes solo acepta templates seguras (el escaneo corre en la subida), y el contenido educativo del doc integrado de Theme Authoring cubre las reglas de escape: trata esas reglas (escapar los datos del usuario, scripts inline mínimos, tratar con cuidado los editores de snippets) como consejo permanente para los archivos de tu propio theme.
También en Temas y Diseño
Los archivos Template Toolkit que forman un theme de Chinaski: page.tt, post.tt, blog_index.tt, 404.tt y otros, dónde viven y las reglas de búsqueda.
Un mapa del theme predeterminado Letterbox: sus templates en builder/site_templates/, qué renderiza cada archivo .tt y cómo clonarlo.
Crea un tema subiendo un archivo o clonando uno existente: formatos admitidos, los seis archivos de plantilla obligatorios y cómo exportarlo limpio.
Consulta las variables que reciben los themes del builder, de URLs y fechas a menús y design tokens, y cómo funcionan los helpers precalculados.
Cómo el builder asocia tipos de block con plantillas en builder/block_templates/: detección de ciclos, fallback de idioma y qué esperar en un theme.
Entiende las dos vías de assets, sitio público y app de admin, y la regla de recarga: reinicia la app tras editar sus cinco archivos con SRI.
Sube un design brief con HTML y CSS de referencia para que Claude u otro asistente genere un theme a juego, sin tocar tu sitio en producción.
Usa la plantilla raw.tt cuando el cuerpo de la página deba emitirse tal cual como el archivo HTML completo: cuándo elegirla y qué sigue aplicando.
Cómo documents.tt genera el listado público /documents/: la cuadrícula de tarjetas, iconos, insignias de metadatos, estado vacío y qué se incluye.
Cómo search.tt genera la página de búsqueda: el formulario, los resultados en vivo y el search-index.json por idioma filtrado en el navegador.
Entiende offline.tt, la plantilla de la página de respaldo sin conexión de la PWA: qué muestra, su comportamiento noindex y cuándo se construye.
Gestiona los design tokens, propiedades CSS guardadas en la base y emitidas como declaraciones :root: la pantalla de admin, el build y los nombres.