古騰堡

新 Wordpress 版本正式進入古騰堡時代,古騰堡是新的編輯器,可以視為功能強大的 site builder 工具,以 block 為單位,可以加入非常多種類的例如圖片、引文、相集、聲音、影片等等的內容。其目的當然就是,要將以往種種我們在傳統編輯器內碰到要寫 code 的地方,種種 wordpress 本身為對應這類需要而生的方法如 shortcodes, custom post type 等等,用一統大法整合。

我本身對此不是很感冒,除了覺得本身在用的 markdown 語法都夠用外,自己對於打字格還是覺得越簡單越好,至現時為此,我文章都只是另一個 Notes app 打的,然後才會整段抄入 wordpress 做最後整埋、加圖等等。在整個古騰堡是 React 底的,在 UI 上顯然是取靈感於 Medium 的編輯器,但念及 wordpress 要支持的用法一定比起 Medium 的多,於是功能似乎是無可避免地走向複雜,而整體難免會走向臃腫和變慢。

可惜的是,在古騰堡給我試試威力前,一升級卻就死掉,完全加不了 block,查看 devtool console 亦沒有錯誤,大概是 plugin 有衝突。搜尋下卻好像沒有人遇到這情況,開 issue 問有人說要先開 user profile 裏 Visual Editor 選項,但沒起色。然後就要逐個 plugin 關掉試,結果是 Markdown on Save Improved (MoSI) 會有衝突。

MoSI 是用來轉 markdown 的,但其實作者已經沒有維護,都叫用家轉到 jetpack,但 jetpack 本身是大恐龍包山包海,只為 Markdown 太過牛刀殺雞,所以一直都沒轉。但不得不承認,現代軟件更新是基本的維護成本,走不掉,於是始終都轉過去試。MoSI 本身有提供 migration 來支持 jetpack 格式 (jetpack 用的是類似 comment 的格式),轉了後卻發現所有文章的分段都沒有了。一番追查下原來又與另一個叫 raw html 的 plugin 有關,會關掉 wordpress 本身自動分段 (wpautop) 的 content filter。markdown 本身是會自動分段的,所以不用 wpautop,但就怪在轉了格式後卻沒有了分段的 <p> tag,感覺就好像其本身需要依賴 wpautop。我先試寫 sql 更新每 post 的 raw html 設定,卻發現還是有漏,似乎是有預設值;於是找找真正有用到其 shortcode 的地方,只得一處,所以就將 raw html 關掉。

(以上一段看不懂沒關係,主要是留底給自己看的)

回到古騰堡,使用 markdown 的方式是加入 markdown block,但裏面卻不能任意插入 html code 了 (MoSI卻可以),覺得使用上沒那麼方便。古騰堡使用上感覺也不夠爽快。Wordpress 本身有官方的 Classic Editor plugin,可以用回舊的編輯器,可是卻也言明只支持到 2020,只好湊著用囉。

想起之前讀到文章,感到我們的軟件反應好像越來越慢,連只是單單打字這個看似簡單的任務,也在不知不覺中越來越反應慢,因為軟件越來越複雜,或者說層次越來越多,造成很多 overhead,這也似乎是很難避免的事。當然對於古騰堡這類編輯器本來就是要給人方便,不用碰 code 就寫到 rich element,而且也只不過是用在後台,不影響前台的效能 (間接影響或許有,因為所有工具都帶有偏見,有了功能強大的,就可能較傾向加入肥大block);但我會想到的是,以乎就得將依賴古騰堡來做內容了,若沒有古騰堡的 fallback 選項是甚麼?有沒有 platform/tools lock in 的可能之類?

最可靠的格式還是 html 本身,史上第一個網頁到今時為止仍然能在各大瀏覽器開得到,html 本身就是以 強韌原則,所以直接打 html code 最穩陣,只是即使是我自己也還是不想每段打 <p>。(跟據Lindy效應,markdown也還是不錯的選擇)


Originally published at 網絡暴民 Jacky’s Blog.