Rich Text
Stores structured formatted text as a Tiptap JSON document, with headings, inline formatting, lists, links, code blocks, blockquotes, and horizontal rules.
Stores structured formatted text as a Tiptap JSON document. Use it for article bodies, long descriptions, and any content where editors need formatting controls. For plain unformatted text use Text Area; for Markdown syntax use Markdown.
Value shape
{
"type": "doc",
"content": [
{
"type": "paragraph",
"content": [
{ "type": "text", "text": "Hello ", "marks": [{ "type": "bold" }] },
{ "type": "text", "text": "world." }
]
}
]
}The document can contain these node types: paragraph, heading (levels 1–6), bulletList, orderedList, listItem, codeBlock, blockquote, horizontalRule and text. Text can carry the bold, italic, underline, strike, code and link marks.
Render the value in your frontend using the SDK helpers. Every SDK renders through the same shared engine, so a document looks the same in each:
| SDK | Helper |
|---|---|
@localess/react | <LocalessRichText content={data.body} /> |
@localess/angular | llRichText pipe, or <ll-rich-text> |
@localess/nuxt | <LocalessRichText :content="data.body" /> |
@localess/svelte | <LocalessRichText content={data.body} /> |
@localess/astro | <LocalessRichText content={data.body} /> |
Options
| Option | Description |
|---|---|
| Min Length | Minimum number of characters required |
| Max Length | Maximum number of characters allowed |
| Name | Unique field name in the Schema. Appears in the generated model and in the API response. |
| Display Name | Label shown to editors in the Content Editor. |
| Required | When set, editors cannot save the document without a value. |
| Translatable | When set, the field stores a separate value per locale. |
| Description | Help text shown to editors under the field. |
| Default Value | Stored with the field definition. It is not currently pre-filled into new documents. |