建立文章
本文將說明建立文章時,推薦的整理方式、建議使用的 Front Matter,以及範本。
目次
Page Bundle
建立文章時,建議為每篇文章都準備一單獨的資料夾,然後將文章本體的 Markdown 檔 (須命名為 index.md
)、該篇文章所用到的圖片、封面等素材全包在該資料夾內。
這樣的一個「文章包」就稱為一個「Leaf Bundle」。
mysite/ <- Hugo 專案目錄
├── ...
├── content/ <- 內容目錄
│ ├── _index.md <- 內容目錄頂層的 _index.md 為首頁
│ │
│ └── posts/ <- 這叫 Section,可看作是一種大分類 (也叫 branch bundle)
│ │
│ ├── foo/ <- 這是一個 leaf bundle (文章包)、代表一篇文章及它的素材
│ │ ├── index.md <- bundle 內的 index.md 為文章本體
│ │ └── cover.jpg <- 跟隨著文章被打包的素材
│ │
│ └── bar/ <- 這是另一個 leaf bundle (另一篇文章)
│ └── index.md
├── data/
├── i18n/
└── ...
建立文章
需要建立文章時,在終端機內 cd
至 Hugo 專案目錄,然後執行下列指令:
|
|
例如:
|
|
這樣 Hugo 就會幫你建好 貓貓快樂的一天/
leaf bundle 資料夾、裡面放好 index.md
,並且在 Markdown 的開頭自動填寫好文章標題等 Front Matter。
用終端機只是一個選項,Hugo 當然不會阻止你手動為文章建立資料夾結構。
至於 Front Matter 有哪些參數欄位可填,請參考:
Archetype
前面提到的建立文章指令,其方便之處在於,你可以為文章的 Markdown 檔案設計一個「範本」,把常用的 Front Matter 寫進去,就不需要每次發文都要查找設定參數、複製貼上。
此處說明再多都不如一次實驗來得直觀,請將以下內容複製後,覆蓋掉你現在 Hugo 專案目錄 archetypes/
下的 default.md
內容。
---
title : "{{ .File.ContentBaseName | humanize | replaceRE `\s+` " " | title }}"
date : {{ .Date }}
slug : "{{ .File.ContentBaseName | urlize }}" # 文章的網址字樣
isCJKLanguage : true # 此文章含中/日/韓文 (用於字數統計等功能)
description : "填入文章描述 (適合 SEO 的簡短介紹)"
summary : "填入文章大意 (適合在列表預覽文章內容)"
keywords : ["SEO關鍵字1", "SEO關鍵字2", "SEO關鍵字3"]
tags : ["tag a", "tag b", "tag c"]
params:
neso:
show_toc : false # 顯示目次
cover: # 封面圖設定 (無封面請連同下面設定整段刪去)
image : "<封面圖URL>" # 若封面圖和 md 檔一起在 bundle 內,直接寫檔名即可
caption : "<封面圖標題>" # optional,會顯示在封面圖下
alt_text : "<封面圖描述>" # optional,無障礙替代文字
---
Markdown 正文由此開始
完成後,在 Hugo 專案目錄試著執行下列指令:
|
|
你將發現 Hugo 幫你建出來的文章 Markdown 已將重要資料帶入,並且一些設定也都列在裡面了。
archetypes/
裡面的 default.md
就是範本檔,hugo new
建文章指令就是拿範本檔給你用 (裡面的 {{ ... }}
則是指示 Hugo 填入資料)。