Skip to main content

Hexo的Front-matter

1. 什么是Front-matter?

Front - matter是放置在Markdown文件最顶部的一个特定格式的代码块,用于设置该文件的元数据(metadata)。你可以把它理解为一篇文章的“属性面板”或“身份证”。

Hexo在生成静态页面时,会首先解析Front - matter来获取这篇文章的标题、创建时间、分类、标签等信息,然后根据这些信息来决定如何渲染页面、如何将其归类等。

核心特点

  • 必须放在文件开头。
  • 由三条短横线---包裹。
  • 内部使用YAML(最常见)、JSON或TOML语法。YAML是默认和最推荐使用的格式。

2. 基本语法(YAML格式)

一个最简单的Front - matter看起来像这样:

---
title: Hello World # 文章标题
date: 2023 - 10 - 27 14:00:00 # 文章创建日期
---

在这两行元数据之后,你就可以开始写文章的正文了。

---
title: Hello World
date: 2023 - 10 - 27 14:00:00
---
这里是文章的正文内容,使用 **Markdown** 语法书写。

- 列表项
- 另一个列表项

> 一段引用

3. 常见属性和功能

以下是Hexo Front - matter中最常用和最重要的属性。

3.1. 核心属性

属性名功能描述示例
title文章标题。如果不设置,默认使用文件名作为标题。title: 我的第一篇文章
date文章创建时间。用于决定文章在博客中的排序(默认按时间降序)。格式为YYYY - MM - DD HH:mm:ss。Hexo会自动从文件创建时间获取,但建议手动设置。date: 2023 - 10 - 27 15:30:00
updated文章最后更新时间。会在页面中显示,告知读者内容是否有更新。updated: 2023 - 10 - 28 10:00:00

3.2. 内容组织属性

  • tags(标签)

    • 功能描述:用于描述文章的关键词,一篇文章可以有多个标签。使用 YAML 列表格式

    • 示例

      tags:
      - Hexo
      - 博客
      - 教程

      tags: [Hexo, 博客, 教程]

  • categories(分类)

    • 功能描述:分类具有层级关系,用于对文章进行更系统的组织。一篇文章通常只属于一个分类(可以有多级子分类)。

    • 示例

      categories:
      - 编程
      - Web开发

      这表示文章属于 编程/Web开发 这个二级分类)

3.3. 布局与发布控制属性

属性名功能描述示例
layout文章布局。默认为post。如果设置为draft,则使用草稿布局(通常需要配合草稿功能)。通常使用post即可。layout: post
published是否发布。如果设置为false,Hexo生成时将会跳过此文章。可用于暂时隐藏某篇文章。published: false
type覆盖文章的默认类型。一般用不到。type: post

3.4. 高级与SEO优化属性

属性名功能描述示例
permalink自定义文章链接。覆盖全局的永久链接格式,为某篇文章设置一个特殊的、友好的URL。permalink: my - special - hexo - article (最终URL可能是 yoursite.com/my - special - hexo - article/
cover文章封面图。很多主题支持此属性,用于在列表和文章顶部显示一张头图。cover: /images/hexo - cover.jpg
toc是否显示文章目录(Table of Contents)。如果主题支持,设置为true会自动根据标题生成目录。toc: true
mathjax是否启用MathJax数学公式渲染。如果文章包含LaTeX公式,需要将此设为truemathjax: true
comments是否开启评论。可以针对单篇文章控制评论功能的开关(前提是主题集成了评论系统)。comments: false
sticky文章置顶。给文章一个数值,数值越大,置顶优先级越高。非所有主题支持。sticky: 100

4. 一个完整的Front-matter示例

结合以上属性,一个功能丰富的Front - matter可能长这样:

---
title: 深入理解Hexo的Front - matter
date: 2023 - 10 - 27 16:00:00
updated: 2023 - 10 - 28 09:00:00
tags:
- Hexo
- 静态博客
- 教程
categories:
- 技术
- 博客搭建
description: 本文是一份关于Hexo Front - matter的详细指南,介绍了其定义、语法和各种常见属性的用途,帮助你更好地组织和管理博客内容。
cover: /images/hexo - front - matter - guide.jpg
toc: true
mathjax: false
comments: true
permalink: deep - dive - into - hexo - front - matter
---

5. 总结

Front - matter是Hexo博客内容管理的核心。通过熟练使用这些属性,你可以:

  • 精确控制内容:设置标题、时间、摘要。
  • 高效组织内容:通过分类和标签将文章结构化。
  • 优化用户体验:使用封面图、目录、置顶等功能。
  • 提升SEO:自定义链接、添加描述。

建议你在写作时养成规范填写Front - matter的习惯,这会让你的博客管理起来更加得心应手。