Built with Chinaski

The Letterbox Theme

The Letterbox is the default theme that ships as slug default. Its templates live in builder/site_templates/, a set of Template Toolkit pages composing every public URL plus its entire stylesheet, and this reference maps out all of them so you can clone or replace them with confidence.

How the default theme works on disk

Letterbox’s templates sit in site_templates/ directly (unlike cloned themes, which live under builder/themes/<name>). When your active theme is Letterbox, that’s where the builder reads from and where its build fingerprint locks theme changes; when you activate a cloned theme instead, its own directory under builder/themes/ is used.

The only menu slots the stock theme declares are header and footer, with a one-level dropdown tree supported in the header.

The templates

File Lines What it renders
_head.tt ~1700 Every page’s head: the complete stylesheet, cookie-notice markup/styles, skip-link, inline analytics loader, password-gate styling, plus the meta-tags include
_meta_tags.tt ~60 The Open Graph / Twitter / canonical / hreflang / pagination meta tags
_header.tt ~66 Logo/identity bar with top-level menu + dropdowns
_footer.tt ~20 Footer menu, copyright, and (when posts exist) RSS link
page.tt ~64 A content page
post.tt ~120 A blog post: heading, meta row, tags, category chip, reading time, blocks
blog_index.tt ~115 Paginated blog index with featured-image cards
_sidebar.tt ~40 Sidebar widgets (about blurb, recent posts, categories)
documents.tt ~47 The documents/downloads page
search.tt ~100 Site search results backed by search-index.json
404.tt ~20 The “Page not found” page
offline.tt ~20 The PWA offline fallback
landing.tt + _landing_block_styles.tt 35 + ~450 A landing-page layout with extra block styling
raw.tt ~12 Body-only passthrough for pages needing full markup control
_cookie_notice.tt ~24 The fixed cookie banner
_password_gate.tt ~75 Client-side password gate for protected content

Where the styling lives

All default-look styling is inline in _head.tt: there’s no separate CSS file. Header, hero, page and post typography, blog cards, sidebar widgets, tables, cookie notice, and every block type’s wrapper classes (.cta-block, .gallery-block, .accordion-block, and so on) are defined there.

That file is the visual API of the theme: any page’s theme can declare blocks expecting those class names. The built-in blocks documentation’s wrapper/inner class tables are exactly what the Letterbox implements for each type. If you write your own theme, replicate that contract; at minimum, each block wrapper plus its heading/body treatment needs coverage, else blocks still render but look unstyled.

Options that change Letterbox output

  • Menu slots: declare additional menu slots in your theme (or clone the theme) to add more than header/footer; the default only has the two.
  • The landing page template: a page can override its template with a file name that includes the .tt extension (e.g. landing.tt or raw.tt); landing.tt brings its own block styles.
  • PWA output: enable PWA and offline.html / sw.js / manifest.json join the output per language.
  • RAW template: a page set to raw.tt gets its body alone with no theme scaffolding at all.
  • Analytics and consent: the GA4/GTM script in _head.tt loads only after the cookie notice records consent (or skips when no notice is active), and never loads at all in air-gap mode.

Cloning to make Letterbox-plus

The Templates screen offers Clone (from the configured starter theme, with Letterbox as its fallback) and a Generate with Claude panel that likewise scaffolds a new theme first, then returns a prompt to your assistant for the templating work. A theme’s templates can be overwritten directly in the theme editor; its content is security-scanned and syntax-validated server-side before being accepted. Deleting a theme is allowed only for non-active themes.

The bottom line

Letterbox is deliberately minimal but complete; it renders every CMS output artifact (built-in screens included) with classes fully spelled out and small templates. Cloning it is the intended starting point for custom themes; everything you need for that is in the theme authoring doc and this file map.

Read this site in