你好,我是 Kagol,个人公众号:前端开源星球

Fluent Editor 是一个基于 Quill 2.0 的富文本编辑器,在 Quill 基础上扩展了丰富的模块和格式,框架无关、功能强大、开箱即用。

Quill 内置公式

Quill 内置了公式的功能,基于 KaTeX,使用时需要安装 katex 依赖,并导入对应的样式,具体使用示例如下:

安装 katex 依赖:

npm i katex

使用 Quill 内置 formula 公式:

<script setup lang="ts">
import { onMounted } from 'vue' // 导入 katex 和对应的样式
import katex from 'katex'
import 'katex/dist/katex.min.css' // 挂载 katex 到 window 变量上
window.katex = katex let editor const TOOLBAR_CONFIG = [
[{ header: [] }],
['bold', 'italic', 'underline', 'link'],
[{ list: 'ordered' }, { list: 'bullet' }],
['clean'],
['formula'], // 配置公式工具栏按钮
] onMounted(() => {
editor = new FluentEditor('#editor', {
theme: 'snow',
modules: {
toolbar: TOOLBAR_CONFIG,
},
})
})
</script> <template>
<div id="editor" />
</template>

效果图:

要插入上图中的求和公式,需要知道该公式对应的 KaTeX 语法。

\sum_{i=1}^{n} i^2

然后点击工具栏的公式按钮,并将上面的公式粘贴到公式输入框中,按回车键就可以插入公式啦。

以下是效果演示(Gif 动图):

从上面的演示动图不难看出,Quill 内置公式主要有以下问题:

  • 对于用户来说有一定的使用成本,用户需要记住 KaTeX 公式的语法。
  • 只支持新增和删除公式,不支持编辑公式

LaTeX 可编辑公式

2024年9月27日,kiss-keray 提交了一个 PR,为 Fluent Editor 增加 mathlive 可编辑公式能力。

过了两天 kiss-keray 关闭了这个 PR,我觉得挺可惜的,就问了一句为什么关闭了呢?

过了两天 kiss-keray 又重新提交了一个 PR #95,经过20天左右的检视和交流,今天该 PR 已合入主干分支,并发布正式版本:v3.22.0

感谢 kiss-keray 为 Fluent Editor 做出的贡献,让 Fluent Editor 富文本拥有这么棒的公式编辑体验!

欢迎朋友们体验和使用

使用可编辑公式之前,需要先安装 mathlive 依赖。

npm i @opentiny/fluent-editor@3.22.0 mathlive
<script setup lang="ts">
import { onMounted } from 'vue' // 导入 mathlive,并引入对应的样式
import 'mathlive'
import 'mathlive/static.css'
import 'mathlive/fonts.css' let mathliveEditor const TOOLBAR_CONFIG = [
[{ header: [] }],
['bold', 'italic', 'underline', 'link'],
[{ list: 'ordered' }, { list: 'bullet' }],
['clean'],
['formula'], // 配置工具栏公式按钮
] onMounted(() => {
mathliveEditor = new FluentEditor('#mathliveEditor', {
theme: 'snow',
modules: {
toolbar: {
container: TOOLBAR_CONFIG,
handlers: {
formula() {
// 绑定点击工具栏公式按钮的事件
const mathlive = this.quill.getModule('mathlive')
mathlive.createDialog('e=mc^2')
},
},
},
mathlive: true, // 开启可编辑公式功能
},
})
})
</script> <template>
<div id="mathliveEditor" />
</template>

可编辑公式也支持 KaTex/LaTeX 语法,可以直接复制下面的公式,粘贴到公式输入框中。

\sum_{i=1}^{n} i^2

效果如下:

同时也支持对公式进行编辑,点击公式输入框右边的小键盘图标即可呼起公式编辑键盘,里面包含非常丰富的公式,使用起来非常方便,也不需要记忆复杂的 KaTeX/LaTeX 公式语法。

以下是效果演示(Gif 动图):

欢迎通过以下链接体验更多可编辑公式的功能

可编辑公式体验地址:https://opentiny.github.io/fluent-editor/docs/formula

往期推荐文章

联系我们

GitHub:https://github.com/opentiny/tiny-vue(欢迎 Star )

官网:https://opentiny.design/tiny-vue

B站:https://space.bilibili.com/15284299

个人博客:https://kagol.github.io/blogs

小助手微信:opentiny-official

公众号:OpenTiny

