One of the least known features offered by Github is hosting of static html pages with support of Jekyll static content generator. Well, at least I’ve found out about it very recently. Pages can be attached to the user domain (username.github.com) or to each of the user’s repositories (username.github.com/repository). A custom domain may also be used.
All the updates to pages are done through GIT. Project specific content should be kept on separate branch called gh-pages. As a result all project related stuff may be now kept in one place. It is even possible to host a whole project if it doesn’t require any dynamic server side logic. Did I mention all this hosting is for free? :)
Modern user facing web applications very often make an extensive use of client processing power. Many bloggers (especially the geeky ones) have migrated recently to static blog generators, or started writing their own one… Any content that resembles a blog post or a simple page may be efficiently stored as a static content. Additional features such as commenting systems may be provided by external services or, in this case, be replaced by Twitter. To give you a taste of how amazingly a static website can present itself take a look at developmentseed.org.
What I think of is application engine written completely in ClojureScript fed with content from the server. That content could be changed from time to time with simple Git operations and Github hosted Jekyll engine would automatically generate it to static JSON or…. even Clojure data files for easier consumption by client side code. It is nice to think of all the possibilities that are now freely available and don’t require any additional providers and money.
It is also worth to note that Bitbucket has a similar service but it looks like only basic html pages may be hosted without any support from a static content generator.