refac: rich text input

This commit is contained in:
Timothy Jaeryang Baek 2024-12-01 14:49:10 -08:00
parent 1c078bdb55
commit 0055f3dcb6

View File

@ -191,9 +191,14 @@
onTransaction: () => {
// force re-render so `editor.isActive` works as expected
editor = editor;
const newValue = turndownService.turndown(
preserveBreaks ? editor.getHTML().replace(/<p><\/p>/g, '<br/>') : editor.getHTML()
);
const newValue = turndownService
.turndown(
(preserveBreaks
? editor.getHTML().replace(/<p><\/p>/g, '<br/>')
: editor.getHTML()
).replace(/ {2,}/g, (m) => m.replace(/ /g, '\u00a0'))
)
.replace(/\u00a0/g, ' ');
if (value !== newValue) {
value = newValue;
@ -332,9 +337,14 @@
$: if (
editor &&
value !==
turndownService.turndown(
preserveBreaks ? editor.getHTML().replace(/<p><\/p>/g, '<br/>') : editor.getHTML()
turndownService
.turndown(
(preserveBreaks
? editor.getHTML().replace(/<p><\/p>/g, '<br/>')
: editor.getHTML()
).replace(/ {2,}/g, (m) => m.replace(/ /g, '\u00a0'))
)
.replace(/\u00a0/g, ' ')
) {
editor.commands.setContent(
marked.parse(value.replaceAll(`\n<br/>`, `<br/>`), {