在 Hugo 中,Markdown 文件(.md)通常包含两部分:**Front Matter** 和 **内容**。Front Matter 是文件顶部的 YAML、TOML 或 JSON 格式的元数据块,用于定义文章的属性。以下是 Hugo 中常见的 Front Matter 属性: ### 1. **常用属性** - `title`: 文章的标题。 - `date`: 文章的发布日期,格式为 `YYYY-MM-DD` 或 `YYYY-MM-DDTHH:MM:SS±TT:TT`。 - `draft`: 是否为草稿,`true` 或 `false`。 - `description`: 文章的简短描述。 - `tags`: 文章的标签,通常是一个列表。 - `categories`: 文章的分类,可以是一个字符串或列表。 - `slug`: 自定义文章的 URL 路径。 - `weight`: 用于排序,数值越小越靠前。 - `aliases`: 文章的别名,用于重定向到当前文章。 - `author`: 文章的作者。 - `featured_image`: 文章的封面图片路径。 - `publishDate`: 文章的发布时间(如果与 `date` 不同)。 - `expiryDate`: 文章的过期时间,过期后文章将不再显示。 ### 2. **Hugo 内置属性** - `type`: 文章的类型,通常与内容类型(content type)相关。 - `layout`: 指定文章的布局文件。 - `outputs`: 指定生成的文件格式(如 HTML、JSON 等)。 - `url`: 自定义文章的完整 URL。 - `summary`: 文章的摘要,通常显示在列表页中。 - `readingTime`: 是否显示阅读时间,`true` 或 `false`。 - `lastmod`: 文章的最后修改时间。 - `keywords`: 文章的关键词,用于 SEO。 - `isCJKLanguage`: 是否为中日韩语言内容,`true` 或 `false`。 ### 3. **SEO 相关属性** - `meta_title`: 自定义 SEO 标题。 - `meta_description`: 自定义 SEO 描述。 - `noindex`: 是否禁止搜索引擎索引,`true` 或 `false`。 - `canonicalURL`: 指定规范 URL,用于避免重复内容问题。 ### 4. **自定义属性** 除了上述属性,你还可以在 Front Matter 中添加自定义属性,这些属性可以在模板中通过 `.Params` 访问。例如: ```yaml custom_field: "自定义值" ``` ### 示例 Front Matter ```yaml --- title: "我的第一篇博客" date: 2025-01-27T15:30:00+08:00 draft: false description: "这是 Hugo 博客的第一篇文章" tags: - Hugo - Markdown categories: - 技术 author: "张三" featured_image: "/images/hugo-logo.png" slug: "my-first-post" weight: 1 aliases: - "/old-url" --- ``` ### 5. **内容部分** Front Matter 之后是 Markdown 格式的内容部分,用于编写文章正文。 通过合理使用这些属性,可以更好地管理和展示 Hugo 中的文章内容。