hugo server预览所有内容

作者:Administrator 发布时间: 2024-06-29 阅读量:19 评论数:0

+++
title = 'hugo预览所有内容'
date = 2024-06-29T21:15:00+08:00
+++

问题

使用hugo server生成的pages数量是10,使用hugo server -D生成的是20 怎么让hugo server生成20个页面


$ hugo server
Watching for changes in /Users/devinhao/Documents/gohugo/test/{archetypes,assets,content,data,i18n,layouts,static,themes}
Watching for config changes in /Users/devinhao/Documents/gohugo/test/hugo.toml
Start building sites …
hugo v0.128.0+extended darwin/arm64 BuildDate=2024-06-25T16:15:48Z VendorInfo=brew


                   | EN
-------------------+-----
  Pages            | 10
  Paginator pages  |  0
  Non-page files   |  0
  Static files     | 12
  Processed images |  0
  Aliases          |  4
  Cleaned          |  0

Built in 10 ms
Environment: "development"
Serving pages from disk
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop

显示如下:
image


$ hugo server -D
Watching for changes in /Users/devinhao/Documents/gohugo/test/{archetypes,assets,content,data,i18n,layouts,static,themes}
Watching for config changes in /Users/devinhao/Documents/gohugo/test/hugo.toml
Start building sites …
hugo v0.128.0+extended darwin/arm64 BuildDate=2024-06-25T16:15:48Z VendorInfo=brew

WARN  deprecated: .Site.DisqusShortname was deprecated in Hugo v0.120.0 and will be removed in a future release. Use .Site.Config.Services.Disqus.Shortname instead.

                   | EN
-------------------+-----
  Pages            | 19
  Paginator pages  |  0
  Non-page files   |  0
  Static files     | 12
  Processed images |  0
  Aliases          |  4
  Cleaned          |  0

Built in 47 ms
Environment: "development"
Serving pages from disk
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop

显示如下:
image

解决方案

经过查阅官方文档,需要检查的地方如下:

1.文章的markdown文件中是否有写draft=true,默认标记了就不会发布

+++
title = 'My First Post'
date = 2023-10-03T18:58:55+08:00
draft = true
+++

2.hugo.yaml文件中是否配置了buildDrafts = true、buildFuture = true、buildExpired = true
3.直接使用hugo -D -F -E会打印所有内容(包含草稿)

在 Hugo 中,hugo server 命令默认只会生成已发布的内容。如果你想让 hugo server 生成所有内容,包括草稿、未来发布的内容和过期的内容,你可以使用 -D(草稿)、-F(未来发布)和 -E(过期)标志。

要使 hugo server 始终生成所有内容,你可以使用以下命令:

hugo server -D -F -E

如果你只关心生成草稿内容(因为默认情况下 hugo server 不会生成草稿),那么只需要使用 -D 标志:

hugo server -D

这将确保在本地开发服务器上生成草稿内容,从而看到所有 19 个页面。

配置文件设置

如果你希望在每次运行 hugo server 时都包含草稿、未来发布的内容和过期的内容,可以在配置文件 config.toml 中设置这些选项。

config.toml 文件中添加以下内容:

buildDrafts = true
buildFuture = true
buildExpired = true

这样,你只需运行 hugo server 就可以生成所有内容。

示例

假设你的 config.toml 文件内容如下:

baseURL = "http://example.org/"
languageCode = 'en-us'
title = 'Devin'
theme = "paper"
disqusShortname = 'Awesome'   # use disqus comments
#每次运行 hugo server 时都默认包含所有内容
buildDrafts = true
buildFuture = true
buildExpired = true

保存后,运行 hugo server

hugo server

这样,Hugo 会根据配置文件中的设置生成所有内容,包括草稿、未来发布的内容和过期的内容。

总结

通过使用 -D-F-E 标志,你可以在运行 hugo server 时生成所有内容。此外,通过在配置文件中设置 buildDraftsbuildFuturebuildExpired 选项,可以使这些设置持久化,从而每次运行 hugo server 都会生成所有内容。

参考资料

hugo quick-start
hugo usage

欢迎关注我的公众号“辣个男人Devin”,新鲜技术文章第一时间推送。

评论