This article is not maintained any longer and likely not up to date. DuckDuckGo might help you find an alternative.
How I deploy my Jigsaw blog to Github Pages
I used Tighten's Jigsaw to build this website and blog (Update: 20-11-29: I switched to Statamic with the blog…). I used to host it on Netlify and let it build it as well. But as I make many granular edits and the build taking two 2 minutes, I was looking for a quicker alternative where I just push the output HTML files instead of the source files. Turns out that Github Pages is what I looked for.
Since I had some problems setting it up, here is my final working solution:
- For every now post, I create a feature branch, say
add-article-jigsaw-github-pages-deployment
- When done, I go to master and merge:
gcm && gm add-article-jigsaw-github-pages-deployment
(usingzsh
aliases) - Then I check out a running branch called
gh-pages
. I do not want the changes to the HTML in my master, so I just save them here - In
gh-pages
I first rebase to put the output HTML commits ahead of master:grbm
- If rebasing causes trouble, I just force delete the
gh-pages
branch (gb -D gh-pages
) and create it afresh (its only purpose is to keep my master branch clean by not versioning the production output files) - Then I run Jigsaw:
npm run production
- Next I create a bump commit with date and running number:
ga . && gcmsg "Bump: 200128-001"
- Then I force push just the subdirectory
build_production
with the following command to mygithub
remote repo:
git push github `git subtree split --prefix build_production`:gh-pages --force
```
- I also have an alias for that in my `~/.zshrc`: `ghpmb` (where mb stands for martinbetz)
- That's it!