Skip to content

Blueprints

Blueprints define reusable editing, rendering, and behaviour rules for content.

Think of them as the cards in the Capell Library. A card has a name, a short description, a family, and a set of rules. The editor sees the plain name and description. Capell keeps the schema, renderer, cache settings, package hooks, and permissions behind it.

Core and demo blueprint variations

The database stores reusable behaviour in blueprints and related layout, widget, section, and package records. Some compatibility APIs still use type terminology, but in the product and current docs clearer names help people choose the right thing:

Product nameDeveloper/API termWhat it means
Site blueprintSite blueprintThe high-level setup for a site: domains, languages, pages, settings, theme.
Page templatePage blueprintThe rules for a page URL: editor fields, rendering, listing, sitemap, cache.
Visual themeTheme blueprintThe visual system: typography, colour, spacing, components, and artwork style.
Layout recipeLayoutThe page composition shell used by one or many pages.
Page sectionSection blueprintA large content band, such as a hero, feature row, gallery, or CTA.
WidgetElement blueprintA reusable component placed inside a layout, such as breadcrumbs or latest pages.
Content blockContentSections content typeEditable content used by sections and widgets.
Starter exampleDemo package contentSeeded pages, layouts, widgets, images, and copy for learning or previews.
Visual styleArtwork or demo variationA design treatment applied to the same content model.

That vocabulary keeps the editor-facing model simple without hiding the fact that developers still register real Capell extension points underneath.

Core blueprints are quiet by design. They define structure and behaviour, not a finished brand.

VariationFamilyShort description
DefaultPage blueprintA flexible page for ordinary content, landing pages, and simple publishing.
HomePage blueprintThe main entry page for a site, usually excluded from listings.
Page not foundPage blueprintA fixed system page for missing URLs and not-found responses.
MaintenancePage blueprintA fixed system page shown while a site or route is unavailable.
SystemPage blueprintA protected page for internal, generated, or non-editorial output.
DefaultSite blueprintThe baseline site setup for domains, languages, pages, settings, and theme.
DefaultTheme blueprintThe baseline theme record used when a site has no specialist theme.
DefaultLayoutA general-purpose layout for standard pages and content-led views.
HomeLayoutA homepage layout for the main site entry point and high-level content.
ResultsLayoutA listing layout for search results, indexes, and grouped content.
System pageLayoutA locked layout for fixed system pages that should not use the page builder.

The important difference: a page blueprint controls what a page is allowed to do. A layout controls where page content appears. A theme blueprint controls how the finished page looks. (Here “layout” means the core Layout template a page renders into, not the ContentSections Layout Builder blocks.)

Demo variations should prove range without changing the core mental model. They combine the same site blueprints, page blueprints, layouts, sections, and widgets with stronger visual direction.

Good demo families:

Demo familyUse it forArtwork direction
FoundationPlain CMS evaluation and product docsCalm grids, neutral surfaces, clear type, low decoration.
StudioAgencies, portfolios, architectureLarge image crops, measured whitespace, editorial serif accents.
EditorialBlogs, magazines, publishing teamsStrong rhythm, article cards, pull quotes, collection-led artwork.
CommerceLifestyle, product storytelling, servicesWarm product imagery, rounded details, clear CTAs, polished cards.
CulturalEvents, museums, exhibitions, programmesHigh-contrast typography, poster-like crops, bold colour blocks.

Core explains. Demos persuade. Artwork gives the same content a point of view.

A blueprint can change several parts of the system at once:

AreaWhat the blueprint can change
Editor shapeWhich configurator, required fields, asset choices, role restrictions, and package fields appear in admin.
Frontend renderingWhich Blade component, display component, cache time, cache frequency, and output behaviour should be used.
Content behaviourWhether pages are accessible by URL, included in listings, included in sitemaps, or linked with previous/next navigation.
ReuseWhich widgets, page models, content structures, or content-sections surfaces can share the same setup.

Choosing or creating a blueprint changes the editing experience and the runtime behaviour for every record assigned to it.

The page create form is the clearest first example. Changing the page blueprint can change the editor fields and page behaviour. Changing the layout controls the frontend composition used by that page.

The layout and publish timing fields The layout and publish timing fields

Blueprint-specific fields can also appear in expandable sections or package-provided areas. A standard page might show summary and CTA fields. A specialist page blueprint can expose richer structured fields through its configurator or package extenders.

The Extra Content section on the page form The Extra Content section on the page form

The Blueprints screen groups records by model family, such as pages, sites, themes, sections, and widgets. Each blueprint has a unique key used by configuration, templates, URL generation, and package integrations.

For page blueprints, the frontend tab controls rendering and public behaviour. This is where a blueprint can choose the page component, cache behaviour, URL accessibility, listing visibility, sitemap inclusion, previous/next linking, and whether editors may change the layout on pages using that blueprint.

The admin tab controls the editor-facing side: configurator selection, icon, short description, allowed asset types, required fields, and role restrictions. Packages can add more fields through schema extenders without replacing the whole blueprint form.

Developers and packages register blueprints through Capell extension points. Core page blueprints, package page blueprints, widgets, page sections, and content blocks all use the same idea: give a model a reusable named configuration that can be discovered, edited, and rendered consistently.

Use How Capell works for the high-level map, and Extending Capell for developer registration details. That lower-level guide still uses PageTypeData because the public extension API names the page subject contract rather than an individual blueprint record.