在 vue 3 中使用 markdown 编辑器

Posted 搬砖达人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在 vue 3 中使用 markdown 编辑器相关的知识,希望对你有一定的参考价值。

安装

# 使用 npm
npm i @kangc/v-md-editor@next -S

# 使用yarn
yarn add @kangc/v-md-editor@next

引入组件

import { creatApp } from \'vue\';
import VMdEditor from \'@kangc/v-md-editor\';
import \'@kangc/v-md-editor/lib/style/base-editor.css\';
import githubTheme from \'@kangc/v-md-editor/lib/theme/github.js\';
import \'@kangc/v-md-editor/lib/theme/style/github.css\';

VMdEditor.use(githubTheme);

const app = creatApp(/*...*/);

app.use(VMdEditor);

基础用法

<template>
  <v-md-editor v-model="text" height="400px"></v-md-editor>
</template>

<script>
import { ref } from \'vue\';

export default {
    setup () {
        const text = ref(\'\');

        return {
            text
        }
    }
}
</script>

保存后的 markdown 文本如何渲染在页面上?

如果你的项目中引入了编辑器。你可以直接使用编辑器的预览模式来渲染。例如:

  1. 渲染 markdown 文本

如果你的项目中引入了编辑器。你可以直接使用编辑器的预览模式来渲染。例如:

<template>
  <v-md-editor :value="markdown" mode="preview"></v-md-editor>
</template>

<script>
export default {
  data() {
    return {
      markdown: \'### 标题\',
    };
  },
};
</script>

如果你的项目不需要编辑功能,只需要渲染 markdown 你可以只引入 preview 组件来渲染。例如:

// main.js
import VMdPreview from \'@kangc/v-md-editor/lib/preview\';
import \'@kangc/v-md-editor/lib/style/preview.css\';
// 引入你所使用的主题 此处以 github 主题为例
import githubTheme from \'@kangc/v-md-editor/lib/theme/github\';
import \'@kangc/v-md-editor/lib/theme/style/github.css\';

VMdPreview.use(githubTheme);
Vue.use(VMdPreview);
<template>
  <v-md-preview :text="markdown"></v-md-preview>
</template>

<script>
export default {
  data() {
    return {
      markdown: \'### 标题\',
    };
  },
};
</script>
  1. 渲染 html 文本

如果你的项目不需要编辑功能,只需要渲染 html 你可以只引入 preview-html 组件来渲染。例如:

// main.js
import VMdPreviewHtml from \'@kangc/v-md-editor/lib/preview-html\';
import \'@kangc/v-md-editor/lib/style/preview-html.css\';

// 引入使用主题的样式
import \'@kangc/v-md-editor/lib/theme/style/vuepress\';

Vue.use(VMdPreviewHtml);
<template>
  <!-- preview-class 为主题的样式类名,例如vuepress就是vuepress-markdown-body -->
  <v-md-preview-html :html="html" preview-class="vuepress-markdown-body"></v-md-preview-html>
</template>

<script>
export default {
  data() {
    return {
      html: \'<div data-v-md-line="1"><h1 align="center">Markdown Editor built on Vue</h1>\',
    };
  },
};
</script>

更多高级用法参考官方文档:v-md-editor

以上是关于在 vue 3 中使用 markdown 编辑器的主要内容,如果未能解决你的问题,请参考以下文章

Vue中使用markdown

Vue实战开发二(个人中心实现)

Vuejs 中使用 markdown

vue项目解析markdown文件

Markdown 和 Markup

给vue添加一个超级好用的富文本编辑器 markdown