WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Conversation

@bdbch
Copy link
Member

@bdbch bdbch commented Nov 19, 2025

Changes Overview

Fixed an issue where blockquotes rendered by the @tiptap/static-renderer markdown serializer were missing a trailing newline. This caused blockquotes to merge with subsequent content (e.g., paragraphs) instead of being properly separated.

Implementation Approach

Updated the blockquote serialization logic in packages/static-renderer/src/pm/markdown/markdown.ts to append a newline (\n) to the end of the rendered blockquote string.

Testing Done

  • Added a regression test in tests/cypress/integration/static-renderer/md-string.spec.ts that specifically checks for proper separation between a blockquote and a following paragraph.
  • Verified the fix by running the new test case via pnpx cypress run.

Verification Steps

Run the static renderer markdown tests:

pnpx cypress run --spec tests/cypress/integration/static-renderer/md-string.spec.ts --project tests

Additional Notes

The issue was specific to the static-renderer package and did not affect the main markdown extension.

Checklist

  • I have created a changeset for this PR if necessary.
  • My changes do not break the library.
  • I have added tests where applicable.
  • I have followed the project guidelines.
  • I have fixed any lint issues.

Related Issues

Fixes #7223

Copilot AI review requested due to automatic review settings November 19, 2025 02:52
@changeset-bot
Copy link

changeset-bot bot commented Nov 19, 2025

🦋 Changeset detected

Latest commit: 1d3b9e4

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

This PR includes changesets to release 70 packages
Name Type
@tiptap/static-renderer Patch
@tiptap/core Patch
@tiptap/extension-blockquote Patch
@tiptap/extension-bold Patch
@tiptap/extension-bubble-menu Patch
@tiptap/extension-bullet-list Patch
@tiptap/extension-code-block-lowlight Patch
@tiptap/extension-code-block Patch
@tiptap/extension-code Patch
@tiptap/extension-collaboration-caret Patch
@tiptap/extension-collaboration Patch
@tiptap/extension-color Patch
@tiptap/extension-details Patch
@tiptap/extension-document Patch
@tiptap/extension-drag-handle-react Patch
@tiptap/extension-drag-handle-vue-2 Patch
@tiptap/extension-drag-handle-vue-3 Patch
@tiptap/extension-drag-handle Patch
@tiptap/extension-emoji Patch
@tiptap/extension-file-handler Patch
@tiptap/extension-floating-menu Patch
@tiptap/extension-font-family Patch
@tiptap/extension-hard-break Patch
@tiptap/extension-heading Patch
@tiptap/extension-highlight Patch
@tiptap/extension-horizontal-rule Patch
@tiptap/extension-image Patch
@tiptap/extension-invisible-characters Patch
@tiptap/extension-italic Patch
@tiptap/extension-link Patch
@tiptap/extension-list Patch
@tiptap/extension-mathematics Patch
@tiptap/extension-mention Patch
@tiptap/extension-node-range Patch
@tiptap/extension-ordered-list Patch
@tiptap/extension-paragraph Patch
@tiptap/extension-strike Patch
@tiptap/extension-subscript Patch
@tiptap/extension-superscript Patch
@tiptap/extension-table-of-contents Patch
@tiptap/extension-table Patch
@tiptap/extension-text-align Patch
@tiptap/extension-text-style Patch
@tiptap/extension-text Patch
@tiptap/extension-typography Patch
@tiptap/extension-underline Patch
@tiptap/extension-unique-id Patch
@tiptap/extension-youtube Patch
@tiptap/extensions Patch
@tiptap/html Patch
@tiptap/markdown Patch
@tiptap/pm Patch
@tiptap/react Patch
@tiptap/starter-kit Patch
@tiptap/suggestion Patch
@tiptap/vue-2 Patch
@tiptap/vue-3 Patch
@tiptap/extension-character-count Patch
@tiptap/extension-dropcursor Patch
@tiptap/extension-focus Patch
@tiptap/extension-gapcursor Patch
@tiptap/extension-history Patch
@tiptap/extension-list-item Patch
@tiptap/extension-list-keymap Patch
@tiptap/extension-placeholder Patch
@tiptap/extension-table-cell Patch
@tiptap/extension-table-header Patch
@tiptap/extension-table-row Patch
@tiptap/extension-task-item Patch
@tiptap/extension-task-list Patch

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

@netlify
Copy link

