iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 15
0
Modern Web

Hugo 貼身打造個人部落格系列 第 15

Day 15. Hugo Content - 文章狀態與 Q&A

  • 分享至 

  • xImage
  •  

前言

今天藉由新增文章這個場景,介紹筆者設置的幾種文章狀態,與使用情境,最後會列出幾個筆者自己曾經的 Q&A。

文章狀態

以下列出關於文章滿足設置條件後,可能的狀態:

  • 草稿狀態:你的文章是否已完成撰寫工作,準備隨時可以發布
  • 發布狀態:已經搞定的文章是否已經滿足發佈相關設置 (公開可見)
  • 有效狀態:你的文章是否有設置有效期限,是否已經過期需被隱藏

草稿狀態

當 Front Matter 參數 drafttrue 時,表示該文目前尚未完成 (草稿)。

發布狀態

當文章有設置發布日期 publishDate,並執行 hugo server 本地運行或 hugo 打包時,會把目前文章 (跟現在時間相比) 轉為未發布或已發布,若沒設置發布日期,文章會以 date 做為發布時間,若 date 設置了一個未來時間,則文章直到該時間點之前都不會顯示。

有效狀態

文章中若設置了 expiryDate 且當前時間已超過該設置,hugo 就不會再渲染此(無效)文章;若你有需要特別渲染過期的文章,可設置個過期時間測試一下,執行指令 hugo server --buildExpired 看看效果

---
title: "My First Post"
date: 2020-09-28T07:00:00+08:00
expiryDate: 2020-09-28T07:30:00+08:00
---

過期囉 !!

欸? (Q & A)

那個 .md 能不能省略?

不能,應該說,你只能使用 hugo 有標記 (markup) 支援的副檔名,關於支援度請參考官方關於 Content Formats 的說明。

建議是在下指令生成每一篇文章時,都記得帶上 .md 的副檔名,是最直接的做法,保證 Hugo 渲染時能正常抓到所有文章。

hugo new post/adding-file-extension-dot-md-looks-cool.md

草稿跟非草稿具體的差別是?

筆者認為「草稿狀態」可以視個人習慣決定要不要拿來運用,例如有時靈感噴發,覺得可以寫上一篇,但同時又覺得準備尚有不足,需要讓子彈飛一會,可以暫時將文章設為草稿,醞釀一陣子。

筆者會盡量少去用到草稿狀態,一方面為了控制 WIP 不超過 3 (不同時開寫多篇文章,但都沒寫完放著),半成品達到上限時就逼自己趕快寫完才更新;另一方面,如果感覺還沒寫完,對自己而言是「未完成/半成品的文章」的話,不想要只為了頻繁更新網站,就勉強發布。

何時會用到「未來發布」或「未來封存」?

假設你是有很多儲備文章 (指完成度 99% 的庫存文章) 的人,但你想要讓網站有個適當的發文頻率,避免一天之內就瘋狂發表很多新的文章,就可以妥善設置每天文章「面世的時間點」。

而若是有時效性的文章,例如業配文,且有跟廠商簽約,文章上架宣傳的期間,哪一天開始,到哪一天截止,為了避免到時候忘記撤掉文章,可以事先設置何時過期。

文章要怎麼「刪除」?

Hugo 刪除文章的方式就是「直接把檔案給移除」就好。

若是已經發布 public 資料包到線上的話,且你的 public 是使用 GitHub Page (有版本控制),則你 clone 下來的 public 會存有舊的文章,需移除乾淨再重新打包上傳。

小結

今天介紹了筆者自己在運用上,整理使用的文章狀態,以及狀態設置的運用案例,建議各位可以摸索看看,找出適合自己的一套運用方式。

到今天為止,已經接連六天寫了關於 Hugo Content 的內容主題,今天這篇將告一段落,明天開始會寫網站部署,以及其他相關的主題。若有什麼問題,歡迎留言發問交流多多指教,謝謝。

參考連結


上一篇
Day 14. Hugo Content - Taxonomies
下一篇
Day 16. Hugo Site 部署 - GitHub Pages
系列文
Hugo 貼身打造個人部落格30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言