knowledge-vault/sources/references/开发笔记/Hugo/Hugo中的属性.md

2.5 KiB
Raw Blame History

在 Hugo 中Markdown 文件(.md通常包含两部分Front Matter内容。Front Matter 是文件顶部的 YAML、TOML 或 JSON 格式的元数据块,用于定义文章的属性。以下是 Hugo 中常见的 Front Matter 属性:

1. 常用属性

  • title: 文章的标题。
  • date: 文章的发布日期,格式为 YYYY-MM-DDYYYY-MM-DDTHH:MM:SS±TT:TT
  • draft: 是否为草稿,truefalse
  • 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: 是否显示阅读时间,truefalse
  • lastmod: 文章的最后修改时间。
  • keywords: 文章的关键词,用于 SEO。
  • isCJKLanguage: 是否为中日韩语言内容,truefalse

3. SEO 相关属性

  • meta_title: 自定义 SEO 标题。
  • meta_description: 自定义 SEO 描述。
  • noindex: 是否禁止搜索引擎索引,truefalse
  • canonicalURL: 指定规范 URL用于避免重复内容问题。

4. 自定义属性

除了上述属性,你还可以在 Front Matter 中添加自定义属性,这些属性可以在模板中通过 .Params 访问。例如:

custom_field: "自定义值"

示例 Front Matter

---
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 中的文章内容。