
Portable Text Complete Test Article
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Testing
This is a complete test article created to exercise the rich-text
capabilities of the Writing system. It includes ordinary paragraphs,
multiple heading levels, emphasis, inline code, links, quotations,
ordered and unordered lists, and a fenced code block. It also contains
clearly marked insertion points for the Sanity-specific Image, Rich
Table, and Callout blocks, because those custom Portable Text objects
cannot be created by Markdown alone.
Why a Structured Content System Matters
A modern website is more than a collection of pages. It is a system
where content, design, accessibility, performance, and maintainability
need to work together. A structured editor helps keep those
responsibilities separate while still giving an author enough freedom to
write useful, expressive content.
This paragraph tests bold text, italic text, and inline code in
the same block. It also includes an external link to
Sanity and an internal-style relative link to
the Writing archive. When testing the link annotation in
Studio, also verify the Open in new tab option manually.
Content Should Be Flexible Without Becoming Uncontrolled
A good editor should provide the formatting options an author genuinely
needs without becoming a miniature page builder. Too many controls make
it easier for content to become visually inconsistent. A constrained
system can actually give authors more confidence because the website
decides how semantic content should look.
For example, an author should be able to:
- Explain an idea using normal paragraphs.
- Highlight important information without manually choosing fonts
or colors. - Add emphasis when the tone of a sentence requires it.
- Mention technical values such as
generateMetadata()ornpm run dev. - Organize related ideas into clear lists.
- Link readers to useful internal and external resources.
A numbered sequence should work just as naturally:
- Understand the purpose of the content.
- Structure the information clearly.
- Write and edit the article.
- Add supporting media where it improves understanding.
- Review accessibility and semantics.
- Publish only when the article is ready.
A Smaller Subsection for Heading-Level Testing
This section exists specifically to test the Heading 4 style. In the
final website, Heading 4 should remain visually subordinate to Heading 3
while still being clearly distinguishable from ordinary paragraph text.
A strong content system gives authors freedom inside carefully chosen
boundaries.
The quotation above tests the blockquote style. It should be visually
distinct on the frontend without being mistaken for a callout, because a
quotation and a structured informational callout have different
meanings.
Testing Technical Content
Technical writing often needs both inline code and larger code examples.
A sentence might tell the reader to run npm install or refer to a
component such as PostCard. A larger example needs a dedicated code
block.
interface Article {
title: string
slug: string
excerpt: string
publishedAt: string
}
export function getArticleLabel(article: Article)
{
return `${article.title} — ${article.publishedAt}`
}When recreating this code block through Sanity's Code Block control,
select TypeScript as the language and use a test filename such asarticle.ts. This verifies the language selector and filename support
in your code-input configuration.
Image Block Test

Use the Image button in the Portable Text toolbar at this point.
Upload any temporary test image, set its hotspot if useful, enter
meaningful Alt Text, and add a Caption. Suggested test values:
Alt Text: A laptop displaying a content management interface.
Caption: Testing an article image with alt text, hotspot data, and a
visible caption.
The paragraph after the image verifies that normal Portable Text content
continues correctly after an embedded object.
Rich Table Test
| Test header | Column header works | |
|---|---|---|
| ROW title | Test | Head |
| Wow | Content | Something |
Create a Rich Table with approximately the following data:
Capability Purpose Test Status
Headings Structure long-form content Ready
Images Add supporting visual context Ready
Code Present technical examples Ready
Callouts Highlight important information Ready
Inside at least one table cell, test bold, italic, inline code,
and a link. If useful, also test a bullet or
numbered list inside a cell. Your table-cell schema intentionally keeps
this content lightweight.
Callout Test
Create a Callout at this point with:
Type: Info
Title: Test the complete publishing experience
Content: This callout verifies that structured content can contain
paragraphs, bold text, italic text, inline code, links, and
lists without allowing the full complexity of the main article editor.
Add this bullet list inside the Callout:
- Check the visual treatment.
- Check keyboard interaction in Studio.
- Verify links render correctly.
- Confirm the frontend distinguishes the callout from a blockquote.
You can later repeat this block with the Warning and Note types
if you want to verify every visual callout theme.
Bringing Everything Together
The purpose of this test is not the subject of the article itself. It is
to make sure the complete authoring pipeline behaves predictably from
Sanity Studio through to the eventual Next.js frontend.
Once the frontend is connected, this single post can help verify
typography, vertical rhythm, responsive images, code overflow, table
responsiveness, link behavior, callout styling, list indentation,
heading hierarchy, and Portable Text serialization. It can also expose
problems that are difficult to notice when testing with short
placeholder content.
A production-ready editorial experience should feel straightforward to
the person writing the article while preserving enough structure for
developers to build a consistent interface. Authors should think about
the meaning of their content, while the design system determines its
presentation.
Final Checklist
Before considering the Portable Text implementation tested, confirm the
following:
- Paragraphs render with comfortable reading width and spacing.
- Heading 2, Heading 3, and Heading 4 have a clear hierarchy.
- Bold and italic formatting remain visually balanced.
- Inline code is distinguishable without disrupting line height.
- Bullet and numbered lists are properly indented.
- Links have visible hover and keyboard-focus states.
- Blockquotes are semantically and visually distinct.
- Article images preserve their intended crop and expose useful
alternative text. - Code blocks support long lines without breaking the page layout.
- Rich tables remain usable on narrow screens.
- Callouts render according to their selected type.
- Content remains readable on desktop, tablet, and mobile.
If every item above works, the editor has successfully handled the major
content structures currently supported by the Writing schema. The next
test is no longer whether Sanity can store the content---it is whether
the website can render that structured content beautifully, accessibly,
and reliably.
