iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Modern Web

深入 slate.js x 一起打造專屬的富文字編輯器吧! 系列

覺得只用 <input> 、 <textarea> 做出來的文字編輯器看起來很 low 嗎?
想做個互動效果十足、炫砲感滿滿的文字編輯器,卻無法有系統性地管理 & 製作功能嗎?
用 Medium 寫文章寫這麼久,甚至報名參加 IThome 鐵人賽的你,卻連 WYSIWYG 都沒聽過?!

不怕!

就讓我們用 30 天的時間,一步一步地探索『富文本編輯器 feat. slate.js 』的世界

鐵人鍊成 | 共 30 篇文章 | 14 人訂閱 訂閱系列文 RSS系列文
DAY 21

Day 21. slate × Operation × Entrance

上一篇我們介紹了 interfaces/operations.ts 裡定義的 Operation types ,還沒看過的讀者們 傳送門 在此~ 接著從這一篇...

2021-10-06 ‧ 由 boogieyan1997 分享
DAY 22

Day 22. slate × Operation × transform

今天的內容將延續 上一篇 文章中 Operation Process 裡的 3. ,同時我們會非常深入地去解析實現整個 transform function...

2021-10-07 ‧ 由 boogieyan1997 分享
DAY 23

Day 23. slate × Operation × L-transform

上一篇文章我們深入瞭解了 Operation 的 transform function 是如何實作針對各種不同的 Operation types 的更新功能的...

2021-10-08 ‧ 由 boogieyan1997 分享
DAY 24

Day 24. slate × Normalizing

在開始繼續深入源碼之前,我們先花點篇幅討論 Normalizing 這回事。 Normalizing - 正規化,對資料庫稍有著墨的話對這個名詞一定不陌生。...

2021-10-09 ‧ 由 boogieyan1997 分享
DAY 25

Day 25. slate × Normalizing × Dirty-Path

我們在 上上一篇 也有提到過 slate 將 Normalizing 這項功能的實現拆成了第一步驟的『骯髒標記( Dirty-Path ) 』以及透過骯髒標記...

2021-10-10 ‧ 由 boogieyan1997 分享
DAY 26

Day 26. slate × Normalizing × normalizeNode

Slate 正規化的相關功能由兩個主要函式: interfaces/editor.ts 的 normalize method create-editor 編...

2021-10-11 ‧ 由 boogieyan1997 分享
DAY 27

Day 27. slate × Normalizing × normalize

前一篇我們介紹了 Slate Normalizing 裡負責實作節點正規化以及讓使用者自定義 constraints 的主要函式: create-editor...

2021-10-12 ‧ 由 boogieyan1997 分享
DAY 28

Day 28. slate × Transforms × Node

最後終於來到了我們最後一個章節:『 Transforms 』。 Transform 在 slate package 裡頭也是佔了舉足輕重的地位,它提供了最 h...

2021-10-13 ‧ 由 boogieyan1997 分享
DAY 29

Day 29. slate × Transforms × Selection & Text

上一篇我們統整了 NodeTransforms 裡各個 methods 的用法以及參數介紹, 傳送門 在此~ 這一篇同樣會以 reference 的形式統整...

2021-10-14 ‧ 由 boogieyan1997 分享
DAY 30

Day 30. Goal × 微結語

一天過一天,終於走到了今天(撒花~ 從最一開始的 Pre-Start 篇章:帶讀者們認識 WYSIWYG 、瀏覽器的 contenteditable 屬性、...

2021-10-15 ‧ 由 boogieyan1997 分享