Ruby 杰基尔:无效日期:'';不是有效的日期时间

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:post.html文件中所做的:

---
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.