@bytemd/vue-next Markdown编辑器的使用

        1.工具介绍

                bytemd 是掘金开源的markdown编辑器, github地址 

        2.使用

                2.1 @bytemd/vue-next的下载安装
下载依赖
npm install @bytemd/vue-next

使用
<template>
  <Editor :value="value" :plugins="plugins" :locale="zhHans" @change="handleChange" />
</template>

<script>
import { Editor, Viewer } from '@bytemd/vue'
// 样式 
import 'bytemd/dist/index.css'
// 基础的汉化
import zhHans from "bytemd/lib/locales/zh_Hans.json"; //

const plugins = [
]

export default {
  components: { Editor },
  data() {
    return { value: '', plugins }
  },
  methods: {
    handleChange(v) {
      this.value = v
    },
  },
}
</script>

        3.插件的介绍以及使用

// gfm插件
import gfm from "@bytemd/plugin-gfm";
import gfmLocale from "@bytemd/plugin-gfm/locales/zh_Hans.json";
// 支持中断
import breaks from "@bytemd/plugin-breaks";
// 解析前言 格式化
import frontmatter from "@bytemd/plugin-frontmatter";
// 表情
import gemoji from "@bytemd/plugin-gemoji";
// 突出显示代码块
import highlight from "@bytemd/plugin-highlight";
import "highlight.js/styles/default.css";
// 数学公式插件
import math from "@bytemd/plugin-math";
import mathLocale from "@bytemd/plugin-math/locales/zh_Hans.json";
import "katex/dist/katex.css";
// 缩放图片 点击图片放大,再点击缩小
import mediumZoom from "@bytemd/plugin-medium-zoom";
// 图表
import mermaid from "@bytemd/plugin-mermaid";
import mermaidLocale from "@bytemd/plugin-mermaid/locales/zh_Hans.json";
// 主题
import theme from "bytemd-plugin-theme";
// 代码高亮
import highLightPlugin from "bytemd-plugin-highlight";
// 对齐方式
import alignPlugin from "bytemd-plugin-align";
// 图片的缩放
import imagePlugin from "bytemd-plugin-image";
// 代码复制
import copyCode from "bytemd-plugin-copy-code";
import "bytemd-plugin-copy-code/dist/style/index.css";

const plugins = [
  // 作用 删除线,任务列表,表格
  gfm({
    locale: gfmLocale,
  }),
  // 作用 数学公式
  math({
    locale: mathLocale,
  }),
  breaks(),
  frontmatter(),
  gemoji(),
  alignPlugin(),
  mediumZoom(),
  mermaid({
    locale: mermaidLocale,
  }),
  highlight(),
  theme(),
  highLightPlugin(),
  imagePlugin(),
  copyCode({
    copySuccess: (text) => {
      console.log("复制成功");
    },
    copyError: (err) => {},
    copyRight: "",
  }),
];

        4.插件的下载

@bytemd/plugin-gfm

@bytemd/plugin-breaks

@bytemd/plugin-frontmatter

@bytemd/plugin-gemoji

@bytemd/plugin-highlight"

@bytemd/plugin-math

@bytemd/plugin-medium-zoom

@bytemd/plugin-mermaid

bytemd-plugin-theme

bytemd-plugin-highlight

bytemd-plugin-align

bytemd-plugin-image

bytemd-plugin-copy-code

        5.上传图片的介绍

               配置 uploadImages 属性接受一个函数, 函数需要返回一个特定格式的数组



使用
<template>
  <Editor
    :value="value"
    :plugins="plugins"
    :locale="zhHans"
    @change="handleChange"
    :uploadImages="uploadImage"
  />
</template>

<script>
import { Editor, Viewer } from "@bytemd/vue";
// 样式
import "bytemd/dist/index.css";
// 基础的汉化
import zhHans from "bytemd/lib/locales/zh_Hans.json"; //

const plugins = [];

export default {
  components: { Editor },
  data() {
    return { value: "", plugins };
  },
  methods: {
    handleChange(v) {
      this.value = v;
    },
    uploadImage(e) {
      return new Promise((resolve, reject) => {
        你的接口(e[0]).then((res) => {
          resolve([
            {
              alt: e[0].name,
              url: res.url,
              title: e[0].name,
            },
          ]);
        });
      });
    },
  },
};
</script>

        最后的代码高亮,图片缩放,代码复制,主题插件,感谢作者作者文章地址

### 在 Vue 3 中引入和配置 Markdown 编辑器 对于希望在 Vue 3 项目中集成 Markdown 编辑器的需求,可以考虑使用 `bytemd` 这一由字节跳动开源的 Markdown 富文本编辑器[^2]。此编辑器不仅具备简洁美观的 UI 设计,还提供了丰富的功能来增强用户体验。 #### 安装 bytemd 首先,在终端执行命令安装必要的依赖包: ```bash npm install @bytefly/bytemd-vue@next vue@next ``` #### 配置 main.js 文件 接着,在项目的入口文件 `main.js` 或者对应的 TypeScript 文件里注册插件并导入样式表: ```javascript import { createApp } from 'vue' import App from './App.vue' // 引入 Bytemd 组件库及其默认主题样式 import Bytemd, { toolbar, gfm } from '@bytefly/bytemd-vue/lib/default' import '@bytefly/bytemd-vue/lib/style.css' const app = createApp(App) app.use(Bytemd, { plugins: [ toolbar(), gfm() ] }) app.mount('#app') ``` 上述代码片段实现了对 `Bytemd` 插件的支持以及一些常用插件(如工具栏、GitHub Flavored Markdown 支持)的加载。 #### 使用组件 最后,在模板文件中可以直接调用 `<bytemd>` 标签作为 Markdown 编辑区域,并可根据实际需求传递属性给它来进行个性化设置。 ```html <template> <div id="editor"> <!-- 创建一个简单的 Markdown 编辑器 --> <bytemd v-model="content"></bytemd> </div> </template> <script setup lang="ts"> import { ref } from 'vue'; let content = ref('') // 初始内容为空字符串 </script> ``` 这样就完成了一个基本的 Markdown 编辑器集成过程。当然还可以进一步探索官方文档获取更多高级特性与自定义选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是大刚啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值