【问题标题】:Why won't my Hugo site display when deploying to Netlify?为什么我的 Hugo 站点在部署到 Netlify 时不显示?
【发布时间】:2019-03-31 14:40:18
【问题描述】:

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

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

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

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

我的工作文件可以在以下GitHub repository看到。

【问题讨论】:

    标签: hugo netlify toml


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

      解释摘要:内容目录根目录下的_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>
      

      什么都没有显示,因为您只显示网站中的页面,但两者都在帖子页面的frontmatter 中设置了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

      【讨论】:

      • 哇,谢谢!我很尴尬我忽略了这么简单的元数据!我的本地实例显示草稿状态是否有原因?有没有办法告诉它在部署之前在本地显示一个非草稿预览?
      • hugoDraft, Future, and Expired Content 构建默认值 hugo server --buildDrafts 将在本地服务器上向您显示草稿预览,hugo server 将显示没有草稿。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-12
      • 1970-01-01
      • 1970-01-01
      • 2019-12-23
      相关资源
      最近更新 更多