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

效果:

相关推荐
麦兜*1 小时前
轮播图带详情插件、uniApp插件
前端·javascript·uni-app·vue
veminhe1 小时前
uni-app使用组件button遇到的问题
uni-app·vue
cronaldo912 小时前
研发效能DevOps: Vite 使用 Element Plus
vue.js·vue·devops
weixin_423196174 小时前
VSCode+WSL作为IDE开发和管理深度学习项目
ide·vscode·编辑器
乐闻x4 小时前
VSCode 插件开发实战(八):创建和管理任务 Task
ide·vscode·编辑器
神洛华6 小时前
Y3地图制作1:水果缤纷乐、密室逃脱
编辑器·游戏引擎·游戏程序
暮暮七6 小时前
理想很丰满的Ollama-OCR
linux·python·大模型·ocr·markdown·ollama
yg_小小程序员14 小时前
vue3中使用vuedraggable实现拖拽
typescript·vue
一棵开花的树,枝芽无限靠近你17 小时前
【PPTist】组件结构设计、主题切换
前端·笔记·学习·编辑器
川石教育18 小时前
Vue前端开发-缓存优化
前端·javascript·vue.js·缓存·前端框架·vue·数据缓存