diff --git a/demos/src/Nodes/CodeBlockLowlight/React/index.html b/demos/src/Nodes/CodeBlockLowlight/React/index.html new file mode 100644 index 00000000..4e1f93df --- /dev/null +++ b/demos/src/Nodes/CodeBlockLowlight/React/index.html @@ -0,0 +1,15 @@ + + +
+ + + + + + + + diff --git a/demos/src/Nodes/CodeBlockLowlight/React/index.jsx b/demos/src/Nodes/CodeBlockLowlight/React/index.jsx new file mode 100644 index 00000000..90d81b3a --- /dev/null +++ b/demos/src/Nodes/CodeBlockLowlight/React/index.jsx @@ -0,0 +1,70 @@ +import React from 'react' +import { useEditor, EditorContent } from '@tiptap/react' +import Document from '@tiptap/extension-document' +import Paragraph from '@tiptap/extension-paragraph' +import Text from '@tiptap/extension-text' +import CodeBlockLowlight from '@tiptap/extension-code-block-lowlight' +// load all highlight.js languages +import lowlight from 'lowlight' + +// load specific languages only +// import lowlight from 'lowlight/lib/core' +// import javascript from 'highlight.js/lib/languages/javascript' +// lowlight.registerLanguage('javascript', javascript) + +import './styles.scss' + +export default () => { + const editor = useEditor({ + extensions: [ + Document, + Paragraph, + Text, + CodeBlockLowlight.configure({ + lowlight, + }), + ], + content: ` ++ That’s a boring paragraph followed by a fenced code block: +
+for (var i=1; i <= 20; i++)
+{
+ if (i % 15 == 0)
+ console.log("FizzBuzz");
+ else if (i % 3 == 0)
+ console.log("Fizz");
+ else if (i % 5 == 0)
+ console.log("Buzz");
+ else
+ console.log(i);
+}
+ + Press Command/Ctrl + Enter to leave the fenced code block and continue typing in boring paragraphs. +
+ `, + }) + + if (!editor) { + return null + } + + return ( + <> + + + +