当前位置: 首页 > news >正文

Vue3引入markdown编辑器--Bytemd

字节跳动开源了一款markdown编辑器,bytemd,项目地址:GitHub - bytedance/bytemd: ByteMD v1 repository

安装

npm i @bytemd/vue-next

引入方式如下,再main.js中引入样式

import 'bytemd/dist/index.css'

直接封装一个Markdown编辑器

<template><Editor :value="value" :plugins="plugins" @change="handleChange" />
</template><script setup lang="ts">
import gfm from "@bytemd/plugin-gfm";
import { Editor, Viewer } from "@bytemd/vue-next";
import { withDefaults, defineProps } from "vue";
import highlight from "@bytemd/plugin-highlight";const plugins = [gfm(), highlight()];// 定义组件属性类型
interface Props {value: string;handleChange: (v: string) => void;
}const props = withDefaults(defineProps<Props>(), {value: () => "",handleChange: (v: string) => {console.log(v);},
});
</script>

封装一个Markdown展示组件
 

<template><Viewer :value="value" :plugins="plugins" />
</template><script setup lang="ts">
import gfm from "@bytemd/plugin-gfm";
import { Viewer } from "@bytemd/vue-next";
import { withDefaults, defineProps } from "vue";
import highlight from "@bytemd/plugin-highlight";const plugins = [gfm(), highlight()];// 定义组件属性类型
interface Props {value: string;
}const props = withDefaults(defineProps<Props>(), {value: () => "",
});
</script>

接下来就可以在需要用到的地方引入组件就可以了。

 

http://www.lryc.cn/news/252299.html

相关文章:

  • JS实现基数排序
  • 【蓝桥杯】二分查找
  • 大于2T磁盘划分并挂接
  • 蓝桥杯每日一题2023.12.3
  • Nacos源码解读04——服务发现
  • SAP系统邮件功能配置 SCOT <转载>
  • 数据结构——二叉树(相关术语、性质、遍历过程)
  • 详细学习Pyqt5的9种显示控件
  • SpringBoot+vue美食外卖点餐系统的研究与设计
  • 行业分析:轻轨行业发展现状及市场投资前景
  • 智安网络|语音识别技术:从历史到现状与未来展望
  • 揭秘预付费电表怎么无线收费——方便快捷收费
  • OpenCV-Python:图像卷积操作
  • 创建Vue项目
  • T-SQL的多表查询
  • 适合学生备考的护眼台灯有哪些?五款公认优质台灯推荐
  • 机器人学英语
  • 51综合程序03-DS1302时钟
  • redis的缓存击穿,缓存穿透,缓存雪崩
  • AutoHotKey-study
  • Go to do list
  • JWT 认证机制
  • 内核启动时间信息打印
  • Web端专业级H264/H265 直播流播放器实现-JessibucaPro播放器
  • macOS sandbox 文件夹授权
  • CentOS 7安装Java 8
  • 施密特正交
  • 视频号小店怎么起量?实操详解!
  • 如何将unity项目托管到github(快速便捷)
  • ClickHouse(16)ClickHouse日志引擎Log详细解析