分类页面使用说明

最后更新于:

📁 功能概述

基于「关于本站」页面的 Bento 网格风格,打造的分类页面。页面包含:

✨ 主要特性

  1. 顶部标题区域 - 渐变色卡片,带图标和统计徽章
  2. 概览卡片 - 热门分类、文档总数、分类数量、最近更新
  3. 分类导航标签 - 从文档 frontmatter 动态读取,居中展示,悬浮动画
  4. 文档列表 - 无限滚动 marquee 动画,复刻「关于本站」最近文档样式
  5. 分类统计图表 - 可视化柱状进度条
  6. 完全可配置 - 通过 frontmatter 控制页面结构

🎨 UI 风格特点

  • ✅ 支持亮色/暗色模式自动切换
  • ✅ 渐变色卡片和背景
  • ✅ 柔和阴影和圆角设计
  • ✅ 悬浮上移动画效果
  • ✅ 文档列表无限滚动动画(marquee)
  • ✅ 入场淡入动画
  • ✅ 完全响应式设计

📂 相关文件

页面配置文件 ⭐

位置: content/categories.md

所有页面结构配置都在这里完成。

分类首页模板

位置: themes/hugo-teek/layouts/categories/single.html

主要功能:

  • 读取 categoriesConfig 配置
  • 动态渲染各个区块(标题卡片、概览、标签云、文档列表、统计)
  • 内联样式,无需额外 SCSS 文件

分类详情模板

位置: themes/hugo-teek/layouts/taxonomy/category.html

用于点击某个分类后的详情页(如 /categories/博客/),展示该分类下的文档列表。

⚠️ 前置条件:启用 Taxonomy

分类功能依赖 Hugo 的 taxonomy 系统,必须在配置中启用。

编辑 user-template/hugo.toml(或 user-configuration/hugo.toml):

1[taxonomies]
2  category = "categories"
3  tag = "tags"

⚠️ 如果 [taxonomies] 为空,Hugo 会完全禁用分类系统,分类导航将无法读取任何数据。

🚀 配置说明

重要提示

⚠️ 必须使用 categoriesConfig 作为配置字段名,而不是 categories

原因categories 是 Hugo 的保留字段,用于文档分类系统。如果使用 categories 作为配置字段名,会导致模板渲染错误。

页面配置文件结构

所有配置都在 content/categories.md 的 frontmatter 中:

 1---
 2title: 分类
 3url: /categories/
 4layout: categories
 5description: 浏览所有文档分类,快速找到你感兴趣的内容
 6
 7categoriesConfig:
 8  # 📌 页面标题区域
 9  header:
10    icon: "📂"                    # 标题图标
11    title: "文档分类"             # 自定义标题
12    subtitle: "探索知识的海洋"    # 自定义副标题
13
14  # 💳 概览卡片配置
15  overview:
16    enabled: true                 # 是否显示概览区域
17    cards:
18      - type: "gradient"          # 渐变卡片(显示热门分类)
19        label: "热门分类"
20        showCount: true           # 是否显示文档数
21      - type: "text"              # 文字卡片(显示文档总数)
22        label: "文档总数"
23        desc: "篇文档等待探索"
24
25  # 🏷️ 分类导航配置(从文档 frontmatter categories: 动态读取)
26  tags:
27    enabled: true                 # 是否显示分类导航
28    title: "分类导航"             # 区域标题
29    icon: "🏷️"                    # 标题图标
30    showCount: true               # 是否显示各分类的文档数量
31
32  # 📝 文档列表配置(marquee 无限滚动样式)
33  articles:
34    enabled: true                 # 是否显示文档列表
35    title: "文档列表"             # 区域标题
36    icon: "📝"                    # 标题图标
37    showSubtitle: true            # 是否显示文档数量副标题
38    columns: 6                    # marquee 显示的文档数量
39
40  # 📊 统计图表配置
41  stats:
42    enabled: true                 # 是否显示统计区域
43    title: "分类统计"             # 区域标题
44    icon: "📊"                    # 标题图标
45    showBar: true                 # 是否显示进度条
46
47  # 💬 评论配置
48  comments:
49    enabled: false                # 是否显示评论区
50---

常用配置示例

1. 简洁模式 - 只显示导航和文档

 1# 简洁模式:隐藏概览卡片、统计区和评论区,仅保留标题、分类导航和文档列表
 2categoriesConfig:
 3  header:
 4    icon: "📂"          # 标题区域图标
 5    title: "文档分类"   # 页面主标题
 6  overview:
 7    enabled: false      # 关闭概览卡片区域(热门分类/文档总数/分类数量/最近更新)
 8  tags:
 9    enabled: true       # 开启分类导航标签云
10    showCount: true     # 标签旁显示该分类下的文档数量
11  articles:
12    enabled: true       # 开启文档列表(marquee 无限滚动)
13    columns: 4          # 文档列表一次性展示 4 篇
14  stats:
15    enabled: false      # 关闭分类统计图表
16  comments:
17    enabled: false      # 关闭评论区

