一款功能强大的markdown编辑器tui.editor使用示例详解

一款功能强大的markdown编辑器tui.editor使用示例详解

什么是tui.editor

tui.editor 是一款基于浏览器端的 JavaScript markdown 编辑器,其主要功能包括:

  • 良好的 markdown 编辑体验
  • 自动同步预览功能
  • 可自定义的 markdown 样式
  • 全屏编辑模式
  • 支持替换和搜索功能等

快速入门

  1. 创建一个 HTML 文件,并将 tui.editor 引入:

```html

```

  1. 在 HTML 文件中创建一个 div,用作 tui.editor 的容器:

```html

```

  1. 初始化 tui.editor:

javascript
const editor = new tui.Editor({
el: document.querySelector('#editSection'),
initialEditType: 'wysiwyg',
previewStyle: 'vertical',
});

在该代码中,#editSection 是 tui.editor 的容器,initialEditType 设置编辑器的初始编辑模式(支持 markdownwysiwyg),previewStyle 设置预览的样式(支持 tabvertical),更多配置请参考官方文档。

  1. 运行 HTML 文件即可在浏览器中使用 tui.editor。

示例说明

示例一:自定义 markdown 样式

tui.editor 提供了一个样式配置项 viewerHtmlSanitizerOption,可以通过它来自定义预览区域中的 markdown 样式。

const editor = new tui.Editor({
  // ...其他配置
  viewerHtmlSanitizerOption: {
    allowedTags: [
      'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'pre', 'a',
      'ul', 'ol', 'li', 'br', 'hr', 'img', 'strong', 'em', 'del', 'ins',
      'table', 'thead', 'tbody', 'tr', 'th', 'td', 'code'
    ],
    allowedAttributes: {
      a: ['href', 'target', 'title'],
      img: ['src', 'alt', 'title'],
      pre: ['class'],
      code: ['class'],
    },
  },
});

在上述代码中,我们设置了允许的 HTML 标签和属性,同时也可以通过 class 属性来控制预览区域的样式。

示例二:使用自定义 markdown 解析器

tui.editor 内置的 markdown 解析器是 marked,但是我们也可以使用自定义的解析器。

import { Parser } from 'my-markdown-parser';

const customParser = new Parser();

const editor = new tui.Editor({
  // ...其他配置
  exts: [
    {
      name: 'customMarkdown',
      constructor: function() {
        //
      },
      events: {
        previewBeforeHook: function() {
          const markdown = editor.getMarkdown();
          return customParser.parse(markdown);
        },
      },
    },
  ],
});

在上述代码中,我们引入了自定义的 markdown 解析器 my-markdown-parser,并在 tui.editor 的 exts 配置项中添加了一个新的扩展,其中 previewBeforeHook 事件会在预览区域更新前触发,我们通过该事件将 markdown 解析后的 HTML 代码返回给预览区域。

结语

以上为 tui.editor 的入门指南和两个示例说明,tui.editor 提供了很多实用的功能,而这里仅仅是刚刚入门,希望读者可以通过实际使用和探索,更好地发掘其强大的功能。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一款功能强大的markdown编辑器tui.editor使用示例详解 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • 详解关于使用媒体查询@meda失效原因的总结

    下面是关于使用媒体查询@meda失效的原因总结以及解决方法的攻略。 1. 原因总结 在使用媒体查询@media的过程中,可能会遇到查询语句没有生效的情况。这种情况的原因可能存在以下几个方面: 1.1 屏幕宽度不符合媒体查询规则 如果媒体查询的条件语句不符合当前屏幕的宽度或高度,那么这个媒体查询语句就会失效。比如说,如果你写了一个针对移动端屏幕的媒体查询,但是…

    css 2023年6月10日
    00
  • css3让div随鼠标移动而抖动起来

    下面是“CSS3让div随鼠标移动而抖动起来”的攻略: 1. 使用CSS3动画实现div随鼠标移动而抖动 CSS3动画是实现抖动效果的一种常用方式。具体的实现步骤如下: 1.1 定义样式和HTML结构 首先,我们需要定义一个style标签,用来存放CSS样式。在样式中,我们需要定义一个用来显示抖动效果的div元素,可以设置它的宽度、高度、边框、背景色等基本样…

    css 2023年6月10日
    00
  • css的边偏移距离针对left和right可能性值探讨

    我们来详细讲解一下”CSS的边偏移距离针对left和right可能性值探讨”的攻略。 什么是CSS的边偏移距离 CSS的边偏移距离是CSS中的一种常用属性,可以通过设置其值来调整元素相对于其原始位置的偏移距离。 其中包括top、bottom、left、right四个方向,它们分别表示元素的上、下、左、右偏移距离。 left和right的取值 left和rig…

    css 2023年6月10日
    00
  • js实现鼠标移到链接文字弹出一个提示层的方法

    实现鼠标移到链接文字弹出一个提示层的方法,有多种方式。以下是其中一种常用的方法: 步骤 1:编写 HTML 代码 首先,在 HTML 页面中添加一个链接的 HTML 代码,如下所示: <a href="#" class="tooltip" title="这是提示信息">链接文字</…

    css 2023年6月10日
    00
  • 学习Xhtml+CSS2的一些心得体会

    学习XHTML+CSS2的一些心得体会 学习XHTML+CSS2的前置条件 在学习XHTML+CSS2之前,需要先了解HTML和CSS的基础知识。HTML是网页的基础语言,而CSS是网页样式的描述语言。如果没有HTML和CSS的基础,学习XHTML+CSS2会比较困难。 掌握XHTML+CSS2的基本语法 XHTML+CSS2的语法相对HTML和CSS来说更…

    css 2023年6月10日
    00
  • 网页里的两种盒子模型(W3C盒子模型、IE盒子模型)

    下面就来详细讲解网页里的两种盒子模型。 什么是盒子模型 盒子模型是指在网页中,每个HTML元素都是一个矩形的盒子,包含内容、内边距、边框和外边距4部分。不同的盒子模型对这四部分的计算方式不同,也就影响到了页面元素的大小和布局。 W3C盒子模型 W3C盒子模型又称标准盒子模型,它是W3C标准规定的盒子模型。在W3C盒子模型中,元素的总宽度 = 内容宽度(wid…

    css 2023年6月10日
    00
  • angular4+百分比进度显示插件用法示例

    首先,我们需要使用npm安装一个名为ngx-progressbar的Angular插件,并将其添加到我们的项目中。 npm install ngx-progressbar –save 在app.module.ts中导入和添加NgProgressModule。 import { NgProgressModule } from ‘@ngx-progressba…

    css 2023年6月10日
    00
  • html5+css3之动画在webapp中的应用

    下面我就来详细讲解“html5+css3之动画在webapp中的应用”的完整攻略。 简介 随着移动设备的普及,webapp已经成为许多企业推广的新方式。在webapp中,动画效果的运用可以给用户带来更好的体验,进而提高用户对产品的喜好度。本篇攻略将介绍如何使用html5和css3实现动画效果,让webapp更加生动有趣。 HTML5中的动画 HTML5中的动…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部