El Theme Letterbox
El Letterbox es el theme por defecto que se envía con el slug default. Sus templates viven en builder/site_templates/: un conjunto de páginas Template Toolkit que componen cada URL pública más su hoja de estilos completa: y esta referencia mapea todas para que puedas clonarlas o reemplazarlas con confianza.
Cómo funciona el theme por defecto en disco
Las templates de Letterbox están directamente en site_templates/ (a diferencia de los themes clonados, que viven bajo builder/themes/<name>). Cuando tu theme activo es Letterbox, ahí es donde lee el builder y donde su fingerprint de build bloquea los cambios del theme; cuando activas un theme clonado en su lugar, se usa su propio directorio bajo builder/themes/.
Los únicos slots de menú que declara el theme de fábrica son header y footer, con un árbol desplegable de un nivel soportado en el header.
Las templates
| Archivo | Líneas | Qué renderiza |
|---|---|---|
_head.tt | ~1700 | El head de cada página: la hoja de estilos completa, el marcado/estilos del cookie notice, skip-link, loader de analytics inline, estilización del password gate, más el include de meta-tags |
_meta_tags.tt | ~60 | Las meta tags Open Graph / Twitter / canonical / hreflang / paginación |
_header.tt | ~66 | Barra de logo/identidad con menú de nivel superior + dropdowns |
_footer.tt | ~20 | Menú del footer, copyright y (cuando existen posts) enlace RSS |
page.tt | ~64 | Una página de contenido |
post.tt | ~120 | Un post del blog: encabezado, fila de metadatos, tags, chip de categoría, tiempo de lectura, blocks |
blog_index.tt | ~115 | Índice de blog paginado con tarjetas de imagen destacada |
_sidebar.tt | ~40 | Widgets de la sidebar (blurb de about, posts recientes, categorías) |
documents.tt | ~47 | La página de documentos/descargas |
search.tt | ~100 | Resultados de búsqueda del site respaldados por search-index.json |
404.tt | ~20 | La página "Page not found" |
offline.tt | ~20 | El fallback offline de la PWA |
landing.tt + _landing_block_styles.tt | 35 + ~450 | Un layout de landing page con estilos extra de blocks |
raw.tt | ~12 | Passthrough solo del body para páginas que necesitan control total del marcado |
_cookie_notice.tt | ~24 | El banner fijo de cookies |
_password_gate.tt | ~75 | Password gate del lado del cliente para contenido protegido |
Dónde vive la estilización
Toda la estilización del look por defecto está inline en _head.tt: no hay un archivo CSS separado. Header, hero, tipografía de página y post, tarjetas del blog, widgets de la sidebar, tablas, cookie notice, y las clases wrapper de cada tipo de block (.cta-block, .gallery-block, .accordion-block, y así sucesivamente) se definen ahí.
Ese archivo es la API visual del theme: el theme de cualquier página puede declarar blocks que esperen esos nombres de clase. Las tablas de clases wrapper/inner de la documentación de blocks integrada son exactamente lo que el Letterbox implementa para cada tipo. Si escribes tu propio theme, replica ese contrato: como mínimo, cada wrapper de block más su tratamiento de encabezado/cuerpo necesita cobertura; si no, los blocks igualmente se renderizan pero se ven sin estilos.
Opciones que cambian la salida de Letterbox
- Slots de menú: declara slots de menú adicionales en tu theme (o clona el theme) para añadir más que header/footer; el predeterminado solo tiene esos dos.
- La template de landing page: una página puede hacer override de su template con un nombre de archivo que incluya la extensión
.tt(por ejemplolanding.ttoraw.tt); landing.tt trae sus propios estilos de blocks. - Salida PWA: habilita PWA y
offline.html/sw.js/manifest.jsonse suman a la salida por idioma. - Template RAW: una página configurada en
raw.ttrecibe solo su body sin ningún andamiaje del theme. - Analytics y consentimiento: el script GA4/GTM en
_head.ttse carga solo después de que el cookie notice registra el consentimiento (o se omite cuando no hay notice activo), y nunca se carga en modo air-gap.
Clonar para hacer Letterbox-plus
La pantalla de Templates ofrece Clone (desde el starter theme configurado, con Letterbox como su fallback) y un panel Generate with Claude que de igual manera primero scaffolds un theme nuevo, y luego devuelve un prompt a tu asistente para el trabajo de templating. Las templates de un theme pueden sobrescribirse directamente en el editor del theme; su contenido se escanea por seguridad y se valida sintácticamente del lado del servidor antes de aceptarse. Eliminar un theme solo está permitido para themes no activos.
La línea de fondo
Letterbox es deliberadamente minimalista pero completo: renderiza cada artefacto de salida del CMS (pantallas integradas incluidas) con clases completamente detalladas y templates pequeñas. Clonarlo es el punto de partida previsto para themes personalizados; todo lo que necesitas para eso está en el doc de theme authoring y este mapa de archivos.