arrow_back All Posts scale

Deep Cuts: Every Obscure Storyblok Feature You've Never Used (Until Now)

H4 headings, inline code marks, code blocks, blockquotes, image_text_split, two_column_layout, hero_section as body block — every rarely-used feature demonstrated in one place.

By J. Massey April 8, 2026 · 10 min read
info Disclosure: This post may contain affiliate links. If you purchase through our links, we may earn a commission at no extra cost to you. We only recommend tools and services J. Massey's team actually uses. Learn more →
Deep Cuts: Every Obscure Storyblok Feature You've Never Used (Until Now)

Most blog articles use three features: headings, paragraphs, and a CTA at the bottom. What you're about to read is the other end of the spectrum — the obscure Storyblok capabilities that most content teams never touch. Things like code_block nodes, H4 subheadings, inline hyperlinks in running text, and block components so rarely used they don't even have analytics data yet.

This article exists for one reason: to show you everything. The full surface area. The features you didn't know you had.


Level 1: The Typography Stack

H3: Sub-Section Header

This is a standard H3 sub-section — used for named frameworks, common mistakes, and quick wins within an H2 section. The design system renders H3 at 24px with a tight leading.

H4: The Deepest Heading Level

H4 headings are 20px, bold, and meant for granular breakdowns inside an H3. You'd use this for step-level detail within a multi-step framework — not for major structural breaks. If you find yourself using H4 frequently, you likely need to restructure into a separate H2 section.

When to Use H4 vs H3

  • H3: Named sub-frameworks, standalone concepts, 'Common Mistake' and 'Quick Win' sections

  • H4: Parameter breakdowns, individual tool configurations, granular code explanations

  • Never: Two consecutive H4s without body text between them — always add at least one paragraph


Level 2: Inline Rich Text Marks

Most authors use bold. Some use italic. Almost nobody uses the full inline mark suite. Here's what the complete set looks like in running text:

Bold for critical terms and action phrases. Italic for emphasis, voice, and quote attribution. Inline code for technical terms, field names, and API references. And hyperlinks in running text for citations, tools, and external resources — always opening in a new tab.

The renderRichText() function in @storyblok/astro handles all four mark types natively. The styling is applied by the prose prose-invert Tailwind Typography classes in BlogPost.astro.


Level 3: Code Blocks

Code blocks are rarely used in STR content — but they're essential for technical articles, automation guides, and any article showing readers how to configure a tool. Here's what a code block looks like with syntax highlighting:

# Storyblok story creation via Python
import requests

SB_TOKEN = "your-management-token"
SB_SPACE = "your-space-id"

payload = {
    "story": {
        "name": "My Article Title",
        "slug": "my-article-slug",
        "content": {
            "component": "blog_post",
            "title": "My Article Title",
            "body": rich_text_json
        }
    },
    "publish": 1
}

r = requests.post(
    f"https://mapi.storyblok.com/v1/spaces/{SB_SPACE}/stories",
    json=payload,
    headers={"Authorization": SB_TOKEN}
)
print(r.status_code, r.json()["story"]["full_slug"])

The code block above demonstrates the exact API call pattern used to create every article in this demo series. Real code. Real credentials (redacted). Real result.


Level 4: The Blockquote

Blockquotes get an orange left border treatment in the CFD design system. They're used for three things: direct quotes, pull quotes that highlight a key insight, and testimonial fragments within a text section. This is different from the testimonial_block component, which is a full-featured block with avatar and attribution.

On the difference between blockquote and testimonial_block:

Use blockquote rich text syntax for inline emphasis within flowing text — when you want to visually break up a long section with a highlighted insight.

Use testimonial_block in body_blocks when you want a full standalone social proof card with avatar, name, role, and full attribution. Different tools for different contexts.


Level 5: Ordered vs Unordered Lists

The design system renders both with orange markers — bullets for unordered, numbers for ordered. Use ordered lists when sequence matters. Use bullet lists when membership in a category is what matters.

Unordered: Criteria and Characteristics

  • Items where the order doesn't matter and could be rearranged without loss of meaning

  • Feature lists, tool requirements, checklist items

  • Properties of a concept — e.g., 'what makes a good STR market'

  • Items where each entry has roughly equal weight

Ordered: Sequential Steps

  1. Steps where step 2 depends on step 1 — process flows, installation sequences

  2. Rankings where position is meaningful — 'top 5 tools' in order of value

  3. Instructions where the reader needs to track their position

  4. Decision trees where order determines the path


What's Only Available in Body Blocks (Not Rich Text)

These are the Storyblok features that can't be achieved with rich text alone — they require the body_blocks bloks field and corresponding Astro components. See them demonstrated below.

Embedded Hero Sections Within an Article

hero_section as a body_block — used to create visual chapter breaks in long-form articles, section landing pages, or serialized content where each 'chapter' needs its own strong visual anchor.

image
EP
847
Episode 847
52 min

podcast_card is the deep cut of deep cuts. Used exclusively for linking to Cash Flow Diary podcast episodes from blog articles — the block most rarely appears in published content, but it's fully functional for cross-promoting episodes in relevant blog posts.

📊

stats_block

4-6 stat cards with label + value. High trust signal. Use when you have real numbers.

💬

testimonial_block

Social proof with avatar, name, role, and full quote. Use for student/client validation.

🎯

cta_section

Full-width CTA with heading, subtext, and button. Orange or subtle style. Use at article end.

🎬

video_embed

YouTube/Vimeo embed with optional caption. Use in articles with companion video content.

quote_block

Styled pull quote — larger than blockquote, standalone component. For high-impact quotes.

faq_block

Expandable FAQ accordion. AEO-optimized. Use when article has 3+ distinct questions.

📧

newsletter_signup

Inline email capture form. Use mid-article to capture high-intent readers before CTA.

👤

author_bio

Author card with avatar, bio, and social links. Use at article end for E-E-A-T signals.

⬛⬛

two_column_layout

50/50 split content area. Comparison, before/after, dual-option summaries.

📋

process_steps

Numbered step cards with title and description. Use for how-to and framework walkthroughs.

🖼️

image_text_split

Side-by-side image + text. Breaks single-column flow with visual context.

🃏

resource_card_grid

Tool/resource cards with links. Use for roundup and evaluation framework articles.

🎙️

podcast_card

Podcast episode card with listen link. Use to cross-promote relevant episodes.

features_section

Grid of feature cards with icon, title, description. Use for product/tool overview sections.

🦸

hero_section

Full-width hero as body_block. Chapter breaks in long-form serialized content.

📝

rich_text_block

Styled text container within body_blocks. Pull-out explainers and callout sections.

Earnings & Income Disclaimer: West Egg Enterprises, Inc. / CashFlowDiary does not guarantee any specific income, profit, or financial results from information on this site. Individual results vary based on effort, experience, market conditions, and other factors outside our control. Past performance does not guarantee future results. Nothing on this site constitutes financial, legal, or tax advice.

See our full Earnings Disclaimer and Affiliate Disclosure for complete details. © 2026 West Egg Enterprises, Inc. All rights reserved.

Get More Strategies Like This

Join 19,000+ STR operators who get weekly insights from J. Massey.