Hugo Stack 主题详细配置及使用指南

Blockchain meets machine learning: a survey

Hugo Stack 主题详细配置及使用指南

你想要全面掌握 Hugo Stack 主题的配置与使用,我会从环境准备、主题部署、核心配置、内容创作到高级自定义,为你提供完整的操作流程。

一、前置准备

1. 安装 Hugo

Stack 主题对 Hugo 版本有要求(推荐 Hugo Extended 0.91.0+,必须是 Extended 扩展版本,用于支持 SCSS 样式编译):

  • Windows:通过 Chocolatey 安装 choco install hugo-extended,或直接从 Hugo 官网 下载二进制文件
  • Mac:通过 Homebrew 安装 brew install hugo
  • Linux:通过包管理器安装(如 Ubuntu:sudo apt install hugo-extended
  • 验证安装:hugo version,输出包含 extended 字样即为成功

2. 新建 Hugo 站点

打开终端执行以下命令,创建基础站点目录:

1
2
3
4
5
6
# 创建站点目录(替换 my-blog 为你的站点名称)
hugo new site my-blog
# 进入站点目录
cd my-blog
# 初始化 Git 仓库(后续主题部署需要)
git init

二、安装 Stack 主题

推荐使用 Git Submodule 方式安装(方便后续主题更新),也支持手动下载安装。

方式 1:Git Submodule 安装(推荐)

1
2
# 在站点根目录执行,将 Stack 主题作为子模块导入
git submodule add https://github.com/CaiJimmy/hugo-theme-stack.git themes/stack

方式 2:手动下载安装

  1. Stack 主题 GitHub 仓库 下载最新版本(Code -> Download ZIP)
  2. 解压压缩包,将文件夹重命名为 stack,放入站点的 themes/ 目录下(若没有 themes 文件夹,手动创建)

三、基础配置(核心:config.toml)

站点的核心配置文件是根目录下的 config.toml,需替换默认内容,以下是 Stack 主题的基础配置模板,关键配置已标注说明:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# 站点基础信息
baseURL = "https://your-domain.com/"  # 你的站点域名(本地调试可设为 "http://localhost:1313/")
languageCode = "zh-cn"               # 站点语言(中文设为 zh-cn)
title = "我的博客"                   # 站点标题
theme = "stack"                      # 指定使用 Stack 主题
defaultContentLanguage = "zh-cn"
enableInlineShortcodes = true
enableRobotsTXT = true               # 启用 robots.txt

# 分页配置
paginate = 10                        # 首页/分类页每页显示文章数量

# Stack 主题专属配置 [params]
[params]
    # 站点描述(用于 SEO)
    description = "一个基于 Hugo Stack 主题搭建的个人博客"
    # 作者信息
    author = "你的名字"
    # 站点关键词(逗号分隔)
    keywords = ["博客", "技术", "Hugo", "Stack"]
    
    # 外观配置
    defaultTheme = "light"            # 默认主题(light/ dark/ auto)
    displayFullLangName = true        # 显示完整语言名称
    imageProcessing = true            # 启用图片处理(压缩、裁剪等)
    
    # 导航栏配置(顶部菜单)
    [params.menu]
        main = [
            { identifier = "home", name = "首页", url = "/", weight = 1 },
            { identifier = "posts", name = "文章", url = "/posts/", weight = 2 },
            { identifier = "categories", name = "分类", url = "/categories/", weight = 3 },
            { identifier = "tags", name = "标签", url = "/tags/", weight = 4 },
            { identifier = "about", name = "关于", url = "/about/", weight = 5 },
        ]
    
    # 页脚配置
    [params.footer]
        enable = true
        text = "© 2026 我的博客 | 基于 Hugo & Stack 构建"
        # 社交图标(支持 Github、Twitter 等,完整列表参考 Stack 文档)
        social = [
            { name = "Github", url = "https://github.com/your-username" },
            { name = "Email", url = "mailto:your-email@xxx.com" }
        ]

# 内容类型配置(Stack 主题推荐)
[taxonomies]
    category = "categories"
    tag = "tags"
    series = "series"

# Markdown 配置
[markup]
    defaultMarkdownHandler = "goldmark"
    [markup.goldmark]
        [markup.goldmark.extensions]
            definitionList = true
            footnote = true
            linkify = true
            strikethrough = true
            table = true
            taskList = true
            typographer = true
    # 启用代码高亮
    [markup.highlight]
        codeFences = true
        lineNos = false
        lineNumbersInTable = false
        noClasses = false

四、内容创作

1. 新建文章

使用 Hugo 命令快速创建文章,自动生成 Front Matter(文章头部配置):

1
2
# 新建一篇标题为 "Hugo Stack 主题使用教程" 的文章
hugo new posts/hugo-stack-guide.md

2. 文章 Front Matter 配置(关键)

新建的文章位于 content/posts/ 目录下,打开后需完善 Front Matter(YAML 格式,也支持 TOML/JSON),以下是完整示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
---
title: "Hugo Stack 主题使用教程"  # 文章标题
date: 2026-01-04T10:00:00+08:00    # 发布时间
lastmod: 2026-01-04T15:00:00+08:00 # 最后修改时间
draft: false                       # 是否为草稿(false 为正式发布)
tags: ["Hugo", "Stack", "博客搭建"] # 文章标签
categories: ["技术教程"]           # 文章分类
series: ["Hugo 实战"]              # 文章系列(可选)
featuredImage: "cover.jpg"         # 文章特色图片(放在 static/images/ 下,路径写相对路径)
featuredImagePreview: "cover-preview.jpg" # 特色图片预览(可选)
toc: true                          # 是否显示目录
tocOpen: true                      # 是否默认展开目录
summary: "本文详细介绍 Hugo Stack 主题的配置与使用方法" # 文章摘要
---

# 这里开始写文章正文(支持 Markdown 格式)
## 一、什么是 Hugo Stack 主题
Stack 是一款简约、美观、高性能的 Hugo 主题,专注于内容展示,支持响应式布局。

// 正文内容...

3. 新建独立页面(如关于页)

1
2
# 新建关于页
hugo new about.md

打开 content/about.md,完善内容即可,Front Matter 配置可简化:

1
2
3
4
5
6
---
title: "关于我"
date: 2026-01-04T09:00:00+08:00
draft: false
---
这里是关于我的介绍内容...

4. 图片管理

  • 文章内图片推荐放在 static/images/ 目录下,在文章中引用:![图片描述](/images/xxx.jpg)
  • 特色图片(featuredImage)直接填写 /images/xxx.jpg 即可,Stack 主题会自动处理图片尺寸

五、本地调试与预览

在站点根目录执行以下命令,启动本地服务器:

1
2
# 启动本地调试服务器,支持热重载(修改配置/文章后自动刷新)
hugo server

执行成功后,访问 http://localhost:1313/ 即可预览你的博客站点。

六、生成静态站点(部署前准备)

本地调试无误后,执行以下命令生成静态 HTML 文件(用于部署到服务器/Netlify/GitHub Pages 等):

1
2
# 生成静态站点,输出到 public/ 目录
hugo

生成完成后,public/ 目录下的所有文件即为可部署的静态站点资源。

七、高级自定义

1. 自定义样式

无需修改主题源码,在站点根目录创建 assets/scss/custom.scss 文件,写入自定义 CSS/SCSS 样式,示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
// 自定义首页文章卡片样式
.card {
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

// 自定义标题颜色
h1, h2, h3 {
    color: #2c3e50;
}

2. 自定义首页布局

Stack 主题支持两种首页布局:

  • 列表布局(默认):显示文章列表
  • 封面布局:显示一张大封面图 + 站点简介

修改 config.toml 启用封面布局:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
[params]
    # 首页封面布局配置
    [params.home]
        layout = "cover"  # 切换为封面布局(list 为默认列表布局)
        [params.home.cover]
            enable = true
            image = "/images/cover.jpg"  # 封面图片路径
            title = "我的个人博客"
            subtitle = "专注技术分享与生活记录"
            # 是否显示文章列表(封面下方)
            displayPosts = true

3. 启用评论功能(以 Giscus 为例)

Stack 主题原生支持 Giscus、Disqus 等评论系统,以 Giscus 为例(基于 GitHub Discussions):

  1. 先在 Giscus 官网 完成配置,获取对应的 reporepoIdcategoryId 等参数
  2. config.toml 中添加以下配置:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[params]
    [params.comments]
        enable = true
        # 选择评论系统为 giscus
        type = "giscus"
        [params.comments.giscus]
            repo = "your-username/your-repo"  # 你的 GitHub 仓库(格式:用户名/仓库名)
            repoId = "你的 repoId"
            category = "Announcements"        # 仓库的 Discussions 分类
            categoryId = "你的 categoryId"
            mapping = "pathname"
            reactionsEnabled = "1"
            emitMetadata = "0"
            lang = "zh-CN"
            theme = "light"

4. 启用搜索功能

Stack 主题支持本地搜索(基于 Fuse.js),配置如下:

1
2
3
4
5
6
7
[params]
    [params.search]
        enable = true
        type = "local"  # 本地搜索(也支持 algolia 第三方搜索)
        [params.search.local]
            preload = true
            fuse = { threshold = 0.3 }

八、主题更新

若使用 Git Submodule 安装的主题,可通过以下命令更新到最新版本:

1
2
3
4
5
6
7
8
9
# 进入主题目录
cd themes/stack
# 拉取最新代码
git pull origin master
# 返回站点根目录
cd ../../
# 提交更新记录(可选)
git add themes/stack
git commit -m "更新 Stack 主题到最新版本"

九、部署建议

  1. GitHub Pages:将 public/ 目录的内容推送到 username.github.io 仓库的 main 分支(可配合 GitHub Actions 自动部署)
  2. Netlify/Vercel:直接导入你的 Hugo 站点仓库,配置构建命令 hugo,输出目录 public,自动完成部署
  3. 自建服务器:将 public/ 目录上传到 Nginx/Apache 服务器的网站根目录即可

总结

  1. 核心前提:安装 Hugo Extended 版本,通过 Git Submodule 安装 Stack 主题更易维护
  2. 基础配置:重点完善 config.toml[params] 节点(导航、页脚、外观等)
  3. 内容创作:通过 hugo new 命令创建文章,完善 Front Matter 是关键
  4. 本地调试:hugo server 热重载预览,hugo 生成静态站点
  5. 高级自定义:支持自定义样式、首页布局、评论/搜索功能,无需修改主题源码
  6. 部署:public/ 目录为最终静态资源,可部署到 GitHub Pages/Netlify 等平台
使用 Hugo 构建
主题 StackJimmy 设计