草稿时netlify呈现的草稿:yaml中为true

时间:2018-01-18 02:30:25

标签: r rstudio hugo blogdown netlify

我在Netlify主持的这个github repo的blogdown网站上运行https://timmastny.rbind.io/

在website2 / content / blog /我有两个帖子

2018-01-16-git-blogdown-project-workflow.Rmd

2018-01-13-bayesian-meta-analysis-powerlifting.Rmd

你可以看到,在这两篇文章的YAML中,我有draft: true,而在第二篇文章中,我甚至有publishdate: '2018-01-20',这篇文章将在此后发布。

然而,随着这些更改推送到github和Netlify部署了一个干净的缓存,在我的实际网站上我仍然看到帖子: https://timmastny.rbind.io/

我对draft: true缺少什么?

我已经阅读了第2.3.1和D.3节的书,但我不确定。我还将Hugo更新为0.32.4,并且是最新版本的blogdown。

修改:我删除了public文件夹,并将public添加到gitignore。 Netlify有16分钟的版本发布。但在实际网站上,我收到了 Page Not Found 错误。

以下是日志:https://app.netlify.com/sites/timmastny/deploys/5a60c299df99532a0147c3d7

这是我在Netlify上的部署设置。它们应该与博客书中的3.1中的建议相符:

  

部署设置

     

存储库:https://github.com/tmastny/website2

     

构建命令:hugo

     

发布目录:public

     

生产部门:主人

     

分支部署:仅部署生产分支及其部署预览

     

公共部署日志:日志是公共的

     

构建环境变量:   HUGO_VERSION 0.32.4

1 个答案:

答案 0 :(得分:2)

我将假设您使用public作为Netlify的部署文件夹。

问题#1

您的公用文件夹位于您的存储库中,因此会将其签出到Netlify网站,当您运行构建时,您的帖子已经存在于该文件夹中,因此它们将始终部署。

解决方案#1

从项目中删除公用文件夹,并为公用文件夹添加.gitignore

部署应该在每次部署时构建新的公用文件夹,因此它可以将CDN与您的构建进行比较,并仅复制正确的文件。

问题#2(更新的问题)

Hugo主题在theme = "hugo-xmin"中设为config.toml。从GitHub签出存储库时,此主题文件夹为空。它在Netlify上也是空的,因此构建变得无效。

解决方案#2

更改为theme = "hugo-lithium-theme"中的有效主题config.toml,构建开始创建您的网站页面。

原始问题

draft: true中更新.Rmd时,不会忽略构建。

解决方案(原创)

Hugo没有处理.Rmd的内容,它正在使用您创建的已处理.html个文件中的内容。因此,您需要确保在构建之前将其中包含draft: true的文件的内容提交到您的存储库。