I am trying to add a new post to my Jekyll site, but I cannot see it on the generated pages when I run jekyll serve
.
What are some common reasons for a
One possible reason is that the date
specified in the front matter does not contain a time zone offset, in which case it defaults to UTC, not the time zone of the local machine as you might expect. I wasted an hour on this until UTC "caught up" with my current local time zone, BST.
I haven't found a definitive answer to this but I think the date in the front matter must be given in UTC with a timezone offset (which defaults to zero if omitted).
So date: 2018-05-03 12:34:27
is in UTC irrespective of where in the world you are, and irrespective of the timezone
setting in _config.yml
.
So be careful to specify datetimes like this:
date: 2018-05-03 12:34:27 +0100
If you have checked your front matter, and all seems well, and even jekyll build --verbose
doesn't reveal anything (in my case, it just acted as if the file didn't exist at all, not even listing it as excluded), check the encoding of your file. Apparently, it needs to be UTF-8
without signature. It it's UTF-8 BOM
(or UTF-8 with Signature
as some text editors call it), then it will be silently ignored. To make matters worse, some editors will display both types as just UTF-8
, making the difference even harder to spot.
_posts
directory.YEAR-MONTH-DAY-title.MARKUP
(Note the MARKUP
extension, which is usually .md
or .markdown
)future: true
in _config.yml
(documentation)true
.:
.3.8.3
(and probably in other 'recent' releases).My post also did not appear an the error was, that in my name I used a dot, e.g. 2017-10-18-test.2.md
.
This is not accepted, you have to use 2017-10-18-test2.md
.
You can use jekyll build --verbose
to view build process in detail.
Exmaple output:
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.
...
from the log I found jeklly skipped 2018-01-14-boot-android-on-charge.md
because it has a future date.
Or it can be browser cache as well if you are looking not in the _site folder but directly on the blog's main page with the list of posts.