Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions src/nodes/CodeBlock.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,19 @@ import TiptapCodeBlock from '@tiptap/extension-code-block'
import { defaultMarkdownSerializer } from 'prosemirror-markdown'

const CodeBlock = TiptapCodeBlock.extend({

parseHTML() {
return [
{
tag: 'pre',
preserveWhitespace: 'full',
// Remove trailing newline from code blocks (Github issue #2344)
// Remove trailing newline from code blocks (#2344)
getContent: (node, schema) => {
return schema.nodes.codeBlock.create(null, [schema.text(node.textContent.replace(/\n$/, ''))])
const textContent = node.textContent.replace(/\n$/, '')
const inner = textContent
? [schema.text(textContent)]
: []
return schema.nodes.codeBlock.create(null, inner)
},
},
]
Expand Down
2 changes: 2 additions & 0 deletions src/tests/markdown.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,8 @@ describe('Markdown though editor', () => {
expect(markdownThroughEditor('```\n<?php echo "Hello World";\n```')).toBe('```\n<?php echo "Hello World";\n```')
// Issue #3328
expect(markdownThroughEditor('```python\nprint("Hello World")\n```')).toBe('```python\nprint("Hello World")\n```')
// Issue #3739
expect(markdownThroughEditor('```\n```')).toBe('```\n```')
})
test('markdown untouched', () => {
// Issue #2703
Expand Down