秋逸

主题介绍

我的博客主题是基于 Astro 自己 DIY 的, 暂时还没有名字. 本文会介绍该主题的功能特性!

Front Matter

Markdown 文件有两个主要部分:front matter 和内容. Front matter 一般是是 yaml 格式的, 记录了文章的一些元信息, 如发布时间, 文章的标题和标签等.

在我使用了很多别人的主题之后, 我对其有了自己的一些认识: 很多信息是冗余的.

例如文章标题, 完全可以用文件名来做为默认值, 当修改了文件名, 文章的标题也会发生更新. 这个主题的特点是, 每个字段都有自动推断缺失值的能力, 这意味着你完全可以不用写 front matter! 不过我还是建议填写一些必要的字段, 以便于后期切换其他主题.

下面是一个完整的 front matter, 可以看到其中的 date, ctime, pubDate 都是相同的含义, 这是为了兼容从其他框架 (如hexo) 迁移过来的文档, 实际使用时只要选一个自己习惯的用法即可:

---
title: 文章的标题
description: 文章的描述
tags: [标签1, 标签2, 标签3]
date: 2024-07-22 15:36:38
ctime: 2024-07-22 15:36:38
mtime: 2024-07-23 00:00:00
pubDate: 2024-07-22 15:36:38
updatedDate: 2024-07-23 00:00:00
heroImage: ./images/cover.jpg
cover: ./images/cover.jpg
draft: false
---

参数解释

title

type: string

文章标题,会显示在主页的文章列表中。

缺省时按以下规则顺延推断:

  1. Markdown 内的一级标题
  2. Markdown 文件名(不包含文件拓展名 .md

description

type: string

文章描述,会显示在文章详情页的文章内容中。

缺省时按以下规则顺延推断:

  1. Markdown 内 <!-- more --> 之前的所有文本内容
  2. Markdown 内的第一个段落

tags

type: string[]

文章标签,常用于标记文章的所属领域或类别.

缺省时会把文档的路径解析为 Tags. 例如 /os/linux/Linux指令介绍.md, 会被解析为tags: [os, linux]

date、ctime、pubDate

type: string

都表示文章发布时间,一般格式为 YYYY-MM-DD HH:mm:ss

之所以用三个属性来表示文章的发布时间,是为了兼容 hexo 和其他主题

缺省时会使用该文章在 git log 中记录的第一次提交时间.

mtime、updatedDate

type: string

都表示文章更新时间,一般格式为 YYYY-MM-DD HH:mm:ss

使用两个字段,同样是为了兼容 hexo 和其他主题

缺省时使用该文章在 git log 中记录的最后一次提交时间

heroImage、cover

type: string

文章的封面图,会显示在首页的文章列表中. 省略时这篇文章就没有封面了.

draft

type: boolean

是否为草稿. 标记为草稿的文章不会被被编译.

主题介绍
: 杨秋逸
https://yangqiuyi.com/blog/主题/主题介绍/
© 2025 杨秋逸 . All rights reserved.