Ruby 杰基尔:无效日期:'';不是有效的日期时间
我是杰基尔的新手: 到目前为止,我已经完成了教程中提到的内容:这是我在_layout:post.html文件中所做的:Ruby 杰基尔:无效日期:'';不是有效的日期时间,ruby,jekyll,Ruby,Jekyll,我是杰基尔的新手: 到目前为止,我已经完成了教程中提到的内容:这是我在_layout:post.html文件中所做的: --- layout: default --- <div class="post"> <h1>{{ page.title }}</h1> <span class="post-date">{{ page.date | date_to_string }}</span> {{ content }} </d
---
layout: default
---
<div class="post">
<h1>{{ page.title }}</h1>
<span class="post-date">{{ page.date | date_to_string }}</span>
{{ content }}
</div>
<div class="related">
<h2>Related Posts</h2>
<ul class="related-posts">
{% for post in site.related_posts limit:3 %}
<li>
<h3>
<a href="{{ post.url }}">
{{ post.title }}
<small>{{ post.date | date_to_string }}</small>
</a>
</h3>
</li>
{% endfor %}
</ul>
</div>
我似乎没有看到任何问题,但无法真正弄明白它为什么不起作用 似乎您的post YAML事件中的日期变量有误。检查您的发布日期是否符合此格式YYYY-MM-DD HH:MM:SS 我已经检查了上面贴的帖子布局代码,没问题 如果没有任何效果,请卸载Jekyll并通过运行以下命令安装最新的稳定版本1.2.1
~ $ gem uninstall jekyll
~ $ gem install jekyll --version(="1.2.1")
很可能,您已将示例文章移动到另一个目录,例如,
examples
。Jekyll在那里找到帖子并尝试处理它们,这导致了遇到的问题
将
examples
文件夹添加到\u config.yml
中的排除列表中,Jekyll将按预期启动。我遇到了这种情况,结果发现我用option click错误地从我的\u posts目录复制了一个文件,它位于我网站的根目录中。如果处理者除了一般的错误信息外,还能够详细描述错误原因,那就太好了。基于此,如果你将某个东西标记为帖子,然后尝试格式化日期,如果该东西的标题或封面上没有日期,Jekyll会抱怨。如果引用{{page.date}}
而没有对其进行格式化,则不会发生这种情况,因此在format函数中一定存在某种类型的nil错误
我刚刚遇到了这个问题,我意识到我在前面用布局:post
标记了一堆静态页面,而文件名是example.md
而不是2016-01-01-example.md
。我将这些文件更改为layout:page
,这就解决了问题
所以,至少在我的网站上,我必须确保没有日期的东西是页面,有日期的东西是帖子。(当我重新设计网站时,我从我的帖子布局中删除了日期,现在才开始尝试将其放回去。)我的问题是,出于某种原因,当我运行“jekyll serve--incremental”时,终端中不断出现此错误: 经过大量的挖掘,这是因为jekyll在根目录中拾取任何类型的帖子,即使它们位于完全不同的文件夹中。我把我的帖子放在“_posts”里,把我的测试帖子放在“old_posts”里
仅在根项目级别使用“old_posts”目录就发生了此错误。确保没有类似的内容。如果前面没有日期,怎么会有错误?回答得好。我已经把一堆假帖子移到了项目文件夹中的另一个文件夹中。杰基尔不喜欢我重建网站的时候。
~ $ gem uninstall jekyll
~ $ gem install jekyll --version(="1.2.1")
Liquid Exception: Invalid Date: 'nil' is not a valid datetime. in /_layouts/post.html
ERROR: YOUR SITE COULD NOT BE BUILT:
------------------------------------
Invalid Date: 'nil' is not a valid datetime.