基本用法
测试安装
安装 Hugo 后,通过运行以下命令测试您的安装:
hugo version您应该看到类似这样的输出:
hugo v0.155.3-8a858213b73907e823e2be2b5640a0ce4c04d295+extended linux/amd64 BuildDate=2026-02-08T16:40:42Z VendorInfo=gohugoio显示可用命令
查看可用命令和标志的列表:
hugo help要获取子命令的帮助,使用 --help 标志。例如:
hugo server --help构建站点
要构建站点,进入项目目录并运行:
hugohugo 命令构建您的站点,将文件发布到 public 目录。要将站点发布到不同的目录,使用 --destination 标志或在站点配置中设置 publishDir。
Hugo 在构建站点之前不会清除 public 目录。现有文件会被覆盖,但不会被删除。这种行为是有意为之,以防止意外删除您在构建后可能添加到 public 目录的文件。
根据您的需求,您可能希望在每次构建之前手动清除 public 目录的内容。
草稿、未来和过期内容
Hugo 允许您在内容的 front matter 中设置 draft、date、publishDate 和 expiryDate。默认情况下,Hugo 在以下情况下不会发布内容:
draft值为truedate在未来publishDate在未来expiryDate在过去
运行 hugo 或 hugo server 时,可以使用命令行标志覆盖默认行为:
hugo --buildDrafts # 或 -D
hugo --buildExpired # 或 -E
hugo --buildFuture # 或 -F虽然您也可以在站点配置中设置这些值,但除非所有内容作者都了解并理解这些设置,否则可能会导致不需要的结果。
如上所述,Hugo 在构建站点之前不会清除 public 目录。根据上述四个条件的 当前 评估,在构建之后,您的 public 目录可能包含来自以前构建的多余文件。
常见的做法是在每次构建之前手动清除 public 目录的内容,以删除草稿、过期和未来内容。
开发和测试站点
在开发布局或创建内容时查看您的站点,进入项目目录并运行:
hugo serverhugo server 命令构建您的站点并使用最小化的 HTTP 服务器提供页面。运行 hugo server 时,它将显示您本地站点的 URL:
Web Server is available at http://localhost:1313/服务器运行时,它会监视项目目录中资产、配置、内容、数据、布局、翻译和静态文件的变化。当检测到变化时,服务器会重新构建站点并使用 LiveReload 刷新浏览器。
大多数 Hugo 构建速度非常快,除非您直接看着浏览器,否则可能注意不到变化。
LiveReload
服务器运行时,Hugo 将 JavaScript 注入到生成的 HTML 页面中。LiveReload 脚本通过 WebSocket 在浏览器和服务器之间创建连接。您不需要安装任何软件或浏览器插件,也不需要任何配置。
自动重定向
在编辑内容时,如果您希望浏览器自动重定向到最后修改的页面,运行:
hugo server --navigateToChanged部署站点
如上所述,Hugo 在构建站点之前不会清除 public 目录。在每次构建之前手动清除 public 目录的内容,以删除草稿、过期和未来内容。
当您准备部署站点时,运行:
hugo这将构建您的站点,将文件发布到 public 目录。目录结构看起来像这样:
public/
├── categories/
│ ├── index.html
│ └── index.xml <-- 此分类的 RSS 源
├── posts/
│ ├── my-first-post/
│ │ └── index.html
│ ├── index.html
│ └── index.xml <-- 此分类的 RSS 源
├── tags/
│ ├── index.html
│ └── index.xml <-- 此标签的 RSS 源
├── index.html
├── index.xml <-- 站点的 RSS 源
└── sitemap.xml在简单的托管环境中,您通常通过 ftp、rsync 或 scp 将文件复制到虚拟主机的根目录,public 目录的内容就是您需要的所有文件。
我们的大多数用户将站点部署到 CI/CD 平台,推送到远程 Git 仓库会触发构建和部署。在 托管和部署 部分了解更多信息。