官网地址:https://bytemd.js.org/playground
GitHub地址:https://github.com/bytedance/bytemd
ByteMD 是字节跳动出品的富文本编辑器,功能强大,可以免费使用,而且支持很多掘金内置的主题,写作体验很棒。
ByteMD 编辑器使用 Svelte 框架开发,支持原生、Vue、React、Svelte 框架集成,几乎适用于所有前端开发人员。
有两个组件:Editor 和 Viewer。Editor 顾名思义就是 Markdown 编辑器;Viewer 通常用于显示渲染的 Markdown 结果,无需编辑。
安装:
npm install @bytemd/vue-next
# 安装辅助插件,例如gfm(表格支持)插件、highlight 代码高亮插件、GitHub风格的Markdown CSS框架
npm install @bytemd/plugin-gfm
npm install @bytemd/plugin-highlight
npm install github-markdown-css
封装组件
MdViewer.vue
<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>
使用
import MdViewer from "./MdViewer.vue";
<md-viewer :value="mdContent" />
效果: