【SDU Chart Team - Editor】编辑器附加功能

本文介绍了如何基于wangeditor接口扩展编辑器功能,实现LaTeX和Markdown的支持。详细阐述了节点数据结构、渲染到编辑器、HTML转换以及自定义HTML元素的过程,特别是LaTeX公式在编辑器中的呈现和Markdown基本功能的集成。
摘要由CSDN通过智能技术生成

原理

基于wangeditor提供的拓展性接口实现。它主要分为多个部分,包括抽象数据结构、渲染元素到编辑器、获取到HTML、根据HTML生成该元素以及额外的插件功能等。接下来一一介绍。

节点数据结构

我希望定义的新的编辑器中的节点可能需要特定的数据结构,以LaTeX为例,必然需要维护其LaTeX代码,用来解析到MathML。这一步就是来描述我们需要的元素的数据结构。

type EmptyText = {
   
  text: ''
}

export type FormulaElement = {
   
  type: 'formula'
  value: string
  children: EmptyText[]
}

渲染到编辑器

在定义了数据结构之后,我们就要考虑如何根据它显示到编辑器中。在本框架中是通过vdom和h函数实现的。

  // 构建 formula vnode
  const {
    value = '' } = elem as FormulaElement
  const formulaVnode = h(
    'formula-box',
    {
   
      dataset: {
    value },
    },
    null
  )

  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值