gravity-ui/markdown-editor

GitHub: gravity-ui/markdown-editor

一个支持WYSIWYG和标记模式的Markdown编辑器React组件,用于在网页应用中集成灵活的内容编辑功能。

Stars: 398 | Forks: 42

![Markdown编辑器](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/c24df069c0100911.png) # @gravity-ui/markdown-editor · [![npm包](https://img.shields.io/npm/v/@gravity-ui/markdown-editor)](https://www.npmjs.com/package/@gravity-ui/markdown-editor) [![CI](https://img.shields.io/github/actions/workflow/status/gravity-ui/markdown-editor/ci.yml?branch=main&label=CI)](https://github.com/gravity-ui/markdown-editor/actions/workflows/ci.yml?query=branch:main) [![发布](https://img.shields.io/github/actions/workflow/status/gravity-ui/markdown-editor/release.yml?branch=main&label=Release)](https://github.com/gravity-ui/markdown-editor/actions/workflows/release.yml?query=branch:main) [![storybook](https://img.shields.io/badge/Storybook-deployed-ff4685)](https://preview.gravity-ui.com/md-editor/) ## 所见即所得和标记模式的Markdown编辑器 MarkdownEditor 是一个处理 Markdown 的强大工具,它结合了 WYSIWYG(所见即所得)和标记模式。这意味着您可以在便捷的可视化模式下创建和编辑内容,同时也能完全控制标记。 ### 🔧 主要功能 - 支持基础的 Markdown 和 [YFM](https://ydocs.tech) 语法。 - 通过 ProseMirror 和 CodeMirror 引擎实现可扩展性。 - 支持在 WYSIWYG 和标记模式下工作,以获得最大灵活性。 ## 安装 ``` npm install @gravity-ui/markdown-editor ``` ### 必需依赖 请注意,要开始使用此包,您的项目还必须安装以下依赖:`@diplodoc/transform`、`react`、`react-dom`、`@gravity-ui/uikit`、`@gravity-ui/components` 以及其他一些。请查阅 `package.json` 的 `peerDependencies` 部分以获取准确信息。 ## 快速入门 Markdown编辑器以一个React钩子(用于创建编辑器实例)和一个渲染视图的组件的形式提供。\ 要设置样式和主题,请参阅 [UIKit文档](https://github.com/gravity-ui/uikit?tab=readme-ov-file#styles)。 ``` import React from 'react'; import {useMarkdownEditor, MarkdownEditorView} from '@gravity-ui/markdown-editor'; function Editor({onSubmit}) { const editor = useMarkdownEditor({allowHTML: false}); React.useEffect(() => { function submitHandler() { // Serialize current content to markdown markup const value = editor.getValue(); onSubmit(value); } editor.on('submit', submitHandler); return () => { editor.off('submit', submitHandler); }; }, [onSubmit]); return ; } ``` 了解更多: - [如何在 Create React App 中集成编辑器](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-getting-started-create-react-app--docs) - [如何为标记模式添加预览](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-getting-started-preview--docs) - [如何添加 HTML 扩展](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-extensions-html-block--docs) - [如何添加 Latex 扩展](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-extensions-latex-extension--docs) - [如何添加 Mermaid 扩展](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-extensions-mermaid-extension--docs) - [如何编写扩展](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-develop-extension-creation--docs) - [如何添加 GPT 扩展](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-extensions-gpt--docs) - [如何在markdown中添加文本绑定扩展](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-develop-extension-with-popup--docs) ### 开发 1. 安装Nodejs环境,版本在 `.nvmrc` 文件中指定。我们推荐使用 [NVM](https://github.com/nvm-sh/nvm) 或类似工具。 2. 安装 [pnpm](https://pnpm.io/installation),版本在 `package.json` 的 "packageManager" 属性中指定。 3. 安装依赖:`pnpm i` 4. 运行 storybook 开发服务器:`pnpm start` ### 国际化 要设置国际化,您只需使用 `configure`: ``` import {configure} from '@gravity-ui/markdown-editor'; configure({ lang: 'ru', }); ``` 别忘了从 [UIKit](https://github.com/gravity-ui/uikit?tab=readme-ov-file#i18n) 和其他UI库调用 `configure()`。 ### 贡献 - [贡献者指南](https://preview.gravity-ui.com/md-editor/?path=/docs/docs-contributing--docs)
标签:CodeMirror, Markdown编辑器, Markdown语法支持, npm包, ProseMirror, React组件, SOC Prime, 代码编辑器, 前端库, 前端开发工具, 可扩展编辑器, 可视化编辑, 实时预览, 开发工具, 所见即所得编辑器, 文本编辑器, 暗色界面, 标记语言编辑器, 编辑器组件, 自动化攻击