mirror of
https://github.com/docmost/docmost.git
synced 2026-05-26 20:52:44 +08:00
fix: strip html styles on paste
This commit is contained in:
@@ -0,0 +1,20 @@
|
|||||||
|
import { Extension } from "@tiptap/core";
|
||||||
|
import { Plugin, PluginKey } from "@tiptap/pm/state";
|
||||||
|
|
||||||
|
export const CleanStyles = Extension.create({
|
||||||
|
name: "cleanStyles",
|
||||||
|
priority: 80,
|
||||||
|
|
||||||
|
addProseMirrorPlugins() {
|
||||||
|
return [
|
||||||
|
new Plugin({
|
||||||
|
key: new PluginKey("cleanStyles"),
|
||||||
|
props: {
|
||||||
|
transformPastedHTML(html) {
|
||||||
|
return html.replace(/\s+style="[^"]*"/gi, "");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
];
|
||||||
|
},
|
||||||
|
});
|
||||||
@@ -112,6 +112,7 @@ import EmojiCommand from "./emoji-command";
|
|||||||
import { countWords } from "alfaaz";
|
import { countWords } from "alfaaz";
|
||||||
import AutoJoiner from "@/features/editor/extensions/autojoiner.ts";
|
import AutoJoiner from "@/features/editor/extensions/autojoiner.ts";
|
||||||
import GlobalDragHandle from "@/features/editor/extensions/drag-handle.ts";
|
import GlobalDragHandle from "@/features/editor/extensions/drag-handle.ts";
|
||||||
|
import { CleanStyles } from "@/features/editor/extensions/clean-styles.ts";
|
||||||
|
|
||||||
const lowlight = createLowlight(common);
|
const lowlight = createLowlight(common);
|
||||||
lowlight.register("mermaid", plaintext);
|
lowlight.register("mermaid", plaintext);
|
||||||
@@ -383,6 +384,7 @@ export const mainExtensions = [
|
|||||||
MarkdownClipboard.configure({
|
MarkdownClipboard.configure({
|
||||||
transformPastedText: true,
|
transformPastedText: true,
|
||||||
}),
|
}),
|
||||||
|
CleanStyles,
|
||||||
CharacterCount.configure({
|
CharacterCount.configure({
|
||||||
wordCounter: (text) => countWords(text),
|
wordCounter: (text) => countWords(text),
|
||||||
}),
|
}),
|
||||||
|
|||||||
Reference in New Issue
Block a user