netlify bot commented Nov 19, 2025

Deploy Preview for tiptap-embed ready!

Name Link
🔨 Latest commit 1d3b9e4
🔍 Latest deploy log https://app.netlify.com/projects/tiptap-embed/deploys/691d3137ab6a220008c2fb37
😎 Deploy Preview https://deploy-preview-7245--tiptap-embed.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copilot finished reviewing on behalf of bdbch November 19, 2025 02:53
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR fixes a bug where blockquotes rendered by the @tiptap/static-renderer markdown serializer were missing a trailing newline, causing them to merge incorrectly with subsequent content.

Key changes:

  • Added a trailing \n to the blockquote serialization logic
  • Added a regression test to verify proper separation between blockquotes and following paragraphs

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
packages/static-renderer/src/pm/markdown/markdown.ts Fixed blockquote serializer to append a trailing newline, ensuring proper markdown formatting
tests/cypress/integration/static-renderer/md-string.spec.ts Added test case verifying blockquote-paragraph separation with the expected output format

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Nov 19, 2025

Open in StackBlitz

@tiptap/extension-dropcursor

npm i https://pkg.pr.new/@tiptap/extension-dropcursor@7245

@tiptap/extension-character-count

npm i https://pkg.pr.new/@tiptap/extension-character-count@7245

@tiptap/extension-gapcursor

npm i https://pkg.pr.new/@tiptap/extension-gapcursor@7245

@tiptap/extension-focus

npm i https://pkg.pr.new/@tiptap/extension-focus@7245

@tiptap/extension-list-item

npm i https://pkg.pr.new/@tiptap/extension-list-item@7245

@tiptap/extension-history

npm i https://pkg.pr.new/@tiptap/extension-history@7245

@tiptap/extension-list-keymap

npm i https://pkg.pr.new/@tiptap/extension-list-keymap@7245

@tiptap/extension-placeholder

npm i https://pkg.pr.new/@tiptap/extension-placeholder@7245

@tiptap/extension-table-cell

npm i https://pkg.pr.new/@tiptap/extension-table-cell@7245

@tiptap/extension-table-header

npm i https://pkg.pr.new/@tiptap/extension-table-header@7245

@tiptap/extension-table-row

npm i https://pkg.pr.new/@tiptap/extension-table-row@7245

@tiptap/extension-task-item

npm i https://pkg.pr.new/@tiptap/extension-task-item@7245

@tiptap/core

npm i https://pkg.pr.new/@tiptap/core@7245

@tiptap/extension-task-list

npm i https://pkg.pr.new/@tiptap/extension-task-list@7245

@tiptap/extension-blockquote

npm i https://pkg.pr.new/@tiptap/extension-blockquote@7245

@tiptap/extension-bold

npm i https://pkg.pr.new/@tiptap/extension-bold@7245

@tiptap/extension-bullet-list

npm i https://pkg.pr.new/@tiptap/extension-bullet-list@7245

@tiptap/extension-code

npm i https://pkg.pr.new/@tiptap/extension-code@7245

@tiptap/extension-bubble-menu

npm i https://pkg.pr.new/@tiptap/extension-bubble-menu@7245

@tiptap/extension-code-block-lowlight

npm i https://pkg.pr.new/@tiptap/extension-code-block-lowlight@7245

@tiptap/extension-code-block

npm i https://pkg.pr.new/@tiptap/extension-code-block@7245

@tiptap/extension-collaboration

npm i https://pkg.pr.new/@tiptap/extension-collaboration@7245

@tiptap/extension-collaboration-caret

npm i https://pkg.pr.new/@tiptap/extension-collaboration-caret@7245

@tiptap/extension-color

npm i https://pkg.pr.new/@tiptap/extension-color@7245

@tiptap/extension-details

npm i https://pkg.pr.new/@tiptap/extension-details@7245

@tiptap/extension-document

npm i https://pkg.pr.new/@tiptap/extension-document@7245

@tiptap/extension-drag-handle

npm i https://pkg.pr.new/@tiptap/extension-drag-handle@7245

@tiptap/extension-drag-handle-vue-2

npm i https://pkg.pr.new/@tiptap/extension-drag-handle-vue-2@7245

@tiptap/extension-drag-handle-react

npm i https://pkg.pr.new/@tiptap/extension-drag-handle-react@7245

@tiptap/extension-drag-handle-vue-3

