Skip to content

fix: redesign blockquotes as container blocks#4941

Open
zbeyens wants to merge 6 commits intomainfrom
codex/4898-blockquote-container-blocks
Open

fix: redesign blockquotes as container blocks#4941
zbeyens wants to merge 6 commits intomainfrom
codex/4898-blockquote-container-blocks

Conversation

@zbeyens
Copy link
Copy Markdown
Member

@zbeyens zbeyens commented Apr 1, 2026

🔀 PR #4941
🐛 Fixes #4898
🟢 95-100% confidence

Phase 🧪 Tests 🌐 Browser
Reproduced
Verified 🟢 🟢

🌐 Browser Check

  • Opened http://localhost:3003/blocks/editor-ai and verified the seeded quote now renders a quoted list item plus a nested blockquote.
  • Opened http://localhost:3003/docs/blockquote and verified the docs page shows nested blockquote example content plus the nested-block-content feature text.
  • Opened http://localhost:3003/docs/autoformat and verified the nested > guidance and wrap-based blockquote rule snippet render.
  • Opened http://localhost:3003/docs/examples/preview-markdown and verified the preview example shows > > Nested blockquote. and > - Quoted list item..
  • Screenshots: /Users/zbeyens/.dev-browser/tmp/editor-ai-nested-blockquote.png, /Users/zbeyens/.dev-browser/tmp/blockquote-docs-nested.png, /Users/zbeyens/.dev-browser/tmp/autoformat-docs-nested.png, /Users/zbeyens/.dev-browser/tmp/preview-markdown-nested.png

✅ Outcome

  • Keeps the blockquote redesign honest across the main apps/www surfaces instead of leaving stale single-paragraph quote examples behind.
  • Updates editor seeds, blockquote docs, autoformat docs, preview markdown examples, and markdown paste guidance to show real container quotes with nested structure.
  • Shows nested blockquotes and quoted list items in the examples users actually copy from.
  • Regenerates the affected apps/www/public/r/*.json outputs so the rendered docs and demos match the source values.

⚠️ Caveat

  • This is example/docs parity, not a full behavior matrix. It fixes the user-facing references that were still teaching the old flat quote shape.

🏗️ Design

  • Chosen seam: update the primary examples and docs that define user expectations.
  • Why not leave the old toy examples: once blockquote became a real container, flat examples turned into bad documentation.
  • Why include markdown surfaces too: nested quotes and quoted lists are where users will notice the contract fastest, so the docs need to show the actual syntax.

🧪 Verified

  • pnpm turbo build --filter=./apps/www
  • pnpm turbo typecheck --filter=./apps/www
  • pnpm lint:fix
  • pnpm check

@zbeyens zbeyens requested a review from a team April 1, 2026 22:47
@codesandbox
Copy link
Copy Markdown

codesandbox bot commented Apr 1, 2026

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders

Open Preview

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Apr 1, 2026

🦋 Changeset detected

Latest commit: a31b565

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 4 packages
Name Type
@platejs/basic-nodes Major
@platejs/markdown Major
@platejs/ai Major
@platejs/docx-io Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@dosubot dosubot bot added the size:XL This PR changes 500-999 lines, ignoring generated files. label Apr 1, 2026
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 1, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
plate Ready Ready Preview, Comment Apr 2, 2026 8:41am

Request Review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7d89762119

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +33 to +34
inlineNodes.push(child);
});
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Split legacy \n\n quote separators into paragraph blocks

Legacy flat blockquotes from the previous model encoded paragraph breaks as consecutive newline text nodes, but this normalization path appends every non-block child into one inline run and wraps it into a single p. On existing persisted values like [{text:'A'},{text:'\n'},{text:'\n'},{text:'B'}], normalization collapses structure to one paragraph (A\n\nB) instead of two block children, so migration loses block-level paragraph boundaries and no longer preserves the intended container shape.

Useful? React with 👍 / 👎.

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

Labels

plugin:basic-nodes plugin:docx plugin:markdown Markdown deserializer size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

【markdown】deserialized Markdown is wrong when content container blockquote & list

1 participant