为什么我在 Hugo 中的单个页面 returns 出现 404 HTTP 错误?

Why my single page in Hugo returns a 404 HTTP error?

我正在尝试使用 Hugo 创建网站,但我不知道如何将单个页面添加到我的网站(帖子工作正常)。

从全新安装开始(v.0.27 64x for windows)和 运行 以下来自我的终端的命令:

> hugo new site soexample
> cd soexample
> git clone https://github.com/parsiya/Hugo-Octopress.git themes\octopress
> hugo new about.md
> echo "Please display me" >> content\about.md
> hugo serve -D -t octopress

我可以看到我的草稿页面是从最后一条命令的输出中呈现的:

...
Built site for language en:
1 of 1 draft rendered
...

但是当我尝试访问 http://localhost:1313/about/http://localhost:1313/about.html 时,服务器(不是浏览器)returns 一个白页:

404 page not found

我错过了什么?

问题似乎出在未呈现的选定默认主题上 single page outside of posts section。主题对于初学者来说可能是一个棘手的问题,因为 hugo 没有默认的主题,也不推荐或支持官方主题(因此初学者可能不得不随机选择)。

所以以下命令对我有用:

> hugo new site soexample
> cd soexample
> git clone https://github.com/spf13/hyde.git themes\hyde
> hugo new about.md
> echo "Please display me" >> content\about.md
> hugo serve -D -t hyde

页面 http://localhost:1313/about/ 已正确呈现。

为了在 Hugo 中呈现独立页面,您需要将类型设置为页面,并确保您的布局中有一个 'single' 模板。

about.md前题集type = "page"。在 _default 文件夹下的布局文件夹中,确保您有一个 single.html 文件。

就是这样,/about 页面现在应该可以正确呈现了。

可能重复,

这个问题我已经回答了,这里也复制粘贴。

我有类似的要求,添加静态页面(在本例中为 aboutus)。以下步骤成功了,

  • 创建了一个空文件content/aboutus/_index.md
  • 已创建 aboutus.html 页面 layouts/section/aboutus.html

我认为问题可能与草稿有关。

新建内容默认有draft: false,hugo默认会排除草稿文件

您可以将其更改为 draft: true 或使用 --buildDrafts 选项。

刚刚在这里偶然发现,它是草稿,但在我的情况下,解决方案有一个有趣的问题:

about/_index.md  (draft)
about/other.md  (not a draft)

Hugo 在不构建草稿时忽略 other.md,无论 other.md 的草稿状态如何。我会把它留给 reader 来决定这是错误还是功能。