Vue3使用markdown编辑器之Bytemd

官网地址:https://bytemd.js.org/playground

GitHub地址:https://github.com/bytedance/bytemd

ByteMD 是字节跳动出品的富文本编辑器,功能强大,可以免费使用,而且支持很多掘金内置的主题,写作体验很棒。

ByteMD 编辑器使用 Svelte 框架开发,支持原生、Vue、React、Svelte 框架集成,几乎适用于所有前端开发人员。

有两个组件:Editor 和 Viewer。Editor 顾名思义就是 Markdown 编辑器;Viewer 通常用于显示渲染的 Markdown 结果,无需编辑。

安装:

shell 复制代码
npm install @bytemd/vue-next
shell 复制代码
# 安装辅助插件,例如gfm(表格支持)插件、highlight 代码高亮插件、GitHub风格的Markdown CSS框架
npm install @bytemd/plugin-gfm
npm install @bytemd/plugin-highlight
npm install github-markdown-css

封装组件

MdViewer.vue

html 复制代码
<template>
	<Viewer :value="value" :plugins="plugins" />
</template>

<script setup lang="ts">
	import { Viewer } from "@bytemd/vue-next";
	import gfm from "@bytemd/plugin-gfm";
	import highlight from "@bytemd/plugin-highlight";
	import "bytemd/dist/index.css";
	import "highlight.js/styles/default.css";
	import "github-markdown-css/github-markdown-light.css";
	// import "github-markdown-css/github-markdown-dark.css";

	const plugins = [
		gfm(), 
		highlight()
	];

	interface Props {
		value : string;
	}

	const props = withDefaults(defineProps<Props>(), {
		value: () => {
			return "";
		},
	});
</script>

使用

html 复制代码
import MdViewer from "./MdViewer.vue";
html 复制代码
<md-viewer :value="mdContent" />

效果:

相关推荐
QL.ql2 天前
vscode的ws环境,esp32s3连接wifi
ide·vscode·编辑器
尚学教辅学习资料2 天前
Vue3从入门到精通: 4.5 数据持久化与同步策略深度解析
vue·数据持久化
_错错错2 天前
Vim 常用快捷键及插件
编辑器·vim·linux 开发工具
大白同学4212 天前
【Linux】编辑器vim的使用
linux·编辑器·vim
星火飞码iFlyCode2 天前
真实案例 | 如何用iFlyCode开发Webpack插件?
java·python·编辑器
东方不败耶耶耶2 天前
Notepad++插件开发实战指南
编辑器
IT毕设实战小研2 天前
Java毕业设计选题推荐 |基于SpringBoot的健身爱好线上互动与打卡社交平台系统 互动打卡小程序系统
java·开发语言·vue.js·spring boot·vue·毕业设计·课程设计
我在北国不背锅2 天前
基于Java的Markdown转Word工具(标题、段落、表格、Echarts图等)
java·word·echarts·markdown
QL.ql2 天前
vscode的wsl环境,ESP32驱动0.96寸oled屏幕
ide·vscode·编辑器
第七种黄昏3 天前
大事件项目拆解:登录访问拦截实现详解
前端框架·vue·js