I use jekyll as my primary blogging platform. I wanted to write a post today and all of a sudden jekyll stopped working and did not generate the
_site content anymore. I then deleted the
_site content and tried regenerating my site using
jekyll --server. It blindly said it re-generated my site however it did not. When I tried accessing my http://localhost/4000 it gave me a forbidden error, no access permission to /. It was because my
_site directory was empty.
I then ran
jekyll --no-auto --server which actually printed the error on why it was failing to generate the site
/Users/pradeepnayak/projects/jekyll/lib/jekyll/convertible.rb:26:in `read_yaml': invalid byte sequence in UTF-8 (ArgumentError) from /Users/pradeepnayak/projects/jekyll/lib/jekyll/post.rb:39:in `initialize' from /Users/pradeepnayak/projects/jekyll/lib/jekyll/site.rb:110:in `new' from /Users/pradeepnayak/projects/jekyll/lib/jekyll/site.rb:110:in `block in read_posts' from /Users/pradeepnayak/projects/jekyll/lib/jekyll/site.rb:108:in `each' from /Users/pradeepnayak/projects/jekyll/lib/jekyll/site.rb:108:in `read_posts' from /Users/pradeepnayak/projects/jekyll/lib/jekyll/site.rb:169:in `read_directories' from /Users/pradeepnayak/projects/jekyll/lib/jekyll/site.rb:79:in `read' from /Users/pradeepnayak/projects/jekyll/lib/jekyll/site.rb:71:in `process' from ../jekyll/bin/jekyll:150:in `'
To fix this problem add the following lines in your
.zshrc or .bashrc file depending upon your shell.
This is mainly an issue of how Ruby decides to handle String encodings by default. You can read more about it here