Skip to content

fix(mdxish): fix rendering callout from magic blocks#1275

Merged
kevinports merged 3 commits intoreadmeio:nextfrom
maximilianfalco:falco/rm-14652-callout-magic-blocks-isnt-rendering-properly
Jan 5, 2026
Merged

fix(mdxish): fix rendering callout from magic blocks#1275
kevinports merged 3 commits intoreadmeio:nextfrom
maximilianfalco:falco/rm-14652-callout-magic-blocks-isnt-rendering-properly

Conversation

@maximilianfalco
Copy link
Copy Markdown
Contributor

PR App Fix RM-14652

🧰 Changes

Fixes an issue where callout magic blocks ([block:callout]...[/block]) were not rendering correctly in the mdxish pipeline. The placeholder tokens (__MAGIC_BLOCK_0__) are parsed as inlineCode nodes, which can end up inside paragraphs. When magic blocks create flow elements (like mdxJsxFlowElement), they need to be unwrapped from the paragraph to maintain valid AST structure.

Changes

  • Magic block parser: Callout magic blocks now create mdxJsxFlowElement nodes directly with name 'Callout' instead of intermediate rdme-callout nodes
  • Title conversion: Callout titles are converted to h3 headings to match calloutTransformer behavior
  • Unwrapping logic: Added logic to unwrap mdxJsxFlowElement nodes from paragraphs in magicBlockRestorer, since flow elements cannot be children of paragraphs in MDAST

Before

Screen.Recording.2025-12-17.at.22.12.27.mov

After

Screen.Recording.2025-12-17.at.23.32.40.mov

🧬 QA & Testing

Copy link
Copy Markdown
Contributor

@kevinports kevinports left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Noticed a few small things to be addressed but giving approval so this isn't blocked.

@kevinports kevinports merged commit 171a5d8 into readmeio:next Jan 5, 2026
6 checks passed
rafegoldberg pushed a commit that referenced this pull request Jan 7, 2026
## Version 11.11.0
### ✨ New & Improved

* correctly parse malformed md syntax ([#1279](#1279)) ([4bbd8fb](4bbd8fb))

### 🛠 Fixes & Updates

* **mdxish:** can't render RC with snake_case name ([#1281](#1281)) ([0e50d1c](0e50d1c))
* **extractMagicBlocks:** ensure magic blocks are surrounded by newlines ([#1286](#1286)) ([67a6914](67a6914))
* **mdxish:** fix rendering callout from magic blocks ([#1275](#1275)) ([171a5d8](171a5d8))
* **mdxish:** jsx braces not evaluating ([#1256](#1256)) ([f9fe3b7](f9fe3b7))

<!--SKIP CI-->
@rafegoldberg
Copy link
Copy Markdown
Contributor

This PR was released!

🚀 Changes included in v11.11.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants