Frontmatter

什麼是 frontmatter

Frontmatter 是 markdown 檔案最開頭、兩行 --- 之間的 YAML 區塊。它告訴 moss 這個頁面的標題、日期、可見性等資訊。

---
title: 我的第一篇文章
date: 2024-06-15
description: 給搜尋引擎和列表預覽用的簡短摘要。
---

這裡是正文內容。

Frontmatter 不是必填的。沒有 frontmatter 的檔案一樣會變成頁面——moss 會用檔名作為標題。

識別

描述頁面本身的欄位。

欄位類型預設值說明
titlestring檔名頁面標題
descriptionstringSEO 描述,也用於列表預覽
datestring發佈日期(YYYY-MM-DD
tagslist內容標籤
langstring自動偵測語言覆蓋("en""zh-hans""zh-hant"

導覽

控制頁面在網站導覽和介面中如何呈現。

欄位類型預設值說明
navboolean根目錄頁面為 true是否顯示在頂部導覽列
weightinteger導覽和列表中的排序(數值越小越前面)
breadcrumbboolean網站預設是否顯示麵包屑導覽
footerboolean網站預設是否顯示頁尾

可見性

參見結構中對可見性的定義。

欄位類型預設值說明
draftbooleanfalse完全跳過產生
unlistedbooleanfalse產生頁面但不列入列表和 Sitemap

子頁面

這些欄位控制資料夾頁面如何顯示其子頁面。

欄位類型預設值說明
childrenbooleantrue欄目頁是否顯示子頁面列表
children_stylestring"list""list""card""summary"
children_groupstring"none""year" 分組或 "none"
children_depthstring"direct""direct"(僅直屬子頁面)或 "all"(所有後代)
children_sourcestringWikilink 指向另一個資料夾,顯示其子頁面

卡片佈局會使用每個子頁面 frontmatter 中的 cover 圖片。

媒體

欄位類型預設值說明
coverstring封面圖路徑,用於卡片佈局和頁面標頭
cover_typestring自動偵測"image""video""iframe"
logostring顯示在網站標頭的 Logo 圖片

詳見 media > 封面圖

交叉列表

欄位類型預設值說明
also_inlist讓文章同時出現在其他資料夾的子頁面列表中
seriesbool/list系列宣告——將相關文章按閱讀順序分組

also_in 讓一篇文章出現在多個欄目中,不需要複製檔案:

---
title: 搭建棚架
also_in:
  - projects
  - featured
---

進階

欄位類型預設值說明
cascademap將設定值向下傳遞給所有後代頁面
urlstring依檔案路徑自訂 URL
translationKeystring將不同檔案連結為彼此的翻譯
uidstring自動產生內容可定址 ID
layoutstringauto範本:"page""article"
sidebarstringWikilink 指向一個資料夾,作為側邊欄導覽
review_ofstring被評論作品的 URL
ratinginteger評分(1–5)
commentsbooleantrue是否顯示留言區

Cascade

cascade 將 frontmatter 值傳遞給所有後代頁面,省去逐一設定的麻煩:

---
title: 文件
cascade:
  breadcrumb: true
  comments: false
---

所有子頁面自動繼承這些值,除非在自己的 frontmatter 中覆蓋。

Published with moss