为什么部署到 Netlify 时我的 Hugo 站点不显示?

Why won't my Hugo site display when deploying to Netlify?

在本地,我可以轻松查看我的网站和所有主题更改。

然而,一旦网站被部署到 Netlify,迎接我的只是一个空白的白屏。

我尝试切换 baseURL 配置但无济于事。但是,如果我在 /content 文件夹中将 _index.md 文件重命名为 index.md,则该文件的内容将在通过 Netlify 部署时显示。

Netlify 或本地没有构建错误。

我的工作文件可以在下面GitHub repository.

看到

Netlify 不会自动知道您有一个 Hugo 站点。在 app.netlify.com 界面中,导航到站点设置,然后在左侧导航栏中导航到“构建和部署”。

在生成命令字段中,键入 hugo,然后在发布目录中,键入 public。我认为这应该足够了。

(如果没有,这里有来自 Hugo 网站的 more detailed config。不过,这让我觉得太复杂了。)

更进一步,这是可选的,我更喜欢在本地 运行 hugo 命令,它生成整个站点,生成的 public 目录成为我的 repo 的一部分.在这种情况下,我将上面的 Build command: 字段留空,但保留 Publish directory: public 字段。

解释摘要: 内容目录根目录中的 _index.md 文件正在使用您的 themes/gwynn/layouts/index.html 模板,但您没有告诉它显示来自您的 frontmatter 的任何内容或数据。

themes/gwynn/layouts/index.html代码:

<!DOCTYPE html>
<html>
<body>
  {{ range first 10 .Data.Pages }}
    <h1><a href={{ .Permalink }}>{{ .Title }}</a></h1>
  {{ end }}
</body>
</html>

没有显示任何内容,因为您只显示了站点中的页面,但是 post 中页面的前部内容中都设置了 draft: true

显示主页标题的解决方案:

themes/gwynn/layouts/index.html

<!DOCTYPE html>
<html>
  <head>
    <title>{{ .Title }}</title>
  </head>
  <body>
    <h1>{{ .Title }}</h1>
    {{ range first 10 .Data.Pages }}
      <h1><a href={{ .Permalink }}>{{ .Title }}</a></h1>
    {{ end }}
  </body>
</html>

要显示页面链接,您可以在 content/post/first.mdcontent/post/second.md

中设置 draft: false