创建新的 Hugo 主题

May 2026 · 3 minute read

这是一个关于如何从零开始创建一个新的 Hugo 主题的详尽指南。Hugo 是一个流行的静态网站生成器,以其速度和灵活性而闻名。创建自定义主题是充分利用 Hugo 功能的关键一步。

1. 理解 Hugo 主题结构

在开始编码之前,了解 Hugo 主题的基本文件和目录结构至关重要。一个典型的 Hugo 主题包含以下几个主要部分:

2. 设置 Hugo 开发环境

首先,确保您已安装 Hugo。您可以从 Hugo 官方网站下载适合您操作系统的版本。安装完成后,创建一个新的 Hugo 站点:

hugo new site my-new-site
cd my-new-site

接下来,我们需要为我们的主题创建一个目录。通常,主题文件会放在您网站根目录下的 themes/ 文件夹中。

mkdir themes/my-theme

3. 创建主题的布局文件

layouts/ 目录是主题的核心。我们将从创建基础的布局文件开始。

4. 添加静态资源

我们需要为我们的主题添加一些 CSS 样式。在 themes/my-theme/static/css/ 目录下创建一个 style.css 文件。

body {
    font-family: sans-serif;
    margin: 20px;
    line-height: 1.6;
}

header, footer {
    background-color: #f4f4f4;
    padding: 10px;
    text-align: center;
}

nav ul {
    list-style: none;
    padding: 0;
}

nav ul li {
    display: inline;
    margin-right: 10px;
}

article {
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}

article:last-child {
    border-bottom: none;
}

5. 配置您的 Hugo 站点

在您的网站根目录下的 config.toml (或 config.yaml, config.json) 文件中,指定您使用的主题。

baseURL = "http://example.org/"
languageCode = "en-us"
title = "My New Hugo Site"
theme = "my-theme"

[menu]
  [[menu.main]]
    name = "About"
    URL = "/about/"
    weight = 1
  [[menu.main]]
    name = "Contact"
    URL = "/contact/"
    weight = 2

6. 创建内容

现在,让我们为网站创建一些内容。在您的网站根目录下的 content/ 文件夹中创建文件。

7. 运行 Hugo 服务器

在您的网站根目录下运行以下命令来启动 Hugo 开发服务器:

hugo server -D

-D 标志会包含草稿(draft)内容。现在,您可以在浏览器中访问 http://localhost:1313/ 来查看您的新主题和内容。

8. 进阶主题开发

9. 部署

当您对主题满意后,运行 hugo 命令来生成静态网站。生成的文件会存放在 public/ 目录下。您可以将 public/ 目录下的内容部署到任何静态网站托管服务上,如 Netlify, Vercel, GitHub Pages 等。

创建 Hugo 主题是一个迭代的过程。通过不断尝试和学习,您可以构建出高度定制化且功能强大的网站。