從 Obsidian 發文到 WordPress (終於搞定版)

因為 Antigravity 的關係,我又開始頻繁使用 Obsidian。

我記得有插件可以將文章從 Obsidian 同步到 WordPress,於是找到:

不過,它會將簡潔的 MarkDown 格式轉成 Html,不是很理想。於是我在它的 github 討論區找到:

這個 Reloaded 版本安裝的方式跟原插件的方式一模一樣。果然可以保留 MarkDown 的原始格式。

不過,又發現圖片的語法有一個大問題:圖片會破圖~!!!

圖片本身沒問題,問題出在插件會自動轉換圖片的語法格式。在折騰了一個多小時之後,終於找到解法:

Obsidian 設定

進入「設定 / 檔案與連結」,將「使用 Wikinlinks 」設為 off。這樣就可以讓圖片的連結語法保持為:![](圖片.png)

Obisidian 插件:obsidian-wordpress-reloaded

用檔案總管進入 Obsidian 資料夾「.obsidian / plugins / obsidian-wordpress-reloaded」,然後用編輯器打開 main.js

找到這一段程式碼:

p.code===0?u.width&&u.height?r.content=r.content.replace(u.original,![[${p.data.url}|${u.width}x${u.height}]]):u.width?r.content=r.content.replace(u.original,![[${p.data.url}|${u.width}]]):r.content=r.content.replace(u.original,![[${p.data.url}]]):p.error.code===2?

將整段轉換為:

p.code===0?u.width&&u.height?r.content=r.content.replace(u.original,![${u.width}x${u.height}](${p.data.url})):u.width?r.content=r.content.replace(u.original,![${u.width}](${p.data.url})):r.content=r.content.replace(u.original,![](${p.data.url})):p.error.code===2?

存檔後,請關掉再重開 Obsidian。

從 Obsidian 發文至 WordPress

在 Obsidian 筆記中貼入圖片,再發文至 WordPress,就可以發現兩邊的圖片語法都是使用:

![](https://myblog.url/圖片.png)

上面這個語法,適用於內部與外部的圖片連結,這樣就不會破圖啦!

其他補充

  • ![[圖片]]![](圖片) 的語法問題,是 ChatGpt 教我的。
  • 插件的程式碼修改,是 Gemini Pro 提供的。
  • 如果發文至 WordPress 後,發現 MarkDown 沒有生效,請先點「編輯」然後重新「Publish」,就會正常了。

過去的同一天,我還發表了...