歷時 1 年,TinyEditor v4.0 正式發佈

新聞
HongKong
2
05:09 PM · Jan 07 ,2026

本文由體驗技術團隊Kagol原創。

TinyEditor 是一個基於 Quill 2.0 的富文本編輯器,在 Quill 基礎上擴展了豐富的模塊和格式,框架無關、功能強大、開箱即用。

  • 源碼:https://github.com/opentiny/tiny-editor
  • 官網:https://opentiny.github.io/tiny-editor

去年1月2日,我們發佈了 v3.25 版本,功能基本已經完備,之後 v3.x 版本進入了維護期,同時開啓了漫長的 v4.0 版本的開發,v4.0 的核心目標是體驗優化和穩定性提升,並支持多人協同編輯。

在長達1年的開發和打磨後,我們榮幸地宣佈 TinyEditor v4.0 正式發佈!這個版本匯聚了團隊的心血,帶來了激動人心多人協同編輯新功能、以及大量體驗優化和穩定性改進。

重點特性:

  • 支持多人協同編輯:一起在編輯器寫(玩)文檔(貪吃蛇遊戲摸魚)🐶
  • 基於 quill-table-up 的新表格方案:表格操作體驗++⚡️
  • 基於 emoji-mart 的 Emoji 表情:表情黨最愛😍
  • 支持斜杆菜單和豐富的快捷鍵:鍵盤流的福音😄
  • 圖片/視頻/文件上傳體驗優化🌄

詳細的 Release Notes 請參考:https://github.com/opentiny/tiny-editor/releases/tag/v4.0.0

歡迎安裝 v4.0 版本體驗:

npm i @opentiny/fluent-editor@4.0.0

1 亮點特性

1.1 多人協作編輯

v4.0 最重磅的功能之一是引入了完整的協作編輯能力。我們集成了 quill-cursor 模塊,支持多人實時協作編輯,並提供了獨立的 npm 包供開發者集成。無論是需要離線支持還是雲端協作,TinyEditor 都能勝任。

你可以在我們的演示項目中進行體驗:https://opentiny.github.io/tiny-editor/projects/

效果如下:

關於協同編輯更詳細的介紹,參考:如何使用 TinyEditor 快速部署一個多人協同富文本編輯器?

1.2 表格能力升級

集成了 table-up 模塊,大幅提升了表格編輯和操作能力,支持更復雜的表格場景。

體驗地址:https://opentiny.github.io/tiny-editor/docs/demo/table-up

效果如下:

詳細介紹可以參考之前的文章: TinyEditor v4.0 alpha:表格更強大,表情更豐富,上傳體驗超乎想象!

1.3 更豐富的 Emoji 表情😘

  • 集成 emoji-mart,提供豐富的表情選擇
  • 修復了插入表情後的光標位置問題
  • 完善了表情插入的交互體驗

體驗地址:https://opentiny.github.io/tiny-editor/docs/demo/emoji

效果如下:

詳細介紹可以參考之前的文章:TinyEditor v4.0 alpha:表格更強大,表情更豐富,上傳體驗超乎想象!

1.4 快捷鍵和快速菜單

新增了強大的快捷鍵系統和快速菜單功能,讓高級用户能夠更高效地操作編輯器。

體驗地址:https://opentiny.github.io/tiny-editor/projects/

效果如下:

1.5 顏色選擇器升級

自定義顏色選擇器現在能保存當前選擇,並支持添加更多顏色。

效果如下:

1.6 文本模板與國際化

  • 支持 i18n 文本模板替換
  • 完善了國際化翻譯(header、picker 等組件)
  • 更好的多語言支持體驗

1.7 圖片和文件增強

  • 圖片工具欄:選中圖片時顯示專門的操作工具欄
  • 自定義上傳 :增加 allowInvalidUrl 選項,支持 Electron 等特定場景
  • 改進的上傳邏輯:優化了失敗狀態的處理

2 技術改進

2.1 構建和工程化

  • 修復了 SSR 構建問題
  • 優化了 Vite 配置,解決了 PostCSS 和 Tailwind 的兼容性問題
  • 改進了 SCSS 文件引入方式
  • 輸出文件名稱優化

2.2 依賴管理

  • 外部化 emoji-mart 和 floating-ui 依賴,減少包體積
  • 移除了 better-table 和 lodash-es,優化依賴樹

2.3 代碼質量

  • 完整的測試覆蓋率提升
  • 重構優化:移除冗餘代碼
  • API 標準化:scrollIntoViewscrollSelectionIntoView
  • 示例代碼 async/await 改造,代碼現代化

2.4 類型安全

  • 修復了因 TypeScript 類型導致的編譯錯誤
  • 改進了類型定義

2.5 API 導出增強

v4.0 導出了工具欄配置常量,方便開發者定製:

  • DEFAULT_TOOLBAR:默認工具欄配置
  • FULL_TOOLBAR:完整工具欄配置

2.6 增加自動發包工作流

  • 增加 auto-publish / auto-deploy 等自動化工作流,支持打 tag 之後自動發版本、生成 Release Notes
  • PR 門禁在單元測試基礎上增加 npm 包和網站構建,確保合入 PR 之前,npm 包構建和網站構建是正常的,通過自動化方式保障版本質量。

3 問題修復

v4.0 修復了大量已知問題,包括:

  • 工具欄選擇器不跟隨光標變化的問題
  • 行高作用域問題
  • 列表樣式顯示不正確
  • 背景色 SVG 圖標問題
  • VitePress 默認樣式影響的問題
  • 自定義上傳失敗時表格數據結構破壞的問題
  • 多項文檔和國際化翻譯問題

4 社區貢獻

感謝所有為 v4.0 做出貢獻的開發者!你們的辛勤付出讓 TinyEditor 變得更好!

  • @chenxi-20
  • @GaoNeng-wWw
  • @jany55555
  • @qwangry
  • @shenyaofeng
  • @vaebe
  • @wuyiping0628
  • @Yinlin124
  • @zzxming

注:排名不分先後,按名字首字母排序。

如果你有任何建議或反饋,歡迎通過 GitHub Issues 與我們聯繫。

往期推薦文章

  • 👍TinyEditor:一個基於 Quill 2.0 的富文本編輯器,功能強大、開箱即用!
  • 🎈TinyEditor 富文本開源2個月的總結:增加格式刷、截屏、TypeScript 類型聲明等新特性
  • 🥳重磅更新!TinyEditor 開源富文本支持 LaTeX 可編輯公式啦~
  • 🎉喜報!TinyEditor 開源富文本迎來了第一位貢獻者
  • 👏讓我們一起來建設 TinyEditor 開源富文本編輯器吧!
  • ✨TinyEditor v3.25.0 正式發佈!2025年第一個版本,增加標題列表導航、分隔線等實用特性
  • ⚡️TinyEditor v4.0 alpha 版本發佈:更強大的表格、更豐富的表情、更好的上傳體驗

關於OpenTiny

歡迎加入 OpenTiny 開源社區。添加微信小助手:opentiny-official 一起參與交流前端技術~

OpenTiny 官網:https://opentiny.design

OpenTiny 代碼倉庫:https://github.com/opentiny

TinyVue 源碼:https://github.com/opentiny/tiny-vue

TinyEngine 源碼: https://github.com/opentiny/tiny-engine

歡迎進入代碼倉庫 Star🌟TinyEngine、TinyVue、TinyNG、TinyCLI、TinyEditor~

如果你也想要共建,可以進入代碼倉庫,找到 good first issue標籤,一起參與開源貢獻~

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.