Has been happy with Jekyll for quite some time, until recently, when attempt to add some Sphinx notes into Jekyll site.
By default, Jekyll will ignore all directories which name begins with _, it has no way to control this behavior. And documents generated by Sphinx include some such directories, _static and _sources.
A feature has been added to Jekyll some months ago. With it Jekyll can explicitly include some directories that need to be published. But no new version is released, and the version shipped by GitHub Pages lack this feature.
While looking around, I found Pelican, it is similar to Jekyll. Though I can fetch the latest Jekyll code, generate HTML at local, and then push them to the server, which workflow will be similar to Pelican, but I'd like to give Pelican a try, as I'm much a Python guy instead of Ruby, and Pelican is written in Python. ;)
Migration is a bit pain, as internal of those two has quite some differences. I have to add some dirty patches to Pelican to retain similar structure of Jekyll and to make permanent links unchanged.
Anyway, all have done, and I'm happy with the result. As a bonus, now I can write posts in reStructuredText, just like this one. :D