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" />

效果:

相关推荐
尾善爱看海4 小时前
Vue 面试收官篇:SSR、性能优化落地、30 道高频面试题精讲(附标准答案)
前端·javascript·vue.js·面试·vue
caoerzhong10 小时前
JeeWMS 开源仓库管理系统 GPL-3.0 合规指南:Java WMS 二次开发前必须弄清的授权边界
java·开发语言·开源·vue
MR.P_H_14 小时前
CCS(Code Composer Studio)修改编码格式
编辑器
caoerzhong1 天前
JeeWMS 开源仓库管理系统权限与域验证解析:Java WMS 如何把数据权限管到仓、货主与人
java·python·开源·vue
caoerzhong1 天前
JeeWMS 开源仓库管理系统多租户架构解析:一套 Java WMS 如何同时服务多个货主与多个仓库
java·架构·开源·vue
ynchyong1 天前
VUE 中 不能将类型“R[]”分配给类型“UnwrapRefSimple<R>[]”
typescript·vue·ts·unwraprefsimple
Leaderxin2 天前
还在用 Electron?6 种跨平台桌面方案横评:Rust + Vue 把安装包从 224MB 干到 4.7MB
rust·vue·跨平台·tauri·桌面应用
YWL2 天前
vue-time-axis-plus进阶:双进度条+跨空白续播+播放指针,打造专业级监控回放体验
前端·javascript·vue·时间轴
golang学习记2 天前
Zed 新特性:这次继续抄VSCode
vscode·编辑器·zed
javgo.cn3 天前
Markune:一个开源的 Local-first Markdown 工作区
笔记·编辑器