這個解決方案的基本思路是使用一個中介服務,如 OpenGraph.io,來檢索 Open Graph 資料。OpenGraph.io 提供了一個 API,可以使用它來獲取任何網頁的 Open Graph 資料。這樣你就可以在 Hugo 中撰寫一個 shortcode,使用這個 API 來獲取你想要顯示預覽的網頁的 Open Graph 資訊。
具體來說,你可能需要以下的步驟:
1.前往 OpenGraph.io,註冊一個帳號並獲得 API 金鑰。
2.在你的 Hugo 網站的 config.toml 文件中添加你的 OpenGraph.io API 金鑰。
3.創建一個新的 Hugo shortcode。這個 shortcode 應該接收一個 URL 作為參數,然後使用 OpenGraph.io API 來獲取該 URL 的 Open Graph 資訊。
4.在你的 Hugo 文章中使用這個 shortcode,並且將你想要顯示預覽的網頁的 URL 作為參數傳遞給它。
請注意,使用 OpenGraph.io 的免費層級每個月限制100次請求。如果你需要更多的請求,可能需要考慮升級你的 OpenGraph.io 帳號。
這種方法的好處是可以解決 CORS 問題,因為你的請求是被發送到 OpenGraph.io,而不是直接到其他網站。然而,這種方法也有一些限制,例如 OpenGraph.io 的請求限制,以及依賴於第三方服務的可用性。