基本用法
测试安装
在安装Hugo之后,通过以下命令来测试安装是否成功:
hugo version
你应该能看到类似如下的输出:
hugo v0.105.0-0e3b42b4a9bdeb4d866210819fc6ddcf51582ffa+extended linux/amd64 BuildDate=2022-10-28T12:29:05Z VendorInfo=snap:0.105.0
显示可用命令
要查看可用命令和标志的列表:
hugo help
要获取关于子命令的帮助,请使用--help
标志。例如:
hugo server --help
构建站点
要构建站点,请进入项目目录并运行以下命令:
hugo
hugo
命令会构建你的站点,并将文件发布到public
目录中。要将站点发布到其他目录,请使用--destination
标志或在站点配置中设置publishDir
。
草稿、未来和过期内容
Hugo允许你在内容的前置元数据中设置draft
、date
、publishDate
和expiryDate
。默认情况下,Hugo在以下情况下不会发布内容:
draft
的值为true
date
在未来publishDate
在未来expiryDate
在过去
你可以在运行hugo
或hugo server
时使用命令行标志覆盖默认行为:
hugo --buildDrafts # 或 -D
hugo --buildExpired # 或 -E
hugo --buildFuture # 或 -F
尽管你也可以在站点配置中设置这些值,但除非所有内容作者都了解并理解这些设置,否则可能会导致意外结果。
开发和测试站点
要在开发布局或创建内容时查看站点,请进入项目目录并运行以下命令:
hugo server
hugo server
命令会将站点构建到内存中,并使用一个最小的HTTP服务器提供页面。运行hugo server
后,它会显示你本地站点的URL:
Web服务器可用于 http://localhost:1313/
在服务器运行时,它会监视项目目录中的资产、配置文件、内容、数据、布局、翻译和静态文件的更改。当它检测到更改时,服务器会重新构建你的站点并使用LiveReload刷新浏览器。
大多数情况下,Hugo的构建速度非常快,除非你直接查看浏览器,否则你可能无法注意到变化。
实时重载
在服务器运行时,Hugo会将JavaScript注入到生成的HTML页面中。LiveReload脚本通过web socket在浏览器与服务器之间创建连接。你不需要安装任何软件或浏览器插件,也不需要进行任何配置。
自动重定向
在编辑内容时,如果你希望浏览器自动重定向到最后修改的页面,请运行以下命令:
hugo server --navigateToChanged
部署站点
当你准备好部署你的站点时,运行以下命令:
hugo
这会构建你的站点,并将文件发布到public目录。目录结构大致如下:
public/
├── categories/
│ ├── index.html
│ └── index.xml <-- 此类别的RSS订阅
├── post/
│ ├── 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工作流部署他们的站点,即将推送1到他们的GitHub或GitLab仓库触发构建和部署。流行的提供者包括AWS Amplify、CloudCannon、Cloudflare Pages、GitHub Pages、GitLab Pages和Netlify。
在托管和部署部分了解更多信息。
-
Git仓库包含整个项目目录,通常不包括public目录,因为站点是在推送之后构建的。 ↩︎