npm i https://pkg.pr.new/@tiptap/extension-drag-handle-vue-3@7245

@tiptap/extension-floating-menu

npm i https://pkg.pr.new/@tiptap/extension-floating-menu@7245

@tiptap/extension-emoji

npm i https://pkg.pr.new/@tiptap/extension-emoji@7245

@tiptap/extension-file-handler

npm i https://pkg.pr.new/@tiptap/extension-file-handler@7245

@tiptap/extension-font-family

npm i https://pkg.pr.new/@tiptap/extension-font-family@7245

@tiptap/extension-hard-break

npm i https://pkg.pr.new/@tiptap/extension-hard-break@7245

@tiptap/extension-heading

npm i https://pkg.pr.new/@tiptap/extension-heading@7245

@tiptap/extension-highlight

npm i https://pkg.pr.new/@tiptap/extension-highlight@7245

@tiptap/extension-horizontal-rule

npm i https://pkg.pr.new/@tiptap/extension-horizontal-rule@7245

@tiptap/extension-image

npm i https://pkg.pr.new/@tiptap/extension-image@7245

@tiptap/extension-invisible-characters

npm i https://pkg.pr.new/@tiptap/extension-invisible-characters@7245

@tiptap/extension-italic

npm i https://pkg.pr.new/@tiptap/extension-italic@7245

@tiptap/extension-link

npm i https://pkg.pr.new/@tiptap/extension-link@7245

@tiptap/extension-list

npm i https://pkg.pr.new/@tiptap/extension-list@7245

@tiptap/extension-mathematics

npm i https://pkg.pr.new/@tiptap/extension-mathematics@7245

@tiptap/extension-node-range

npm i https://pkg.pr.new/@tiptap/extension-node-range@7245

@tiptap/extension-ordered-list

npm i https://pkg.pr.new/@tiptap/extension-ordered-list@7245

@tiptap/extension-mention

npm i https://pkg.pr.new/@tiptap/extension-mention@7245

@tiptap/extension-paragraph

npm i https://pkg.pr.new/@tiptap/extension-paragraph@7245

@tiptap/extension-strike

npm i https://pkg.pr.new/@tiptap/extension-strike@7245

@tiptap/extension-subscript

npm i https://pkg.pr.new/@tiptap/extension-subscript@7245

@tiptap/extension-table

npm i https://pkg.pr.new/@tiptap/extension-table@7245

@tiptap/extension-superscript

npm i https://pkg.pr.new/@tiptap/extension-superscript@7245

@tiptap/extension-table-of-contents

npm i https://pkg.pr.new/@tiptap/extension-table-of-contents@7245

@tiptap/extension-text-align

npm i https://pkg.pr.new/@tiptap/extension-text-align@7245

@tiptap/extension-text

npm i https://pkg.pr.new/@tiptap/extension-text@7245

@tiptap/extension-text-style

npm i https://pkg.pr.new/@tiptap/extension-text-style@7245

@tiptap/extension-typography

npm i https://pkg.pr.new/@tiptap/extension-typography@7245

@tiptap/extension-underline

npm i https://pkg.pr.new/@tiptap/extension-underline@7245

@tiptap/extension-unique-id

npm i https://pkg.pr.new/@tiptap/extension-unique-id@7245

@tiptap/extension-youtube

npm i https://pkg.pr.new/@tiptap/extension-youtube@7245

@tiptap/extensions

npm i https://pkg.pr.new/@tiptap/extensions@7245

@tiptap/html

npm i https://pkg.pr.new/@tiptap/html@7245

@tiptap/markdown

npm i https://pkg.pr.new/@tiptap/markdown@7245

@tiptap/pm

npm i https://pkg.pr.new/@tiptap/pm@7245

@tiptap/react

npm i https://pkg.pr.new/@tiptap/react@7245

@tiptap/starter-kit

npm i https://pkg.pr.new/@tiptap/starter-kit@7245

@tiptap/static-renderer

npm i https://pkg.pr.new/@tiptap/static-renderer@7245

@tiptap/vue-2

npm i https://pkg.pr.new/@tiptap/vue-2@7245

@tiptap/suggestion

npm i https://pkg.pr.new/@tiptap/suggestion@7245

@tiptap/vue-3

npm i https://pkg.pr.new/@tiptap/vue-3@7245

commit: 1d3b9e4

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants