TUI.Editor Markdown 编辑器基于 JavaScript 使用

编程教程 > WEB > Web Editor (30) 2025-01-16 12:32:16

tui.editor 一款基于MIT开源协议的markdown编辑器,功能好用。

TUI.Editor Markdown 编辑器基于 JavaScript 使用_图示-afff9176b0f14511aed9d665f5f376ee.png
tui.editor

编辑器部分

引入必要文件

<link rel="stylesheet" href="your/path/to/tui@editor/toastui-editor.min.css">
<script src="your/path/to/tui@editor/toastui-editor-all.min.js"></script>
<script src="your/path/to//tui@editor/i18n/zh-cn.js"></script>

三个文件来源,tui.editor cdn下载参考GitHub描述

javascript 版路径:tui.editor/apps/editor at master · nhn/tui.editor · GitHub

TUI.Editor Markdown 编辑器基于 JavaScript 使用_图示-8a7193bf16014b8bb3066403d4276843.png
版本区别

这里只查看原生JavaScript版

TUI.Editor Markdown 编辑器基于 JavaScript 使用_图示-81edde5c33cf4d0ebab699942fedba9b.png
参考cdn和下面的文件结构把必要的文件下载下来。

注意:通过npm -i 下载的没有all.js文件哟。

 

创建tui.editor markdown编辑器

首先在body定义一个div

<div id="editor"></div>

然后JavaScript编写

<script>
		let height = window.innerHeight - 268;//高度自己根据情况来
        const Editor = toastui.Editor;

        let myEditor = new Editor({
            usageStatistics: false,//关闭采集用户数据
            language:'zh-CN',//tui.editor设置中文
            el:document.querySelector('#editor'),//实例化编辑器的原生js对象
            height:height+'px',//高度,注意单位拼接
            initialEditType: 'markdown',//类型
            previewStyle: 'vertical',//布局方式
            initialValue:'md content',//初始化加载的内容(如编辑业务需要设置)

            hooks:{
                //图片上传
                'addImageBlobHook':function (blob,callback){//这里tui的callback需要一个能访问图片的url
                    let formData = new FormData();
                    formData.append('file',blob);
                    upload('/your/upload/',formData,function (url){//这里是你上传接口实现后返回的一个可以访问的图片url
                        callback(url)//值设置给tui的回调
                    })

                }
            }
        })
</script>

至此一个基础的tui.editor markdown 编辑器实例化成功。

介绍几个核心方法:

  • myEditor.getMarkdown() 获取markdown格式内容
  • myEditor.getHTML() 获取HTML格式内容

其他请参考官网document部分

查看解析部分

该部分主要讲解在保存markdown内容后回显查看事宜。

可以两种方式实现回显

方案一:编辑器同时保存markdown内容和HTML内容回显时候直接把保存的HTML代码直接拿出来展示。

方案二:回显时候使用tui.editor提供的viewer,解析markdown内容回显

两种方案各有优劣

直接存HTML的回显方便而且可以作为博客/或者其他Wiki等内容系统给搜索引擎收录。

经测,tui提供的viewer解析更和编辑器预览一致性高。

方案一,这里不做讲解,下面讲解下方案二的操

引入viewer必要文件

<link rel="stylesheet" href="your/path/to/tui@editor/toastui-editor-viewer.min.css">
<script src="your/path/to/tui@editor/toastui-editor-viewer.min.js"></script>

注:文件来源参考上面的cdn方案获取然后存放本地。

定义回显所在元素

<div id="markdownView"></div>

编写回显脚本

<script>
    //回显tui@editor内容
    const Viewer = toastui.Editor;
    const viewer = new Viewer({
      el: document.querySelector('#markdownView'),//回显的html原生元素
      height: 'auto',
      initialValue: 'markdown 内容',//这里填充上面编辑器保存的内容。
    });
</script>

至此搞定回显,回显不需要引入编辑器那一套的js和css,只需要viewer相关就可以。

 

另外由于编辑器是国外的,默认字体不太适合,需要自定义一下

<style>
    /*tui.editor contents*/
    .tui-editor-contents,.toastui-editor-contents{
        font-family:Verdana, Arial, Helvetica, AppleGothic, sans-serif !important;
        font-size: 14px;
    }
</style>

注:该内容需要放在在编辑器css或者查看器viewer css下方

 


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
tui.editor编辑器部分引入必要文件&lt;link rel="stylesheet" href="your/path/to/tui@editor/toastu
引入插件必要文件基于上一篇《TUI.Editor Markdown 编辑器基于 JavaScript 使用-XQLEE'Blog》改编&lt;link rel="st
首先确定你用的是下面这个编辑器,Quill官网Quill 实现效果参考:实现效果 然后开始了配置toolbarOptions默认的全量配置const toolb
在ckeditor4的时候绑定blur事件代码如下:window.editor.on('blur',function(){//这里写你想做的事儿})同样的代码搬到ckeditor5不仅不能用,还...
CKeditor 5.0 如何获取纯文本数据,ckeditor官方其实提供了获取带html脚本的内容方法,只需要配合jQuery简单就获取到了文本内容,详细操作如下
1.引入依赖js文件&lt;script type="text/javascript" src="/plugin/ckeditor5/ckeditor.js"&gtl;&lt;/s
CKeditor5 默认情况下的fontsize组件是小号默认大号特大号这种,没有具体的字体大小px单位选择,有些时候需要配置。故而对默认配置进行了修改。配置方式如下: C...
在CKEditor4版本中,对于编辑器高度设置是通过config配置里面的属性height来实现的,如下方所示CKEditor5 版本查文档发现已经没有这个配置了,通过网络资料查询得知,CKEd...
CKEditor 5 不重新构建移除某个plugin控件组件参考代码:ClassicEditor .create( document.querySelector...
ckeditor5 图片上传地址配置,ckeditor5和4的图片上传配置有点不一样。首先是确定你选的上传支持插件是什么,我这里是下面这个插件ckfinder
CKeditor无论那个版本,在我主要以文章编辑的时候,需要去掉默认的H1标签,所以需要自定义配置heading标签。同样CKeditor5 与之前的4版本有所不同。CKeditor5自定义配置...
ckeditor 5 自定义插件实现,自定义一个插件并在toolbar上。点击自定义插件图标响应对应事件。环境ckeditor 5.42.1(github稳定版
CKeditor5代码片段是官方自己集成的。可以通过在线构建的时候选择Code blocks 组件。选择后默认支持一下代码语言,是通过pre标签+code标签实现的。[ { langu...
ckeditor5使用demo,配置详情参考。官网相关资源查阅,组件配置
ckeditor绑定keyup/keydown等事件实现一些功能,比如实时保存$(function(){//1编辑器初始化$('textarea#blog_content').ckeditor();