Photo by Sebastian Herrmann on Unsplash

其實在搬家前就有觀望過 Ghost 好一陣子,雖然很美很漂亮,但不是 PHP 體系加上主機卡 gcc 升級的問題,一直沒什麼動力跳坑。這次也是先研究起 headless CMS,又再看到 Ghost,才認真決定完成搬遷這件事。

當然每次搬家總少不了奇葩事,這次也不例外。在搞定 gcc,把 Ghost 裝好跑起來,下載了 Mac 版的漂亮 App,正準備要來開始寫個搬家文的時候⋯

欸⋯這狂暴的編輯器是怎麼回事!?上 Ghost 官方看一下,結果竟然從 2017/04 就有人回報相關的 issue 了(日文輸入法)。

Japanese text issue on the new WYSIWYG editor · Issue #8319 · TryGhost/Ghost
Issue Summary On Ghost Alpha's new text editor, Japanese text can't be typed correctly with Japanese IME (input method). Steps to Reproduce Select Japanese IME (either Apple's JapaneseI...

然後官方給的回應是:

這是 mobiledoc 的問題唷,我幫你跟他們講一聲 (蹦跳)

接著就把 issue 給關了(?)

mobiledoc 是 Ghost 採用的開源編輯器,要說這是他們的鍋也沒錯,從 bustle/mobiledoc-kit 上面來看,的確也有人在回報 CJK 輸入法的問題。但這邊也一樣,mobiledoc 開發者跳出來試圖解釋後,整件事就無疾而終。

重點是,社群其實陸續有提出一些 workaround 並且也發了 PR,但都被官方無視掉。以 mobiledoc 為例,這個 2019/11 發出的 PR 到現在都沒人處理或回應。 Ghost 上的 PR 也好不到哪去, 直接把球踢去給 mobiledoc 或跑測試沒過就不理你。

去年底有人忍不住發了一篇彙整 + 抱怨的 issue:

IME Bug: Ghost suffering IME bug for 2 years and Never Fix it · Issue #11460 · TryGhost/Ghost
Complaint For Bug description, please skip this section. For Ghost Developer, please don't direct to mobiledoc again, as no one is maintaining that project Bug summery Don't be surprised. I...

然後當天就被官方以違反社群守則給直接關了(登楞!)。

有人提到從這件事來起看,Ghost 並不重視亞洲的使用者;想想好像真有那麼回事。畢竟亞洲是 CJK IME 的主區,中文、日文、韓文都有使用者出來求救了,官方就沒有想積極解決的意思。

那該怎麼辦

目前最容易找到的是這兩篇:

ghost 中文输入法修复
> 适用于 ghost 3.0.2 修复内容: 1. 中文输入法在新行时,输入会阻断第一个字符 2. 中文输入法在选词过程中,执行删除、换行、tab等行为会影响输入 3. (个人偏好)mac系统下,cmd+delete 删除光标下至行首字符 社区中8个月前已有人提交了修复内容,但是Ghost团队一直未更新 @tryghost/mobiledoc-kit。 对于这个事情博主个人是挺恼怒的,因为这类 issues 在 TryGhost/Ghost 仓库中有不少,当前的 ghost使用非英语语种的输入法体验非常糟糕,但是 ghost 团队仅仅提出请将PR提交到 @trygh…
修理 Ghost 中文输入法的 BUG
去年的时候,我曾写过一篇文章 [《 将 Ghost 迁移 Hugo 背后的事 》] 里面描述了Ghost 当前对于非英文用户的主要问题。

因為我不是 Docker,所以用第一個方案處理掉了。

其實原本想試著自己改(寫個 script 從外部把事件阻斷掉),但水比我想像的要深很多,改不動只能先擱著,等有空再來仔細追 mobiledoc 的 code。