I have a basic jekyll site consisting of pages (not posts) but, because I wanted to sort the pages when I listed them, I had to use the Jekyll-Sort plugin (kinda weird sorting pages is not built in to jekyll).
Because I'm using a plugin, I can't leverage GitHub's auto jekylling. So I'd like to push the source code of the project to the master
branch and just the _site
directory to the gh-pages
branch.
I can't figure out how to do this - I tried adding a git repo inside the _site
directory to push that to gh-pages
but every time I run jekyll
it erases that entire directory and I lose the .git
folder.
Any suggestions? Or a way to natively sort?
The command suggested git push -f origin master:gh-pages will push your local master branch to the gh-pages branch.
Your site is automatically generated by GitHub Pages when you push your source files. Note that GitHub Pages works equally well for regular HTML content, simply because Jekyll treats files without front matter as static assets. So if you only need to push generated HTML, you're good to go without any further setup.
A less painful solution:
src
, or master
)_site
to your .gitconfig
, so it get's ignored, if not already done)Remove all content of the _site
directory:
$ rm -r _site/*
Clone your repo's gh-pages
branch into the _site
directory:
$ git clone -b gh-pages `git config remote.origin.url` _site
Final steps: Just let jekyll build, do commit & push:
$ jekyll build
,
cd into _site
:
$ cd _site
,
target all files for commit:
$ git add -A
,
commit them:
git commit -am 'Yeah. Built from subdir'
and push your site to GitHub-Pages:
git push
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With