2. 完整模式 - 显示所有区块

 1# 完整模式:展示所有区块,适合作为分类主页使用
 2categoriesConfig:
 3  header:
 4    icon: "📚"                      # 标题区域图标
 5    title: "知识库"                 # 页面主标题
 6    subtitle: "分类整理,高效检索"  # 标题下方的副标题描述
 7  overview:
 8    enabled: true                   # 开启概览卡片区域(显示热门分类/文档总数等)
 9  tags:
10    enabled: true                   # 开启分类导航标签云
11    title: "快速导航"               # 自定义标签云区域的标题
12    icon: "🏷️"                     # 标签云区域标题前的图标
13  articles:
14    enabled: true                   # 开启文档列表(marquee 无限滚动)
15    columns: 8                      # 文档列表一次性展示 8 篇
16    showSubtitle: true              # 在区域标题旁显示 "共 N 篇" 数量副标题
17  stats:
18    enabled: true                   # 开启分类统计图表
19    showBar: true                   # 统计项显示可视化进度条
20  comments:
21    enabled: true                   # 开启评论区

3. 仅统计模式 - 只看分类分布

 1# 仅统计模式:隐藏文档列表和概览卡片,专注展示分类分布统计
 2categoriesConfig:
 3  header:
 4    icon: "📊"          # 标题区域图标(仅保留标题头部)
 5  overview:
 6    enabled: false      # 关闭概览卡片区域
 7  tags:
 8    enabled: true       # 开启分类导航标签云,方便切换分类
 9    showCount: true     # 标签旁显示该分类下的文档数量
10  articles:
11    enabled: false      # 关闭文档列表
12  stats:
13    enabled: true       # 开启分类统计图表(核心展示内容)
14    showBar: true       # 统计项显示可视化进度条,直观对比分类热度
15  comments:
16    enabled: false      # 关闭评论区

🔧 技术实现

核心 Hugo 模板标签

1// 获取所有分类及数量(从文档 frontmatter categories: 读取)
2.Site.Taxonomies.categories.ByCount
3
4// 获取当前分类下的文档
5.Pages.ByPublishDate.Reverse
6
7// 读取配置
8.Params.categoriesConfig

文档列表:marquee 无限滚动

复刻"关于本站"页面的"最近文档"模块,使用 CSS @keyframes marqueeScroll 实现:

  • 双组文档卡片拼接,实现无缝循环
  • hover 暂停滚动
  • 左右渐变遮罩(mask-image)
  • columns 控制显示文档数量(默认 6)

分类导航:动态读取

分类导航标签从 Hugo taxonomy 系统读取,数据来源是所有文档 frontmatter 中的 categories: 字段。模板自动统计每个分类的文档数量并展示。

响应式设计

  • > 768px: 概览卡片 4 列,标签云居中
  • 768px - 640px: 概览卡片 2 列
  • < 640px: 概览卡片 2 列,文档卡片缩小(150px),标签间距减小

📝 文档 Frontmatter 示例

 1---
 2# 文档 Frontmatter 示例:只需添加 categories 字段即可自动归入对应分类
 3title: "文档标题"      # 文档标题,会显示在分类页面的文档列表中
 4date: 2026-06-17      # 发布日期,用于排序和显示
 5categories:           # 文档所属分类(Hugo taxonomy 系统自动识别)
 6  - "博客"            # 分类名称,对应分类页面导航标签中的显示名
 7tags:                 # 文档标签(与分类页面无直接关联,供其他功能使用)
 8  - "Hugo"
 9  - "CSS"
10---

文档发布后,其 categories 会自动出现在分类页面的导航标签中。

🎯 效果预览

根据配置,页面可展示:

  1. 顶部: 渐变标题卡片 + 分类数量 + 文档总数徽章
  2. 概览区: 热门分类卡片 + 文档总数卡片 + 分类数量卡片 + 最近更新卡片
  3. 导航区: 居中排列的分类标签云(从文档 frontmatter 动态读取)
  4. 文档区: 无限滚动 marquee 样式的文档卡片列表
  5. 统计区: 各分类的柱状进度条可视化
  6. 评论区: 可选启用

所有样式都完美支持暗色模式自动切换!

✅ 集成清单

  • ✅ 配置文件(content/categories.md
  • ✅ 分类首页模板(layouts/categories/single.html,含内联样式)
  • ✅ 分类详情模板(layouts/taxonomy/category.html,含内联样式)
  • ✅ 分类导航居中显示
  • ✅ 文档列表 marquee 无限滚动
  • ✅ 响应式设计
  • ✅ 暗色模式支持
  • ✅ Hugo taxonomy 已启用(hugo.toml[taxonomies]

🚀 开始使用

  1. 确保 hugo.toml[taxonomies] 已启用(见前置条件)
  2. 编辑 content/categories.md 配置页面结构
  3. 在文档 frontmatter 中添加 categories: ["分类名"]
  4. 访问 /categories/ 查看效果
  5. 根据需要调整配置参数
推荐使用微信支付
微信支付二维码
推荐使用支付宝
支付宝二维码
最新文章