vditor的简单使用

本文介绍了vditor编辑器的简单使用,包括如何引入、处理HTML和JS,以及存库和回显的功能。虽然最终选择了富文本编辑器tinymce,但vditor作为一个不错的markdown编辑器,其使用经验值得记录。
摘要由CSDN通过智能技术生成

不推荐,之所以记录是因为找了半天md编辑器,发现这个还不错,然后就去研究,不记录的话就浪费了。这半天的时间了,以后万一又要用,那就可以刚好用的上

官网地址

https://ld246.com/article/1549638745630#static-methods

编辑

引入

  <link href="lib/vditor/dist/index.css" rel="stylesheet" />
<script src="lib/vditor/dist/index.min.js"></script>

html

 <div id="vditor"></div>

js

            var toolbar;
            toolbar = [
                "emoji",
                "headings",
                "bold",
                "italic",
                "strike",
                "link",
                "|",
                "list",
                "ordered-list",
                "check",
                "|",
                "quote",
                "line",
                "code",
                "inline-code",
                "|",
                "upload",
                "record",
                "table",
                "|",
                "export",
                "fullscreen",
                "preview"
            ];
            //挂载到全局
            window.vditor = new Vditor("vditor", {
   

                // 获取焦点方法
                focus(md) {
   
                    document.onkeydown = function () {
   
                        // 判断 Ctrl+S
                        if (event.ctrlKey == true && event.keyCode == 83) {
   
                            alert('触发ctrl+s');
                            // 或者 return false;
                            event.preventDefault();
                        }
                    }
                },
                // _lutePath: "lib/vditor-3.7.3/src/js/lute/lute.min.js",
                // 这个是自定义导航栏
                toolbar,
                // 全屏选项
                fullscreen: {
   
                    index: 9999,
                },
                // 展示模式
                mode: "ir",
                //编辑器高度
                // height: window.innerHeight,
                // height: screen.height,
                height: 300,
                //是否展示大纲,手机端自动隐藏就行了
                outline: true,
                //打印调试信息
                debugger: false,
                //是否启动打字机模式(没弄明白这个意思)
                typewriterMode: false,
                //默认提示文本
                placeholder: "欢迎使用本博客",

                // 工具栏配置是否隐藏和固定
                toolbarConfig: {
   
                    // 是否固定工具栏
                    pin: false,
                },

                // 是否启用字数统计
                counter: {
   
                    enable: false,
                    type: "text",
                },

                tab: "\t",
                // 文件上传配置
                upload: {
   
                    accept: "image/*,.mp3, .wav, .rar",
                    token: "test",
                    url: "/api/upload/editor",
                    linkToImgUrl: "/api/upload/fetch",
                    filename(name) {
   
                        return name
                            .replace(/[^(a-zA-Z0-9\u4e00-\u9fa5\.)]/g, "")
                            .replace(/[\?\\/:|<>\*\[\]\(\)\$%\{
   \}@~]/g, "")
                            .replace("/\\s/g", "");
                    },
                },
            });

入库处理

在这里插入图片描述
通过这个方法,存库

var cnt = vditor.getValue();

回显

引入

    <link href="lib/vditor/dist/index.css" rel="stylesheet" />
    <script src="lib/vditor/dist/method.min.js"></script>

html

                        <div id="preview"></div>
                        <div id="outline"></div>

js

            const initOutline = () => {
   
                const headingElements = []
                Array.from(document.getElementById('preview').children).forEach((item) => {
   
                    if (item.tagName.length === 2 && item.tagName !== 'HR' && item.tagName.indexOf('H') === 0) {
   
                        headingElements.push(item)
                    }
                })

                let toc 
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值