23

Abstract

  • I wanted to see a page in the local machine made by Jekyll using gem "jekyll-remote-theme"
  • So I ran bundle exec jekyll serve
  • But a blank page came out

What I want to achieve

  • To see a page in the local machine made by Jekyll using gem "jekyll-remote-theme".

I'm trying to build a blog in GitHub Pages with Jekyll and Minimal Mistakes. Before I push changes, I'd like to check if everything's fine with the pages.

Environment

  • Windows 8.1 64bit
  • ruby 2.4.3p205 (2017年12月14日 revision 61247) [x64-mingw32]
  • Jekyll 3.6.2

What I did

  1. bundle exec jekyll new . --force
  2. Installed the theme with GitHub Pages Method
  3. bundle exec jekyll serve

What actually happened

I had an error related to libcurl.dll. Here is the message on Powershell.

Dependency Error: Yikes! It looks like you don't have jekyll-remote-theme or o ne of its dependencies installed. In order to use Jekyll as currently configured , you'll need to install this gem. The full error message from Ruby is: 'Could n ot open library 'libcurl': (illegal characters) . Could not open libr ary 'libcurl.dll': (illegal characters) . Could not open library 'lib curl.so.4': (illegal characters) . Could not open library 'libcurl.so .4.dll': (illegal characters) ' If you run into trouble, you can find helpful resources at https://jekyllrb.com/help/!

I followed instructions in GitHub Pages Dependencies Missing · Issue #17 · benbalter/jekyll-remote-theme and the problem was solved.

Then another error came up with bundle exec jekyll serve. The page locally created is blank. http://127.0.0.1:4000/ shows nothing.

PS E:\workspace\mysite\dixhom.github.io> bundle exec jekyll serve
Configuration file: E:/workspace/mysite/dixhom.github.io/_config.yml
 Source: E:/workspace/mysite/dixhom.github.io
 Destination: E:/workspace/mysite/dixhom.github.io/_site
 Incremental build: disabled. Enable with --incremental
 Generating...
 Remote Theme: Using theme mmistakes/minimal-mistakes
 Build Warning: Layout 'single' requested in _posts/2018-02-06-welcome-to-jekyll.markdown does not exist.
 Build Warning: Layout 'default' requested in 404.html does not exist.
 Build Warning: Layout 'page' requested in about.md.bak does not exist.
 Build Warning: Layout 'home' requested in index.html does not exist.
 Build Warning: Layout 'home' requested in index.md.bak does not exist.
 done in 5.423 seconds.
 Auto-regeneration: enabled for 'E:/workspace/mysite/dixhom.github.io'
 Server address: http://127.0.0.1:4000/
 Server running... press ctrl-c to stop.

It looked like jekyll couldn't read layout files. In addition, the _layouts directory wasn't in the directory where I did bundle exec jekyll new. But by default, what's in the _layouts directory is packaged in a theme so it's normal not to see the directory. So I just copied _layouts from minimal-mistakes GitHub repo to the local directory as a workaround.

Then, another error was raised.

PS E:\workspace\mysite\dixhom.github.io> bundle exec jekyll serve
Configuration file: E:/workspace/mysite/dixhom.github.io/_config.yml
 Source: E:/workspace/mysite/dixhom.github.io
 Destination: E:/workspace/mysite/dixhom.github.io/_site
 Incremental build: disabled. Enable with --incremental
 Generating...
 Remote Theme: Using theme mmistakes/minimal-mistakes
 Liquid Exception: Could not locate the included file 'sidebar.html' in any of ["E:/workspace/mysite/dixhom.github.io/_
includes"]. Ensure it exists in one of those directories and, if it is a symlink, does not point outside your site sourc
e. in /_layouts/single.html
jekyll 3.6.2 | Error: Could not locate the included file 'sidebar.html' in any of ["E:/workspace/mysite/dixhom.github.i
o/_includes"]. Ensure it exists in one of those directories and, if it is a symlink, does not point outside your site so
urce.

I could have just copied _includes the same way but I believe the core of the problem lies in jekyll failing to read necessary files from, for example, a GitHub repo.

The weird thing is when I push local changes to GitHub, GitHub Pages shows a properly rendered page as shown below.

enter image description here

By the way, the repo is https://github.com/Dixhom/dixhom.github.io/tree/7132905f5515345eb78cd71bdad168a15f906a1c

I suspected jekyll-remote-theme doesn't work on the local environment so I googled "jekyll remote theme serve" which wasn't helpful.

Googling keywords like "remote theme Build Warning: Layout does not exist." didn't help much.

How can I solve this problem?

asked Feb 11, 2018 at 5:16

1 Answer 1

16

aaaah I was just bashing my head against this as well. I ran bundle exec jekyll serve --verbose and saw that jekyll-remote-theme was never being initialized at all (each plugin logs a Requiring: jekyll-<thing> line). Then I noticed this block in the Gemfile:

# If you have any plugins, put them here!
group :jekyll_plugins do
 gem "jekyll-feed", "~> 0.6"
end

I added "gem jekyll-remote-theme" to that plugin block and that fixed it – doh!

There are a few notes in the jekyll changelogs about this Gemfile group, but I didn't find any of it super helpful in explaining what's going on here.

hope that helps!

answered May 18, 2018 at 2:53
Sign up to request clarification or add additional context in comments.

2 Comments

ah there is this comment on an issue that sort of explains it
moved gem "jekyll-remote-theme" from outside of group do to inside of it in Gemfile, added repository: Dixhom/dixhom.github.io in _config.yml and it fixed the issue (dixhom.github.io).

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.