今天突发奇想折腾了一下我的另一个小站子。在时间过了零点之后,那两篇文章迟迟没更新。
期间怀疑过各种原因,比如Github Action出现版本不一致的问题啦(之前出现过类似问题但我已经想不起来了)、年久失修啦,毕竟真的出现了一个感叹号……
但是看了cloudflare,配置也没问题,执行也是绿色没问题,DNS check也没问题。问AI(当然只是给了表象没有触及到具体文件的内容和细节)也没问题,只是说了一嘴那个action的警告可能会有的潜在问题。
也顺手修了一下我一直想修的样式……
期间也跟群友打趣说“说不定明天早上自己就好了”。
不过最后突然想起来,要不还是问一嘴反重力吧,然后得到了这样的回复
1
2
3
4
5
6
7
8
9
10
11
12
13
| 分析与思路 (Thought)
症状分析:你的文件名明明格式是对的(2026-05-05-xxx.md),并且文章头部(Front Matter)也没有错误,但就是无法在页面上显示。这是一个非常经典的 Jekyll 陷阱——“未来文章(Future Posts)”机制。
根本原因:
Jekyll 默认会隐藏所有“发布时间在未来”的文章。
你的电脑当前系统时间是 2026-05-05(东九区时间)。所以你理所当然地写了 2026-05-05。
但是,当你把代码推送到 GitHub 时,负责构建你网站的 GitHub Actions 虚拟机使用的是 UTC(协调世界时 / 零时区)。此时此刻的 UTC 时间还是 2026-05-04 晚上。
由于你的 _config.yml 里没有配置时区,Jekyll 就使用了虚拟机的 UTC 时间,它一看:“咦,今天才 5 月 4 号,这篇文章是 5 月 5 号的,还没到时间呢,隐藏起来!”
解决方案:有两种办法。一是允许发布未来文章,二是在配置里明确告诉系统你所在的时区。为了网站规范,明确配置时区是最好的做法。
问题已定位:这是因为“时差”导致你的文章被当成了“未来文章”而被隐藏
你的文章格式和内容完全没问题。罪魁祸首是 GitHub 服务器的时区和你的本地时区有时差。
GitHub 的服务器位于 UTC(零时区)。对它来说,现在的系统时间其实还是 5月4日。 而你的文章日期写的是 2026-05-05。 在默认情况下,Jekyll(你使用的博客程序)会自动隐藏所有日期在“未来”的文章,它以为你写的是明天的预发文章,所以没有把它们渲染出来。它会在等到 UTC 时间的 5月5日 零点时,才会自动把它们显示出来。
|
我靠!你不早说!
试了试!真就是这个原因!md……