草稿时由 netlify 渲染的草稿:在 yaml 中为真
Drafts rendered by netlify when draft: true in yaml
我 运行 来自这个 github repo hosted by Netlify at https://timmastny.rbind.io/
的 blogdown 站点
在website2/content/blog/我有两个post
2018-01-16-git-blogdown-project-workflow.Rmd
和
2018-01-13-bayesian-meta-analysis-powerlifting.Rmd
你可以看到,在两个 post 的 YAML 中,我有 draft: true
,在第二个中我什至有 publishdate: '2018-01-20'
,这是未来 post。
然而,将这些更改推送到 github 并使用干净的缓存部署 Netlify,在我的实际网站上我仍然看到 posts:
https://timmastny.rbind.io/
draft: true
我错过了什么?
我已经阅读了本书的 2.3.1 和 D.3 部分,但我不确定。我还将 Hugo 更新到 0.32.4,并且正在使用最新版本的 blogdown。
编辑:我删除了 public
文件夹并将 public
添加到 gitignore。 Netlify 有一个 16 分钟的构建并已发布。但是在实际网站上,我收到 找不到页面 错误。
这是日志:https://app.netlify.com/sites/timmastny/deploys/5a60c299df99532a0147c3d7
这是我在 Netlify 上的部署设置。它们应该符合 blogdown 书中 3.1 中的建议:
Deploy settings
Repository: https://github.com/tmastny/website2
Build command: hugo
Publish directory: public
Production branch: master
Branch deploys: Deploy only the production branch and its deploy previews
Public deploy logs: Logs are public
Build environment variables:
HUGO_VERSION 0.32.4
我假设您使用 public
作为 Netlify 的部署文件夹。
第 1 期
你的 public 文件夹在你的存储库中,所以它被检出到 Netlify 站点,当你 运行 你的构建你的帖子已经存在于该文件夹中,所以它们总是会部署。
解决方案 #1
从您的项目中删除 public 文件夹并为 public 文件夹添加一个 .gitignore
。
部署应在每次部署时重新构建 public 文件夹,因此它可以将 CDN 与您的构建进行比较并仅复制正确的文件。
问题 #2(更新的问题)
Hugo 主题在 config.toml
中设置为 theme = "hugo-xmin"
。当从 GitHub 检出存储库时,这个主题文件夹是空的。它在 Netlify 上也是空的,因此构建无效。
解决方案 #2
已在 config.toml
中更改为有效主题 theme = "hugo-lithium-theme"
,构建开始创建您的网站页面。
原刊
在 .Rmd
中更新 draft: true
时不会忽略构建。
解决方案(原版)
Hugo 没有为 .Rmd
处理您的内容,它正在使用您创建的已处理 .html
文件中的内容。因此,您需要确保在构建之前将那些带有 draft: true
的文件的内容提交到您的存储库。
我 运行 来自这个 github repo hosted by Netlify at https://timmastny.rbind.io/
的 blogdown 站点在website2/content/blog/我有两个post
2018-01-16-git-blogdown-project-workflow.Rmd
和 2018-01-13-bayesian-meta-analysis-powerlifting.Rmd
你可以看到,在两个 post 的 YAML 中,我有 draft: true
,在第二个中我什至有 publishdate: '2018-01-20'
,这是未来 post。
然而,将这些更改推送到 github 并使用干净的缓存部署 Netlify,在我的实际网站上我仍然看到 posts: https://timmastny.rbind.io/
draft: true
我错过了什么?
我已经阅读了本书的 2.3.1 和 D.3 部分,但我不确定。我还将 Hugo 更新到 0.32.4,并且正在使用最新版本的 blogdown。
编辑:我删除了 public
文件夹并将 public
添加到 gitignore。 Netlify 有一个 16 分钟的构建并已发布。但是在实际网站上,我收到 找不到页面 错误。
这是日志:https://app.netlify.com/sites/timmastny/deploys/5a60c299df99532a0147c3d7
这是我在 Netlify 上的部署设置。它们应该符合 blogdown 书中 3.1 中的建议:
Deploy settings
Repository: https://github.com/tmastny/website2
Build command: hugo
Publish directory: public
Production branch: master
Branch deploys: Deploy only the production branch and its deploy previews
Public deploy logs: Logs are public
Build environment variables: HUGO_VERSION 0.32.4
我假设您使用 public
作为 Netlify 的部署文件夹。
第 1 期
你的 public 文件夹在你的存储库中,所以它被检出到 Netlify 站点,当你 运行 你的构建你的帖子已经存在于该文件夹中,所以它们总是会部署。
解决方案 #1
从您的项目中删除 public 文件夹并为 public 文件夹添加一个 .gitignore
。
部署应在每次部署时重新构建 public 文件夹,因此它可以将 CDN 与您的构建进行比较并仅复制正确的文件。
问题 #2(更新的问题)
Hugo 主题在 config.toml
中设置为 theme = "hugo-xmin"
。当从 GitHub 检出存储库时,这个主题文件夹是空的。它在 Netlify 上也是空的,因此构建无效。
解决方案 #2
已在 config.toml
中更改为有效主题 theme = "hugo-lithium-theme"
,构建开始创建您的网站页面。
原刊
在 .Rmd
中更新 draft: true
时不会忽略构建。
解决方案(原版)
Hugo 没有为 .Rmd
处理您的内容,它正在使用您创建的已处理 .html
文件中的内容。因此,您需要确保在构建之前将那些带有 draft: true
的文件的内容提交到您的存储库。