简要介绍

Front-matter 是 Markdown 文件开头的一块特殊区域,用于定义该文档的元数据(metadata)。它通常采用 YAML 格式,被包裹在三道短横线 ---之间。

✨ 主要作用

Front-matter 的主要作用是为 Markdown 文档添加结构化信息,这些信息可供静态网站生成器(如 Hexo、Jekyll、VitePress、Docusaurus 等)或其它处理 Markdown 的工具读取和使用,以实现:

  • SEO优化:提供标题、描述、标签等,利于搜索引擎收录。
  • 内容管理:用于分类、排序、关联作者、控制展示等。
  • 定制呈现:控制页面布局、显示或隐藏特定元素。

📝 基本语法

Front-matter 放置在 Markdown 文件的最顶部。

1
2
3
4
5
6
---
title: 你的文章标题
date: 2024-03-15
author: 作者名
tags: [标签1, 标签2]
---

🗂️ 常见配置项

Front-matter 支持许多配置项,下表列出了一些常见的字段及其用途:

配置项 (Field) 类型 (Type) 说明 (Description)
title string 文章标题,显示在页面头部与浏览列表中。
date string 文章发布日期,格式通常为 YYYY-MM-DD
author string 文章作者
tags array 文章标签,用于分类文章或支持标签页。通常写成数组形式,如 [tag1, tag2]
categories array 文章分类
description string 文章摘要或描述,常用于SEO和文章列表的简介显示。
layout string 指定布局模板(如 post, page)。
permalink string 自定义文章的超链接地址
published boolean 是否发布false则文章不会被渲染。
image string 文章封面图或特色图像的URL
slug string 文章的友好URL名称,用于生成最终访问路径。
hide_table_of_contents boolean 是否隐藏文章右侧的目录true为隐藏。
sidebar_position number 控制文章在侧边栏中的排序位置,数字越小越靠前。

⚠️ 注意事项

使用 Front-matter 时,需要注意以下几点:

  • 位置必须正确:它必须位于 Markdown 文件的最开头,之前不能有任何内容(包括空格)。
  • 格式必须规范:确保使用正确的 YAML 语法。键值对的冒号后通常要有一个空格,数组元素按规范书写。
  • 解析器支持:Front-matter 本身不会被渲染到最终的 HTML 页面中,其功能需要静态网站生成器或特定插件(如 markdown-it-front-matter)的支持来解析和使用。

💡 使用场景

Front-matter 非常适合以下场景:

  • 静态博客:Hexo、Jekyll、Hugo 等广泛使用 Front-matter 来管理文章的所有元信息。
  • 文档站点:VitePress、Docusaurus 等用其来设置页面标题、描述、侧边栏排序等。
  • 内容管理系统 (CMS):一些 CMS 会利用 Front-matter 来存储内容的相关配置和数据。

Front-matter 很好地补充了 Markdown 在元数据管理方面的不足,通过简单的 YAML 语法,就能让文档携带丰富的结构化信息。

希望这些信息能帮助你更好地理解和使用 Front-matter。