没有 _index.md 文件的子页面

Subpages without _index.md file

我不想显示关于的列表页面。 localhost/about 甚至不应该存在。理想情况下,我希望没有 _index.md 文件,但如果我没有,Hugo 会抱怨。

Content directory "/work/content/about" have both index.* and _index.* files, pick one.

.File.Dir on zero object. Wrap it in if or with: {{ with .File }}{{ .Dir }}{{ end }}

我正在尝试具有以下层次结构

content
-- about
   -- use-cases
        _index.md
        --some-use-case
          index.md
   -- faq
      index.md

我应该可以访问 localhost/about/use-caseslocalhost/about/faq 但不能访问 localhost/about。有办法实现吗?

有不止一种方法可以做到这一点,但是 v0.65.0+ 方法是使用 Hugo 的 Build Options。以下是我的操作方法:首先添加箭头指向下方的 about/_index.md,这样您的目录结构如下所示:

content
-- about
     _index.md  <-- discussed below!
   -- use-cases
        _index.md
        --some-use-case
          index.md
   -- faq
      index.md

在此 about/_index.md 文件中放置以下内容。

---
cascade:
  _build:
    render: always
    list: always

_build:
  render: never
  list: never
---

这足以使 localhost/about/ 不存在而其下面的内容存在(这就是 cascade 部分所做的)。如果您想将它重定向到某个地方,您可以在要将其重定向到的页面的开头部分包含以下内容:

---
aliases:
  - /about/
---

例如,如果你想把它重定向到你的主页,把上面的aliases列表放在content/_index.md

content
  _index.md  <-- home page metadata & content!
-- about
     _index.md
⋮