Skip to content

Design

Everything visitors see is built in the CMS — pages, templates, header and footer, styles, scripts and animations. No theme files, no build step.

On this page

In Lettern a site's design is content. Pages, the templates around them, the header and the footer are all block documents you edit in the shared block editor. Colors, type and spacing live in a design system you edit in the admin. Scripts and animations are settings on blocks, not files. People design it in the builder; developers and their agents change the same files through abilities, MCP or git.

#Where things live

WhatWhereEdited in
Design system — tokens, fonts, element styles, buttons, page transitionscontent/design/tokens.jsonDesign system (tokens), the design/update ability
Extra CSS and JavaScriptcontent/design/custom.css, custom.jsThe files, or the design/code ability
Fontscontent/design/fonts/*.woff2The design/fonts-import and design/fonts-upload abilities
Page templates (header, Page content, footer…)content/collections/templates/*.mdTemplates — opens in the block workspace
Components and sectionscontent/collections/components/*.mdComponents — opens in the block workspace
Pages and other entriesTheir collectionThe shared block editor

Templates and components are ordinary collections, so they have drafts, publishing, history, comments and the entries/* abilities like everything else.

#How a page is built

  1. The entry picks a template: its own choice, its collection's, or default.
  2. Lettern renders the template's blocks. Components inside it — the header, the footer — render in place.
  3. The Page content block in the template renders the entry's own blocks.
  4. Every block's styles become small, shared CSS classes; scripts and animations add only the JavaScript the page uses.
  5. The page is written to public/ as HTML — see Static builds.

#In this section