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