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 > Cover images

交叉列表

字段类型默认值说明
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