GitHub Pages are awesome. Combined with a CNAME record you have a Real Site on the Internet.
Now, instead of relying on the tool to publish I have a really simple shell script take care of it for me. It’s one line and it’s consistent across any toolchain.
# push the folder `site` to repo's gh-pages branch git subtree push --prefix site origin gh-pages
This command takes whatever is currently in your
site directory and pushes it to the gh-pages remote, which GitHub uses to trigger the GitHub Pages build.
I didn’t figure this out myself and I don’t remember where I learned it but it’s been a big time saver over many projects.