Hugo 原始碼資料夾結構
來源資料將「Hugo 原始碼資料夾結構」視為建立網站的基礎藍圖。在執行 hugo new site 指令後,了解這個結構是從一個空框架邁向一個有組織、可擴展網站的關鍵一步。它不僅僅是幾個空的文件夾,而是 Hugo 工作流程的體現,每個部分都有其明確的用途,為日後的內容創作、主題開發和資源管理奠定了基礎。#
1. 初始建立的核心文件夾 (Initial core folders)#
來源在第 2 章中詳細介紹了 hugo new site 指令產生的六個核心文件夾。這些文件夾構成了網站的骨架,每一個都對應著網站開發的不同方面。
content(內容):這是最重要的文件夾之一,相當於傳統 CMS (內容管理系統) 中的數據庫。您所有的網站內容,例如部落格文章、關於頁面等,都以 Markdown 等格式存放在這裡。themes(主題):存放您下載或自行開發的主題。主題包含了將content文件夾中的內容轉化為美觀網頁所需的範本、樣式表 (CSS) 和 JavaScript 檔案。layouts(佈局):這個文件夾的功能是覆蓋或客製化主題的特定部分。如果您想微調主題的某個頁面,但又不想直接修改主題的原始碼 (這有助於未來更新主題),就可以在這裡放置同名的範本檔案。來源強調,這個文件夾讓您能逐步建立自己的主題。static(靜態資源):用於存放不需要 Hugo 處理的檔案,例如 PDF 文件、字體或圖片。Hugo 會將此文件夾中的所有內容直接複製到最終生成的網站目錄中。data(數據):存放結構化數據,例如 YAML、JSON 或 CSV 檔案。這些數據可以在整個網站的任何範本中被調用,非常適合用來管理不屬於特定頁面內容的全局數據。archetypes(原型):這是內容檔案的範本。當您使用 Hugo 指令建立新內容時,Hugo 會使用這裡的範本來預先填入一些元數據 (front matter),從而減少重複性工作。
2. 隨著開發過程出現的其他重要文件夾#
來源資料不僅僅介紹了初始結構,還為您描繪了隨著專案進展會出現的其他關鍵文件夾,讓您對專案的生命週期有一個完整的概念。
assets(資產):與static不同,這個文件夾用於存放需要被 Hugo Pipes (Hugo 的資產處理管道) 處理的資源,例如 SCSS、需要壓縮的 JavaScript 檔案或需要調整大小的圖片。public(發佈目錄):這是 Hugo 生成最終靜態網站的輸出目錄。這個文件夾裡的內容就是您可以部署到網路伺服器上的成品。resources(資源快取):當 Hugo Pipes 處理assets文件夾中的資源時 (例如圖片縮放、SCSS 編譯),會將處理後的結果快取在這個文件夾中。來源指出,這個快取機制對提升建置效能至關重要,因為 Hugo 不需要每次都重新處理未變更的檔案。
3. 與 Jamstack 和傳統開發模式的對應關係#
來源資料在圖 2.3 中非常清晰地將這些文件夾與傳統的網站開發模式進行了對比,幫助您理解 Jamstack 的架構轉變。
content和data文件夾取代了傳統的數據庫。layouts和themes文件夾對應傳統的應用程式伺服器上的範本和原始碼。config文件夾整合了傳統分散在伺服器和網站設定中的配置。resources文件夾則扮演了快取系統的角色。
具体图片#


