blogdown 部署后帖子未出现在网站
谢谢! blogdown 可用选项太多了,帮助文档也非常丰富,估计有不少和我一样不看帮助文档直接开用,碰到问题才一个一个去查的人,所以对很多操作或者 trick 没有了解得非常透彻,就会导致一直在浪费时间。
我创建文章都是习惯手动复制老文章的设定来写的,因为有不少主题的自定义字段,所以复制粘贴对于我来说更便捷。
yihui 我和 @InfinityLoop 一样,常常是复制修改旧文章
InfinityLoop Cloud2016 你们知道 archetype 模板吗?https://gohugo.io/content-management/archetypes/ 你们这种情况应该添加一个文章模板,在模板里加上自定义字段,这样创建新文章时,这些字段就自动加进来了。复制旧文章还得走删内容这额外的一步。
- 已编辑
yihui 多谢分享,简化模板之后果然不用每次新建文章都删删删了。但有个问题,没填写的内容被包含进去了。
我的模板是这样的:
---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
date: {{ .Date }}
tags: []
---
<!--more-->
用 New Post 新建文章,什么都不填,直接点确定,会产生:
---
title: ''
author: ''
date: '2021-05-17'
slug: .zh-cn
categories: []
tags: []
---
<!--more-->
author、categories 都没填,但是还是出现在文章里了。要是不要包含进去就更好了,我觉得填了再包含会方便点。
yuanfan 刚在 blogdown 里加了个时间选项。若你在 .Rprofile
中设置 options(blogdown.time = TRUE)
,那么用 RStudio 插件 New Post 创建日志时,日期字段里就会自动带上时间,形如 2001-02-03T04:05:06-0700
。因为这里面带上了时区,所以日期就没有了模糊性;无论服务器上的时间在哪个时区,都可以准确解析这个日期。
当然,你也可以手动在日期中添加上时间,北京时间的时区是 +0800
。
最简单的办法还是我最早说的,在 hugo 命令行里添加 -F
选项,命令 hugo 编译任何日期的日志,不管它是不是未来的日期。
- 已编辑
InfinityLoop 我也试花了两个晚上折腾,后来才发现是因为日期是未来日期,所以 hugo 默认不编译。 后来在 netlify.toml 里加上下面的一行就好了
[context.production]
command = "hugo --buildFuture"
前些天也踩了这个坑,发现 Hugo 本来就可以配置编译参数。在 Hugo 配置文件 config.toml
加上 buildFuture = true
就行了。
这样可以把时区设置为东八区(toml):
timeZone = "Etc/GMT-8"
- 已编辑
CyrusYip 这个方法会将所有文章的时区设置为一样的,如果在另一个时区写文章,这个方法就不适用了。
date: 2020-10-02T00:00:00+08:00