综合 这是一款支持Vue3和React的开源Markdown富文本编辑器,提供实时预览、丰富的编辑功能和高度自定义选项

2024-11-19 06:43:02 +0800 CST views 891

超级实用的富文本编辑器组件!同时支持Vue3、React

Markdown富文本编辑器对于开发者的重要性毋庸置疑。无论是文档管理、博客,还是文章编辑,都会使用到它。今天我想给大家介绍一款超级好用的开源Markdown编辑器,让你能够轻松将富文本编辑功能集成到自己的应用程序中。

编辑器简介

这款编辑器有两个版本:

  • md-editor-v3:适用于Vue3项目。
  • md-editor-rt:适用于React项目。

这两个版本是同系列项目,均使用JSX和TypeScript语法开发,支持在TSX项目中使用。

主要特点

  • 实时预览?:编辑器提供了实时预览功能,用户在编写时可以即时看到渲染后的效果,提升编辑体验。
  • 丰富的编辑功能?:支持基本的Markdown语法和扩展功能,如标题、列表、代码块、链接、图片、表格、任务列表和数学公式等。
  • 高度自定义⛱️:用户可以通过配置选项自定义编辑器的外观和行为。内置的白色和暗黑主题,多种样式预览,多种代码主题等。
  • 快捷键插入内容?:支持快捷键插入内容;支持使用Prettier格式化内容。
  • 现代界面设计?:采用现代的界面设计,注重用户体验和操作便捷性,界面清爽且易于使用。

预览图

images

安装和使用

以下是如何在Vue3项目中使用该编辑器的示例:

安装

yarn add md-editor-v3

使用已存在的语言、主题扩展(例如:日语)

yarn add @vavt/cm-extension

使用更多的扩展工具栏组件(例如:导出内容为PDF)

yarn add @vavt/v3-extension

在组件中使用

编辑器模式

<template>
  <MdEditor v-model="text" />
</template>

<script setup>
import { ref } from 'vue';
import { MdEditor } from 'md-editor-v3';
import 'md-editor-v3/lib/style.css';

const text = ref('# Hello Editor');
</script>

仅预览模式

<template>
  <MdPreview :editorId="id" :modelValue="text" />
  <MdCatalog :editorId="id" :scrollElement="scrollElement" />
</template>

<script setup>
import { ref } from 'vue';
import { MdPreview, MdCatalog } from 'md-editor-v3';
import 'md-editor-v3/lib/preview.css';

const id = 'preview-only';
const text = ref('# Hello Editor');
const scrollElement = document.documentElement;
</script>

相关链接

推荐文章

Vue3中如何处理异步操作?
2024-11-19 04:06:07 +0800 CST
Manticore Search:高性能的搜索引擎
2024-11-19 03:43:32 +0800 CST
前端代码规范 - 图片相关
2024-11-19 08:34:48 +0800 CST
Vue 3 路由守卫详解与实战
2024-11-17 04:39:17 +0800 CST
git使用笔记
2024-11-18 18:17:44 +0800 CST
PHP 如何输出带微秒的时间
2024-11-18 01:58:41 +0800 CST
PHP 微信红包算法
2024-11-17 22:45:34 +0800 CST
H5抖音商城小黄车购物系统
2024-11-19 08:04:29 +0800 CST
Java环境中使用Elasticsearch
2024-11-18 22:46:32 +0800 CST
JavaScript数组 splice
2024-11-18 20:46:19 +0800 CST
在 Rust 中使用 OpenCV 进行绘图
2024-11-19 06:58:07 +0800 CST
动态渐变背景
2024-11-19 01:49:50 +0800 CST
WebSocket在消息推送中的应用代码
2024-11-18 21:46:05 +0800 CST
如何在Vue3中定义一个组件?
2024-11-17 04:15:09 +0800 CST
Vue中的异步更新是如何实现的?
2024-11-18 19:24:29 +0800 CST
Rust 与 sqlx:数据库迁移实战指南
2024-11-19 02:38:49 +0800 CST
Vue3的虚拟DOM是如何提高性能的?
2024-11-18 22:12:20 +0800 CST
禁止调试前端页面代码
2024-11-19 02:17:33 +0800 CST
小技巧vscode去除空格方法
2024-11-17 05:00:30 +0800 CST
Vue3中的响应式原理是什么?
2024-11-19 09:43:12 +0800 CST
Git 常用命令详解
2024-11-18 16:57:24 +0800 CST
Go语言中的`Ring`循环链表结构
2024-11-19 00:00:46 +0800 CST
程序员茄子在线接单