起因 link h2

這個網站在架設之初就確定要有多語言支持,所以打從一開始就挑了最難的多語言 Bundle 模式去開發

然後馬上就遇到問題了

Bundle 雖然具有共用資源,但似乎不是那麼好處理

(我在猜可能是跟使用的基底 Theme 也有關係,下述)

總之問題就是,在非主語言的站點會找不到共用的資源圖片。

找不到圖片RRR

調查 link h2

問題點是因為 Hugo 並不會自動把共用資源複製到每一個語言站點

這就讓我很納悶

Hugo 確實可以正確轉換 URL,但卻不會去複製共用資料

聽起來就很像某種 Bug 對吧?


處理 link h2

我當下就立刻就去論壇翻,畢竟這對我來說是非常重大的影響。

但好死不死我所選用的 Bundle + 多語言似乎是最少人開發的

資料少的可憐

直到我到這個

Hugo For Multilingual

To resolve Markdown link and image destinations to the correct location, you must use link and image render hooks that capture the page resource with the Resources.Get method, and then invoke its RelPermalink method.

簡單的意思就是說,如果要獲取該圖片,必須使用 Resources.Get 搭配 RelPermalink 來獲取主語言位置的圖片

並且這能力似乎預設的 Hugo 就有 (我在寫這篇日誌的時候重新讀了下才發現的…)

所以上面才說可能跟所用的 Theme 有關係

诶?那要怎麼處理呢?

到這一步我真的是實打實的吃了語言太差的虧

上面那一段截錄的後半段就有寫處理方法

但當時我用了翻譯,而那個 render hooks 被翻譯成了 渲染鈎

而且也沒有直連 Link,所以就直接被我忽略掉了。

總之最後就是我自己寫了一個新的 Image render hooks

這才完整解決

真的要笑死,寫程式結果吃了非程式語言的虧。