資源資料夾

全域資源資料夾

資源是指在 source 資料夾中,非文章的檔案,例如圖片、CSS 或 JavaScript 檔案。舉例來說,如果您的 Hexo 專案只有少數圖片,最簡單的方式是將它們放在 source/images 目錄中。接著,您可以使用類似 ![](/images/image.jpg) 的方式來存取它們。

文章資源資料夾

對於需要頻繁使用圖片或其他資源的使用者,以及偏好以單篇文章為基礎來分隔資源的使用者,Hexo 也提供了一個更有條理的方式來管理資源。這個稍微複雜,但非常方便的資源管理方法,可以透過在 _config.yml 中將 post_asset_folder 設定為 true 來啟用。

_config.yml
post_asset_folder: true

啟用資源資料夾管理後,每次您使用 hexo new [layout] <title> 命令建立新文章時,Hexo 都會建立一個資料夾。這個資源資料夾的名稱會與文章相關的 Markdown 檔案名稱相同。將所有與您的文章相關的資源放入相關的資料夾中,您就可以使用相對路徑來參考它們,從而實現更輕鬆、更方便的工作流程。

用於相對路徑參照的標籤外掛

使用一般的 Markdown 語法和相對路徑來參考圖片或其他資源,可能會導致在封存或索引頁面上顯示不正確。社群已經建立了外掛來解決 Hexo 2 中的這個問題。然而,隨著 Hexo 3 的發布,核心中新增了一些新的標籤外掛。這些外掛使您能夠更輕鬆地在文章中參考資源。

{% asset_path slug %}
{% asset_img slug [title] %}
{% asset_link slug [title] %}

例如,啟用文章資源資料夾後,如果您將圖片 example.jpg 放入您的資源資料夾中,如果您使用一般的 ![](example.jpg) Markdown 語法以相對路徑來參考它,則該圖片將 *不會* 出現在索引頁面上(但是,它會在文章本身中如預期地工作)。

因此,參考圖片的正確方法是使用標籤外掛語法,而不是 Markdown。

{% asset_img example.jpg This is an example image %}
{% asset_img "spaced asset.jpg" "spaced title" %}

這樣,圖片就會同時出現在文章內部以及索引和封存頁面上。

使用 Markdown 嵌入圖片

hexo-renderer-marked 3.1.0 引入了一個新的選項,允許您在 Markdown 中嵌入圖片,而無需使用 asset_img 標籤外掛。

啟用方法

_config.yml
post_asset_folder: true
marked:
prependRoot: true
postAsset: true

啟用後,資源圖片將會自動解析為其對應文章的路徑。例如,「image.jpg」位於「/2020/01/02/foo/image.jpg」,表示它是「/2020/01/02/foo/」文章的資源圖片,![](image.jpg) 將被渲染為 <img src="/2020/01/02/foo/image.jpg">