(even if you need some http server)
With people inflating their websites and mainfraimes struggling to render any modern website decently, why not make the client do all the work and let it build the website in the browser?
CMS.js uses GitHub API to get post listing. Github API has a rate limit of 60 calls an hour, and each post listing consumes 1 call by post. The advantages of using the GitHub API is that you can get posts in a more convinient manner than manually (that requires either a dictionary of posts (azeroth.js and tibl are using some kind of manual post listing), but it is unclear how it plays with the API call limit of Github. The github API rate is very limiting for that kind of application, and I don't find the default look&feel of CMS.js appealing.
AzerothJS is really interesting. It fulfills the majority of my needs (besides my weird "workflow" idea). Adding content is similar to tibl: drop your .md files, update your post listing manually. AzerothJS has a static html generation feature that tibl lacks (though I will add it sometime). If I had to choose a client-side blog engine it would be AzerothJS.
It's not really for running a site, but it shares some common concepts (client-side markdown conversion, hosting on github pages, etc.).
It looks good.
The more common option is static site generators, which everyone uses. Some to follow :
[twitter] [github] [gitlab]