杰基尔的帖子没有生成

时间:2015-06-03 15:55:27

标签: jekyll

我正在尝试向我的Jekyll网站添加新帖子,但是当我运行jekyll serve时,我无法在生成的网页上看到它。

没有生成Jekyll帖子的常见原因是什么?

9 个答案:

答案 0 :(得分:195)

答案 1 :(得分:13)

您可以使用jekyll build --verbose详细查看构建过程。

Exmaple输出:

  Logging at level: debug
Configuration file: /home/fangxing/fffx.github.io/_config.yml
  Logging at level: debug
         Requiring: jekyll-archives
         Requiring: jekyll-livereload
         Requiring: kramdown
            Source: /home/fangxing/fffx.github.io
       Destination: /home/fangxing/fffx.github.io/_site
 Incremental build: enabled
      Generating... 
       EntryFilter: excluded /Gemfile
       EntryFilter: excluded /Gemfile.lock
           Reading: _posts/2018-01-14-new-post.md
           Reading: _posts/2014-01-01-example-content.md
           Reading: _posts/2014-01-02-introducing-lanyon.md
           Reading: _posts/2017-11-21-welcome-to-jekyll.markdown
           Reading: _posts/2018-01-14-boot-android-on-charge.md
           Reading: _posts/2013-12-31-whats-jekyll.md
          Skipping: _posts/2018-01-14-boot-android-on-charge.md has a future date
        Generating: Jekyll::Archives::Archives finished in 0.000122873 seconds.
        Generating: JekyllFeed::Generator finished in 0.000468846 seconds.
        ...

从日志中我发现jeklly跳过了2018-01-14-boot-android-on-charge.md,因为它有一个未来的日期。

答案 2 :(得分:2)

如果您不是在 _site 文件夹中,而是直接在博客的主页上添加帖子列表,那么它也可以是浏览器缓存。

答案 3 :(得分:2)

一个可能的原因是前端内容中指定的date不包含时区偏移量,在这种情况下,它默认为UTC,而不是您可能期望的本地计算机的时区。我浪费了一个小时,直到UTC“赶上”我当前的当地时区BST。

我还没有找到明确的答案,但我认为前面的日期必须以UTC给出时区偏移量(如果省略则默认为零)。

所以date: 2018-05-03 12:34:27 是UTC ,无论您身在何处,无论timezone中的_config.yml设置如何。

所以要小心指定这样的日期时间:

date: 2018-05-03 12:34:27 +0100

答案 4 :(得分:2)

我为我的博客写了Rspec测试,表达了以下规则:

SELECT  "topics".* FROM "topics" INNER JOIN "exams" ON "topics"."exam_id" = "exams"."id" INNER JOIN "categories" ON "exams"."category_id" = "categories"."id" WHERE "categories"."group_id" = ?

这可能对其他人有用,因为我由于约会等方面的错字而浪费了很多时间。

这些测试以及Rspec配置的其余部分可以在上下文here中看到。

答案 5 :(得分:0)

我的帖子也没出现错误,在我的名字中我使用了一个点,例如2017-10-18-test.2.md
这不被接受,您必须使用2017-10-18-test2.md

答案 6 :(得分:0)

仅添加一个原因,当您将文章从_drafts移到_post时,有时您需要删除_site以便重新生成文章。

在我的情况下,经常发生_site在重新生成之前不会被完全删除的情况,因此不会出现新文章。

无论如何rm -rf _sitebundle exec jekyll serve都可以:)

答案 7 :(得分:0)

如果您已检查了最重要的内容,一切似乎都很好,甚至jekyll build --verbose也没有显示任何内容(以我为例,它的作用就好像该文件根本不存在,甚至没有列出(排除)),请检查文件的编码。显然,它必须为UTF-8,而无需签名。它是UTF-8 BOM(或某些文本编辑器称之为UTF-8 with Signature),然后将被忽略。更糟糕的是,某些编辑器会将两种类型都显示为UTF-8,从而使差异更加难以发现。

答案 8 :(得分:0)

如果无法跟踪--verbose中的文件,并且文件被静默忽略,则尝试删除collections_dir文件中的config.yml。那为我解决了这个问题。