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

时间:2018-10-26 19:50:53

标签: hugo netlify toml

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

但是,一旦将该站点部署到Netlify,我所能看到的只是一个空白的空白屏幕。

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

在Netlify或本地没有构建错误。

我的工作文件可以在下面的this question中看到。

2 个答案:

答案 0 :(得分:2)

说明摘要::内容目录根目录中的_index.md文件使用的是themes/gwynn/layouts/index.html模板,但是您并没有告诉它显示任何内容或数据。您的首要问题。

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

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

什么都没有显示,因为您只显示站点中的页面,但是在发布页面的前部都设置了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>

要显示页面链接,可以在draft: falsecontent/post/first.md内设置content/post/second.md

答案 1 :(得分:1)

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

enter image description here

在“构建命令”字段中,键入hugo,在发布目录中,键入public。我认为这应该足够了。

(否则,这是Hugo网站上的netlify。这让我觉得太复杂了。)

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