Skip to main content

Text

<>text</>Raw text node — no HTML wrapper tag.

This page shows you how to use the Text block to insert raw text content without any HTML wrapper element.

What it does

Most blocks wrap content in an HTML tag. The Paragraph block wraps text in <p>, a Heading in <h2>, and so on. The Text block is different — it outputs just the text itself, with no wrapping element at all.

This makes it the right choice when you need text inside another element alongside other blocks — a button label next to an icon, a link label next to a badge. Like Paragraph, Text is a rich text block that supports inline formatting (<strong>, <em>, etc.) but without adding any wrapping HTML element.

Paragraph exists as a separate block for performance — without it, every paragraph would require two blocks (an element block wrapping a Text block). Text is for cases where you need text alongside sibling blocks without an extra HTML element.

When to use it

  • Inside other elements — button text, link labels, badge content
  • Mixed content — combining static text with dynamic expressions
  • Dynamic labels — titles, dates, or any text pulled from data

Block settings

The content field accepts four types of input:

TypeExample
Static textWelcome to our site
Expression{{ post.title }}
MixedPosted by {{ post.author.name }}
Expression with filter{{ post.excerpt|truncate(150) }}
Common mistake

Don't use a Text block when you need a standalone paragraph. Use the Paragraph block instead — it outputs a proper <p> tag with its own spacing. Text blocks are for text inside other elements.

Text block vs Paragraph block

FeatureText blockParagraph block
HTML wrapperNone<p> tag
Rich textYesYes
Use caseNext to sibling blocksStandalone paragraphs

HTML output

A button-style link with an icon and a Text block for the label:

<a class="btn" href="/get-started/">
<svg>...</svg> <!-- SVG block -->
Get started <!-- Text block -->
</a>

Next steps