You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在.rmd文件YAML中正确设置日期适配Jekyll+Github Pages站点

问题根源

你遇到的问题由两个核心原因导致:

  1. Jekyll 对内置的date YAML字段有严格的日期格式校验,你直接写入的R内联代码r format(Sys.time(), '%d %B, %Y')属于未执行的字符串,不符合合法日期格式,会被Jekyll直接忽略;而author字段默认是字符串/数组类型,没有格式校验,因此就算传入未执行的R代码串也能正常渲染。
  2. GitHub Pages默认的Jekyll构建流程没有R运行环境,不会自动执行Rmd文件中的R代码,你写的内联R代码只有在本地提前knit渲染成实际日期字符串后,才能被Jekyll正常识别。
    你尝试的静态日期格式不生效,大概率是站点配置的日期解析规则和你写入的格式不匹配。

需要修改的配置文件

你需要修改站点根目录下的_config.yml,调整以下配置:

  • 新增日期格式匹配规则,和你R代码输出的日期格式保持一致:
    date_format: "%d %B, %Y"
    
  • 确认future配置没有被设为false,避免你写入的日期被识别为未来时间被过滤:
    future: true
    

补充操作建议

不要直接把R内联代码写在YAML的date字段中,提交到GitHub前先在本地执行rmarkdown::render()或blogdown::build_site(),把Rmd文件knit为标准md文件,此时R代码会被替换为实际的日期字符串,再推送到GitHub即可正常渲染。
如果不想每次本地编译,可以把内置date字段替换为自定义字段(比如custom_date),同时修改页面模板中所有调用page.date的位置为page.custom_date,自定义字段不会触发Jekyll的日期格式校验,可直接传入动态生成的内容。

内容的提问来源于stack exchange,提问作者Kirds

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 02:15:04