部署
部署
原文
https://imfing.github.io/hextra/zh-cn/docs/getting-started/
快速开始
从模板快速启动
imfing/hextra-starter-template
您可以通过使用上述模板仓库快速开始。
我们提供了一个GitHub Actions工作流,可以帮助自动构建并将您的站点部署到GitHub Pages,并免费托管。 更多选项,请查看部署站点。
作为新项目启动
有两种主要方式将Hextra主题添加到您的Hugo项目中:
- Hugo模块(推荐):最简单且推荐的方法。Hugo模块允许您直接从在线源拉取主题。主题会自动下载并由Hugo管理。
- Git子模块:或者,将Hextra添加为Git子模块。主题由Git下载并存储在项目的
themes
文件夹中。
方式1:将Hextra设置为Hugo模块
先决条件
在开始之前,您需要安装以下软件:
步骤
初始化一个新的Hugo站点
hugo new site my-site --format=yaml
通过模块配置Hextra主题
# 初始化Hugo模块
cd my-site
#hugo mod init github.com/username/my-site
hugo mod init cnb.cool/onedayxyy/my-site
# 添加Hextra主题
hugo mod get github.com/imfing/hextra
配置hugo.yaml
以使用Hextra主题,添加以下内容:
module:
imports:
- path: github.com/imfing/hextra
创建您的内容页面
为主页和文档页面创建新内容:
hugo new content/_index.md
hugo new content/docs/_index.md
本地预览站点
hugo server --buildDrafts --disableFastRender
恭喜,您的新站点预览可在http://localhost:1313/
查看。
如何更新主题
要更新项目中的所有Hugo模块到最新版本,运行以下命令:
hugo mod get -u
要将Hextra更新到最新发布版本,运行以下命令:
hugo mod get -u github.com/imfing/hextra
更多详情请参阅Hugo模块。
🍊
方式2:将Hextra设置为Git子模块
先决条件
在开始之前,您需要安装以下软件:
步骤
初始化一个新的Hugo站点
hugo new site my-site --format=yaml
将Hextra主题添加为Git子模块
切换到站点目录并初始化一个新的Git仓库:
cd my-site
git init
然后,将Hextra主题添加为Git子模块:
git submodule add https://github.com/imfing/hextra.git themes/hextra
配置hugo.yaml
以使用Hextra主题,添加以下内容:
theme: hextra
创建您的内容页面
为主页和文档页面创建新内容:
hugo new content/_index.md
hugo new content/docs/_index.md
本地预览站点
hugo server --buildDrafts --disableFastRender
您的新站点预览可在http://localhost:1313/
查看。
当使用CI/CD部署Hugo网站时,确保在运行hugo
命令之前执行以下命令至关重要。
git submodule update --init
如果不运行此命令,主题文件夹将不会被填充Hextra主题文件,导致构建失败。
结束。
FAQ
这个 hugo mod init 是啥意思?
提问:
# 初始化Hugo模块
cd my-site
hugo mod init github.com/username/my-site
这个是啥意思?
回答:
这个命令是用于初始化Hugo站点的模块系统,主要分为两部分理解:
cd my-site
这是进入目录的命令,作用是导航到你的Hugo站点根目录(my-site
是你之前通过hugo new site my-site
创建的站点文件夹名称)。必须先进入站点目录,后续的Hugo命令才能正确识别站点配置。
hugo mod init github.com/username/my-site
这是Hugo初始化模块的核心命令,作用是启用Hugo的模块系统(Module System),并为你的站点指定一个唯一的模块标识。
hugo mod init
:Hugo的模块初始化命令,用于开启模块功能(Hugo模块系统用于管理站点依赖,比如主题、插件等,类似Go语言的go mod
或前端的npm
)。github.com/username/my-site
:这是你站点模块的唯一标识符(通常称为“模块路径”)。
它通常对应你的代码仓库地址(比如GitHub仓库URL),目的是让Hugo能唯一识别你的站点模块,方便后续引入其他依赖(如主题)或被其他模块引用。
实际使用时,建议替换为你真实的仓库地址(比如你的GitHub用户名+仓库名)。https://cnb.cool/onedayxyy/vitepress-theme-teek-one-public
cnb.cool/onedayxyy/my-site
为什么需要初始化模块?
Hugo模块系统是管理依赖的现代方式,相比传统的git submodule
(主题放在themes
目录),它更灵活:
- 可以直接通过模块路径安装主题(比如
hugo mod get github.com/xxx/主题名
); - 方便更新依赖(
hugo mod get -u
); - 支持嵌套依赖管理(自动处理主题的依赖)。
简单说,这个命令的作用是:进入你的Hugo站点目录,开启模块功能,并给站点一个唯一标识,为后续管理主题/依赖做准备。