今天藉由新增文章這個場景,介紹筆者設置的幾種文章狀態,與使用情境,最後會列出幾個筆者自己曾經的 Q&A。
以下列出關於文章滿足設置條件後,可能的狀態:
當 Front Matter 參數 draft
為 true
時,表示該文目前尚未完成 (草稿)。
當文章有設置發布日期 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
---
過期囉 !!
不能,應該說,你只能使用 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 的內容主題,今天這篇將告一段落,明天開始會寫網站部署,以及其他相關的主題。若有什麼問題,歡迎留言發問交流多多指教,謝謝。