A page is a vertical stack of blocks. Each block is a small, typed piece — a hero banner, a chunk of text, a gallery, a spacer, a dynamic list of articles. Pick the right block for the job and you don't have to fight the editor. Here's what each of the eight types is for.
Hero Banner
A full-width banner for the top of the page. Has a headline, a sub-headline, a background image, and an optional call-to-action button. Use it once, at the top.
Good for: the first thing a visitor sees — the pitch, the value prop, the "what is this site."
Text Content
A block of HTML. Free-form body text with headings, paragraphs, lists, links, inline images — whatever rich HTML supports. This is the workhorse block for actual prose.
Good for: paragraphs, "About" sections, feature descriptions, anything that reads like an article.
Image + Text
An image on one side, a text column on the other. Usually used in series, alternating which side the image sits on, to produce a feature-tour feel.
Good for: feature callouts, team-member rows, step-by-step walkthroughs with illustrations.
Image Gallery
A grid of images. Each gallery block holds multiple image URLs and renders them as a responsive grid.
Good for: screenshot galleries, portfolios, photo roll-ups.
Call to Action (CTA)
A prominent button with a headline and optional sub-text. Standalone — designed to interrupt the reading flow and push the visitor toward a conversion.
Good for: "Get started", "Contact us", "Sign up for the beta" — anywhere you want a hard conversion moment.
Custom HTML
A raw HTML escape hatch. Paste any markup — embeds, iframes, custom widgets, third-party scripts. Whatever you put in gets rendered verbatim inside the page flow.
Good for: video embeds, form widgets, custom designs the other block types can't express. Careful: you own the HTML you paste — broken markup shows as broken layout.
Spacer
Empty vertical space. That's the whole block. Configure a height; the block renders that much blank space between its neighbors.
Good for: breathing room between sections when two adjacent blocks sit too tight, or when you want a visual break without a CSS tweak.
Search Results
A dynamic list of articles fetched at render time, filtered by folder, tag, keyword, or author. Unlike the other blocks, the content isn't typed in — the block runs a search against the channel and shows the matches.
Configure with: an optional heading, filters (Folder, Tag, Keyword, AuthorPermaName — all optional, AND'd together), sort order (newest/oldest/title), a limit (1–50), and a layout (grid of cards or list of rows). Toggles let you show or hide the image, description, date, and author per card. Folder match is exact — /recipes matches articles whose folder equals /recipes, not sub-folders.
Good for: a "Recipes" page that lists every article in /recipes; a "News" page filtered to tag=news; an author's portfolio page filtered by their permaName. No hand-maintained list — publish a new matching article, it appears on the page next render.
Set Hide when empty if you'd rather the block disappear than show "No articles found." when the filter doesn't match anything. Public visitors see cached results (so two blocks with the same filter share one query); signed-in editors bypass the cache for live preview.
Choosing the right block
- "I just want paragraphs" → Text Content.
- "I want a big headline with a background image" → Hero Banner.
- "I want to sell a feature with a screenshot next to it" → Image + Text.
- "I want a button that drives sign-ups" → CTA.
- "I want to show off a bunch of photos" → Image Gallery.
- "I want this page to list every article matching some filter" → Search Results.
- "The block types don't fit what I want" → Custom HTML.
- "These two blocks look cramped" → Spacer between them.