🥳重磅更新!Fluent Editor 开源富文本支持 LaTeX 可编辑公式啦~的更多相关文章

  1. 重磅发布:阿里开源 OpenJDK 长期支持版本 Alibaba Dragonwell

    原文地址:https://yq.aliyun.com/articles/694603 本文作者:阿里开源  本文来自云栖社区合作伙伴"阿里系统软件技术",了解相关信息可以关注&qu ...

  2. 富文本编辑器从word粘贴公式

    很多时候我们用一些管理系统的时候,发布新闻.公告等文字类信息时,希望能很快的将word里面的内容直接粘贴到富文本编辑器里面,然后发布出来.减少排版复杂的工作量. 下面是借用百度doc 来快速实现这个w ...

  3. KTL 一个支持C++14编辑公式的K线技术工具平台 - 第六版,支持OpenGL,3D上帝视角俯视K线概貌。

    K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL 国内仓库 ...

  4. 【原创】【目录】实现rich editor(富文本编辑器)教程,深入理解selectiona/range操作与浏览器差异

    日常工作中,接触富文本编辑的次数还是很多,特发此教程,希望可以改变富文本编辑的技术门槛较高的现状,解决这部分的坑. 前提准备,兼容获取range,统一回车行为,前期准备工作 了解document.ex ...

  5. 百度开源富文本编辑器 UEditor配置:图片上传和文件上传独立使用方法

    使用UEditor编辑器自带的插件实现图片上传和文件上传功能,这里通过配置UEditor单独使用其内置的第三方插件swfupload来实现图片和文件的上传,通过对UEditor配置轻松实现图片批量上传 ...

  6. KTL 一个支持C++14编辑公式的K线技术工具平台 - 第五版,支持sqlite3,全新sqlite3zz语法超简单使用sqlite3; 添加方差等统计函数。

    K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL 国内仓库 ...

  7. KTL 一个支持C++14编辑公式的K线技术工具平台 - 第七版,体验GPGPU。

    K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL 国内仓库 ...

  8. KTL 一个支持C++14编辑公式的K线技术工具平台 - 第四版,稳定支持Qt5编程,zqt5语法升级,MA函数提升性能1000%,更多公式算法的内置优化实现。

    K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL 国内仓库 ...

  9. RichText 富文本开源项目总结

    在Android开发中,我们不免会遇到富文本的编辑和展示的需求,以下是本人之前star的富文本编辑器的开源项目,供大家参考: 一.RichEditor 开源项目地址:https://github.co ...

  10. 我为什么要做富文本编辑器【wangEditor5个月总结】

    请访问wangEditor官网:www.wangEditor.com ----------------------------------------------------------------- ...

随机推荐

  1. GNU make-Makefile文件简介

    Makefile简介 Makefile是一种特殊格式的文件,被make工具使用来管理软件的构建过程.Makefile定义了一组规则和依赖关系,告诉make如何编译和链接程序. Makefile语句 T ...

  2. 生产者消费者模式,以及基于BlockingQueue的快速实现

    生产者消费者模式,以及基于BlockingQueue的快速实现什么是生产者消费者模式,简单来说就是有两个角色,一个角色主要负责生产数据,一个角色主要负责消费(使用)数据.那么生产者直接依赖消费者,然后 ...

  3. JVM学习笔记之类装载器-ClassLoader

    JVM学习笔记之类装载器-ClassLoader 本文字数:2300,阅读耗时7分钟 JVM体系结构概览 类装载器ClassLoader: 负责加载class文件,class文件在文件开头有特定的文件 ...

  4. jpa 查询 报错 EntityNotFoundException

    背景: 使用JPA查询,串接到另外一张表时,由于没有实际在表格关系中指定外键,而是在实体类中指定外键 导致关联表中的数据被删除时,JPA查询时,报错EntityNotFoundException 方案 ...

  5. vscode新建html文件并快速生成标准的html代码

    1.打开vscode,点击Open Folder 2.选择目标文件夹,新建一个扩展名为.html的文件: 3.在第一行输入 !(英文状态下),按tab键,新建成功.界面如下图所示:

  6. C#设计模式入门实战教程

    什么是设计模式 设计模式是对面向对象设计中反复出现的问题的解决方案.它们提供了被反复使用.多数人知晓的.经过分类编目的代码设计经验总结. 设计模式的作用 提高代码的可重用性:通过定义一套标准的解决方案 ...

  7. sicp每日一题[1.40]

    Exercise 1.40 Define a procedure cubic that can be used together with the newtons-method procedure i ...

  8. Dash 2.18版本新特性介绍

    本文示例代码已上传至我的Github仓库:https://github.com/CNFeffery/dash-master Gitee同步仓库地址:https://gitee.com/cnfeffer ...

  9. MoCov1: 无监督视觉表征学习的动量对比《Momentum Contrast for Unsupervised Visual Representation Learning》(MoCo、动量对比、动态字典、队列维护、对比损失InfoNCE)

    现在是2024年6月11日,21:49,刚找好要看的论文,师兄推荐的. 先占个坑,明天看,我累了(我没脑子了). 现在是6月12日,15:49,干正事了(又被别人影响了情绪,这不好,希望你改掉,好的, ...

  10. ASP.NET Core – Handle Error on Razor Page

    前言 网站不应该有 error, 但它却必然会发生的, 所以给用户一个友好的 error 页面是很重要的. 主要参考 Handle errors in ASP.NET Core Development ...