上次 new 一個專案資料夾長這樣,我稍微講一下每個資料夾放些什麼:
.
├── archetypes
├── config.toml
├── content
├── data
├── layouts
├── static
└── themes
archetypes
放文章模板文件的地方,當你 new 一個新的 content files 時,會根據這邊的模板產生 markdown 文件,例如 archetypes/default.md
,若你 new 的文章頂層資料夾名稱 (top level path) 對應不到模板時,會使用 default.md 作為模板生成文件。
config.toml
網站 environments 配置檔,所有網站建置參數都可在此設置,之後文章有提到或使用相關設置時會在個別說明。
content
所有 new 出來的文章都會放在這;如果你想要把文章個別分不同的 setion (top level path),例如 drafts(草稿)、posts(已發布文章),可透過新增文章指令,指定的不同頂層路徑,生成文件到不同資料夾中。
hugo new drafts/my-drafts.md # 新增一份草稿
補充說明: 此例你必須透過定義 drafts.md 模板內容 draft: true
,讓生成 草稿文件
真的是 草稿狀態
,否則文件一樣會是已發布狀態。
data
我目前還沒使用到這個資料夾,依照官方說法是,你可以把一些資料集放在這,支援格式有 YAML, JSON, 或是 TOML;換句話說,這可以當作你的資料庫使用,例如你的網站是專門介紹咖啡的,你有一組每個縣市最好喝的咖啡清單,就可以在這邊創建:
{
"taipei_no_1": "鐵定好喝咖啡店",
"taichung_no_1": "1976 咖啡館",
...
}
至於運用方式請參考 Hugo Data Templates。
layouts
你的靜態網站的 .html 文件都會放在這,但你 new 的專案一開始會是空的,主要都是由佈景建構 layouts。
static
靜態資源檔案,例如圖片、js、css 等會放在這邊。
themes
放各種佈景的地方,如果不常換來換去的話,底下只會放一種佈景,你可以建置一個 sandbox,透過 --theme 參數去切換嘗試各種不同佈景,在本地跑起來看看他們的樣子。
還有很多資料夾是 new site 時不會產生的,例如 assets、i18n、public
,之後文章還會有機會帶到;明天會講要如何挑選佈景。
想請教一下
若你 new 的文章頂層資料夾名稱 (top level path) 對應不到模板時,會使用 default.md 作為模板生成文件。
這裡的頂層資料夾名稱是甚麼意思呢? "對應不到模板"的意思是會對應到哪裡的模板?archetypes嗎?
你好,我腦海記憶體有點清空了,我努力的回想一下,這邊當初寫的「頂層資料夾」指的是
hugo new {頂層資料夾}/content.md
例如:post、page
對應模板則為:
對應不到的意思為:
draft: true
要怎麼設定?
寫在 Front Matter 中,例如
---
categories:
- Hugo
- Test
date: "2020-09-25"
slug: "test"
title: "我是 yaml 格式的 Front Matter"
draft: true
---
Boom!!