Setting up a Jekyll Blog on a Github Pages Subdirectory
Like many others, we at Codedge host our organization's website through
Github. Also like many, we wanted a development blog as well, but it creates interesting challenges when you need to host both at the same time. Simply placing all of the Jekyll files in a blog
subdirectory leads to that dreaded email from Github immediately after your push:
"The page build failed with the following error"
But why?
The Solution
Looking through the Jekyll documentation, it turns out Github overrides source
in _config.yml
, which defines the top-level directory. Anything defined in a subdirectory is simply ignored, and there is absolutely no way around this.
So what to do? Make a new repository containing just the Jekyll files in the
top-level directory. This blog will be treated as a "project" website instead of an organization website, so remember to put everything on the gh-pages
branch. Make sure in your _config.yml
that baseurl
is configured to /blog
(or any other subdirectory of your choosing). Also, if you are using a custom domain, don't forget to copy the CNAME file from the original organization repository.
If everything pushes correctly, both your website and your blog should be
running concurrently!