这是本节的多页打印视图。
点击此处打印.
返回本页常规视图.
更新 Docsy
Update Docsy - 更新 Docsy
https://www.docsy.dev/docs/updating/
保持 Docsy 主题最新。
我们希望与 Docsy 社区 一起持续改进本主题。如果您已经克隆了示例网站(或以 Hugo 模块或 Git 子模块的方式使用本主题),您可以轻松地自己更新 Docsy 主题。如果您已经将本主题本身克隆到自己的项目中,您也可以更新主题,但可能需要解决合并冲突。
更新 Docsy 意味着您的站点将使用HEAD
中最新的 Docsy 版本构建,并包含自添加 Docsy 子模块或上次更新以来已合并的所有新提交或更改。更新不会影响您在自己的项目中所做的任何修改,以 覆盖 Docsy 的外观和感觉,因为您的覆盖不会修改主题本身。有关自上次更新以来主题发生了什么更改的详细信息,请参见 Docsy 提交列表。
如果您一直将本主题作为 Git 子模块使用,您还可以将您的站点更新为使用 Docsy 作为 Hugo 模块。这是从其存储库中拉取 Hugo 主题的最新和最简单的方法。如果您还没有准备好迁移到 Hugo 模块,不用担心,您的站点仍然可以工作,您可以像以前一样继续更新子模块。
使用 Hugo 模块更新 Docsy 主题至最新版本。
使用子模块或 git pull
更新 Docsy 主题至最新版本。
将现有站点转换为使用 Docsy 作为 Hugo 模块。
1 - 更新您的 Docsy Hugo 模块
Update your Docsy Hugo Module - 更新您的 Docsy Hugo 模块
https://www.docsy.dev/docs/updating/updating-hugo-module/
使用 Hugo 模块更新你的 Docsy 主题至最新版本。
当将 Docsy 主题作为 Hugo 模块使用时,更新主题非常简单。
在命令提示符中,切换到现有站点的根目录。
1
| cd /path/to/my-existing-site
|
然后使用hugo的模块get
子命令并带有update
标志:
1
| hugo mod get -u github.com/google/docsy
|
Hugo 自动拉取最新的主题版本。就是这样,你的更新完成了!
提示
如果你想将你的模块设置为 Docsy 主题库中的某个版本,只需在更新主题时指定代表此版本的标签名称,例如:
1
| hugo mod get -u github.com/google/docsy@v0.6.0
|
你也可以指定一个提交哈希值,例如:
1
| hugo mod get -u github.com/google/docsy@6c8a3afe
|
2 - 不使用 Hugo 模块更新 Docsy
Update Docsy without Hugo Modules - 不使用 Hugo 模块更新 Docsy
https://www.docsy.dev/docs/updating/updating-submodules/
使用子模块或 git pull
更新 Docsy 主题至最新版本。
如果你不使用 Hugo 模块,根据你在现有站点上安装 Docsy 的方式,使用以下两个程序之一来更新你的主题。
提示
如果你打算更新你的站点,请考虑将你的站点转换为 Hugo 模块。转换后,更新 Docsy 就更简单了!
更新 Docsy 子模块
如果你在项目中将 Docsy 主题作为子模块使用,则按如下方式更新子模块:
导航到本地项目的根目录,然后运行:
1
| git submodule update --remote
|
将更改添加到项目中并提交更改:
1
2
| git add themes/
git commit -m "Updating theme submodule"
|
将提交推送到项目存储库。例如运行:
Route 2:更新 Docsy 克隆版
如果你将 Docsy 主题克隆到项目的 themes
文件夹中,则使用 git pull
命令:
导航到本地项目的 themes
目录:
确保 origin
设置为 https://github.com/google/docsy.git
:
更新本地克隆版:
如果你对克隆主题进行了任何本地更改,则必须手动解决任何合并冲突。
3 - 迁移到Hugo模块
Migrate to Hugo Modules - 迁移到Hugo模块
https://www.docsy.dev/docs/updating/convert-site-to-module/
将现有站点转换为使用Docsy作为Hugo模块
适用于急于求成的专家
从命令行运行以下命令:
CLI:
=== “Unix shell”
```bash
cd /path/to/my-existing-site
hugo mod init github.com/me-at-github/my-existing-site
hugo mod get github.com/google/docsy@v0.6.0
sed -i '/theme = \["docsy"\]/d' config.toml
cat >> config.toml <<EOL
[module]
proxy = "direct"
[[module.imports]]
path = "github.com/google/docsy"
[[module.imports]]
path = "github.com/google/docsy/dependencies"
EOL
hugo server
```
=== “Windows command line”
```bash
cd my-existing-site
hugo mod init github.com/me-at-github/my-existing-site
hugo mod get github.com/google/docsy@v0.6.0
findstr /v /c:"theme = [\"docsy\"]" config.toml > config.toml.temp
move /Y config.toml.temp config.toml
(echo [module]^
proxy = "direct"^
[[module.imports]]^
path = "github.com/google/docsy"^
[[module.imports]]^
path = "github.com/google/docsy/dependencies")>>config.toml
hugo server
```
详细的转换说明
将Docsy主题模块作为站点的依赖项导入
在命令提示符下,切换到现有站点的根目录。
1
| cd /path/to/my-existing-site
|
只有作为Hugo模块的站点才能导入其他Hugo模块。通过从站点目录中运行以下命令(将github.com/me/my-existing-site
替换您的站点存储库),将现有站点转换为Hugo模块:
1
| hugo mod init github.com/me/my-existing-site
|
这将创建两个新文件,go.mod
用于模块定义和go.sum
用于保存模块验证的校验和。
接下来,将Docsy主题模块声明为站点的依赖项。
1
| hugo mod get github.com/google/docsy@v0.6.0
|
This command adds the docsy
theme module to your definition file go.mod
.
此命令将docsy
主题模块添加到您的定义文件go.mod
中。
更新您的配置文件
在您的 config.toml
/config.yaml
/config.json
文件中,更新该主题设置以使用Hugo模块。找到以下行:
Configuration file:
=== “config.yaml”
```yaml
theme: docsy
```
=== “config.toml”
```toml
theme = ["docsy"]
```
=== “config.json”
```json
"theme": "docsy"
```
将此行更改为:
Configuration file:
=== “config.yaml”
```yaml
theme:
- github.com/google/docsy
- github.com/google/docsy/dependencies
```
=== “config.toml”
```toml
theme = ["github.com/google/docsy", "github.com/google/docsy/dependencies"]
```
=== “config.json”
```json
"theme": [
"github.com/google/docsy",
"github.com/google/docsy/dependencies"
]
```
或者,您可以完全省略此行,并将其替换为以下代码段中给出的设置:
Configuration file:
=== “config.yaml”
```yaml
module:
proxy: direct
hugoVersion:
extended: true
min: 0.73.0
imports:
- path: github.com/google/docsy
disable: false
- path: github.com/google/docsy/dependencies
disable: false
```
=== “config.toml”
```toml
[module]
proxy = "direct"
# uncomment line below for temporary local development of module
# replacements = "github.com/google/docsy -> ../../docsy"
[module.hugoVersion]
extended = true
min = "0.73.0"
[[module.imports]]
path = "github.com/google/docsy"
disable = false
[[module.imports]]
path = "github.com/google/docsy/dependencies"
disable = false
```
=== “config.json”
```json
{
"module": {
"proxy": "direct",
"hugoVersion": {
"extended": true,
"min": "0.73.0"
},
"imports": [
{
"path": "github.com/google/docsy",
"disable": false
},
{
"path": "github.com/google/docsy/dependencies",
"disable": false
}
]
}
}
```
你可以在 Hugo 模块文档中找到这些配置设置的详细信息。根据你的环境,你可能需要进行一些微调,例如添加代理以在下载远程模块时使用。
提示
在 Hugo 0.110.0 中,默认的配置基础文件名已更改为 hugo.toml
。如果你使用的是 hugo 0.110 或更高版本,请考虑将你的 config.toml
重命名为 hugo.toml
!
注意
如果你安装了多语言版本,请确保你的 config.toml
中的 [languages]
部分在带有模块导入的 [module]
部分之前声明。否则,你将遇到问题!
检查配置设置的有效性
为了确保你的配置设置是正确的,请运行 hugo mod graph
命令,它会打印一个模块依赖项图:
1
2
3
4
5
6
| hugo mod graph
hugo: collected modules in 1092 ms
github.com/me/my-existing-site github.com/google/docsy@v0.6.0
github.com/me/my-existing-site github.com/google/docsy/dependencies@v0.6.0
github.com/google/docsy/dependencies@v0.6.0 github.com/twbs/bootstrap@v5.2.3+incompatible
github.com/google/docsy/dependencies@v0.6.0 github.com/FortAwesome/Font-Awesome@v0.0.0-20230207192303-d02961b01815
|
确保列出了 docsy
、bootstrap
和 Font-Awesome
的三行依赖项。如果没有,请仔细检查你的配置设置。
提示
为了清理你的模块缓存,请执行命令 hugo mod clean
1
2
3
4
5
6
| hugo mod clean
hugo: collected modules in 995 ms
hugo: cleaned module cache for "github.com/FortAwesome/Font-Awesome"
hugo: cleaned module cache for "github.com/google/docsy"
hugo: cleaned module cache for "github.com/google/docsy/dependencies"
hugo: cleaned module cache for "github.com/twbs/bootstrap"
|
清理你的仓库
由于你的站点现在使用 Hugo 模块,你可以按照下面的说明从themes
目录中删除 docsy
。首先,切换到你站点的根目录:
1
| cd /path/to/my-existing-site
|
先前将 Docsy 主题安装为 Git 克隆
只需删除 themes
目录中的子目录 docsy
:
先前将 Docsy 主题安装为 Git 子模块
如果您的 Docsy 主题是作为子模块安装的,请使用 git 的 rm
子命令删除 themes
目录中的子目录 docsy
:
1
| git rm -rf themes/docsy
|
现在,您可以提交更改到您的仓库中:
1
| git commit -m "Removed docsy git submodule"
|
注意
使用 rm -rf
命令时请小心,确保您不会意外删除任何生产数据文件!