1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| import React from 'react' import { Editor as TuiEditor } from '@toast-ui/react-editor'
import codeSyntaxHighlight from '@toast-ui/editor-plugin-code-syntax-highlight' import hljs from 'highlight.js' import tableMergedCell from '@toast-ui/editor-plugin-table-merged-cell' import colorSyntax from '@toast-ui/editor-plugin-color-syntax' import videoPlugin from '@leeonfield/editor-plugin-video'
import '@toast-ui/editor/dist/i18n/zh-cn'
import 'codemirror/lib/codemirror.css' import '@toast-ui/editor/dist/toastui-editor.css' import 'tui-color-picker/dist/tui-color-picker.css' import 'highlight.js/styles/github.css'
import javascript from 'highlight.js/lib/languages/javascript' import bash from 'highlight.js/lib/languages/bash' import c from 'highlight.js/lib/languages/c' import cmake from 'highlight.js/lib/languages/cmake' import java from 'highlight.js/lib/languages/java' import json from 'highlight.js/lib/languages/json' import less from 'highlight.js/lib/languages/less' import css from 'highlight.js/lib/languages/css' import php from 'highlight.js/lib/languages/php' import go from 'highlight.js/lib/languages/go' hljs.registerLanguage('javascript', javascript) hljs.registerLanguage('java', java) hljs.registerLanguage('bash', bash) hljs.registerLanguage('c', c) hljs.registerLanguage('cmake', cmake) hljs.registerLanguage('json', json) hljs.registerLanguage('css', css) hljs.registerLanguage('less', less) hljs.registerLanguage('php', php) hljs.registerLanguage('go', go)
const plugins = [ [codeSyntaxHighlight, { hljs }], tableMergedCell, [ colorSyntax, { preset: [ '#1abc9c', '#2ecc71', '#3498db', '#9b59b6', '#34495e', '#f1c40f', '#e67e22', '#e74c3c', '#ecf0f1', '#95a5a6', ], }, ], videoPlugin, ]
export default React.forwardRef((props, ref) => ( <TuiEditor height="500px" previewStyle="vertical" initialEditType="markdown" language="zh-CN" usageStatistics={false} placeholder="输入文档内容" useCommandShortcut={false} plugins={plugins} {...props} ref={ref} /> ))
|