通過 YAML 編寫 WordPress 主題 JSON 文件的新插件

我有一個新的最喜歡的 WordPress 開發相關插件: 主題 YAML. Sascha Paukner 僅在一天前發布了它,它可能很快就會在許多主題開發人員的工具箱中找到它的位置。 它允許用戶編寫主題 JSON YAML 格式.

要使用,主題作者只需要創建一個新的 theme.yaml 文件並開始以人性化的 YAML 格式添加他們的自定義配置。 該插件會將其轉換為 JSON 並將其保存到 theme.json 文件中。

作為一個經常直接用 JSON 編寫代碼的人,在我的代碼編輯器中看到以下內容時,我感到非常高興:

new-plugin-for-writing-wordpress-theme-json-files-via-yaml 用於通過 YAML 編寫 WordPress 主題 JSON 文件的新插件

那很漂亮。

我只是希望我首先想到了這個插件的想法。 在處理其他系統並將數據轉換為 PHP 和 JSON 時,我經常使用 YAML 文件。 我一看到插件描述就明白了。

在處理配置文件時,JSON 不是最容易編寫的格式,這就是 theme.json 文件。 它適用於跨語言數據存儲,但在打開 JSON 文件進行輸入時,我有時會感到畏縮,尤其是當它有 100 或 1000 行時。 此外,您不能留下內嵌評論來提醒自己或他人為什麼做出特定決定或配置設置。

YAML 更好嗎? 它有其優點和缺點,根據我的經驗,部分語法對於不熟悉的人可能會變得複雜。 但是,僅支持內聯注釋是值得的。

該插件的文檔充其量只是最基本的。 它沒有說明它是如何在引擎蓋下工作的。 我有問題。 是否有轉換設置? 是自動的嗎? 每次頁面載入都會發生嗎?

我在引擎蓋下達到頂峰,這樣你就不必這樣做了。 載入頁面時,插件會自動在活動主題的根文件夾中搜索 theme.yaml 文件。 如果找到,它將檢查其最後修改時間並將值存儲在資料庫中。 如果有新的修改,插件會解析 theme.yaml,將其轉換為 JSON,並將其寫入 theme.json 文件。

如果活動主題是子主題,它也會自動為其父主題運行此過程。

該插件的缺點是它使生成的 JSON 縮小,難以閱讀。 當您手頭有 theme.yaml 文件時,這是可以的。 但是,當提交到 WordPress.org 主題目錄時,這個「構建」文件通常是主題作者不會捆綁在他們的主題 ZIP 中的東西。

我堅信發送代碼對於收到副本的人來說都是可讀和可編輯的。 主題作者有幾個選項可以做到這一點。 他們可以同時發布 theme.json 和 theme.yaml 文件,或者在插件的主文件中更改以下代碼:

$themeJson = json_encode($themeObject, JSON_UNESCAPED_SLASHES);

我們只需要打開 JSON_PRETTY_PRINT 標誌 json_encode() 函數

$themeJson = json_encode($themeObject, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);

我希望插件開發者會在未來的版本中考慮這一變化,或者允許主題作者對其進行過濾。

對於迴避 theme.json 的主題作者,還有其他解決方案。 過去,我已將我的 JSON 拆分為跨多個文件的可管理塊。 然後,我用了一個 用於合併它們的 webpack 插件 在我的監視/構建過程中。

我建議使用 JS YAML 解析器 或類似的軟體包,適合那些喜歡 YAML 但希望與他們的構建系統集成的人。

像這樣

載入中…

資源

相關文章