GitHub Pages allow you to publish web content to a subdomain named after your username. With Pages, publishing web content becomes as easy as pushing to your GitHub repository.

If you create a repository named, where you is your username, and push content to it, we’ll automatically publish that to No FTP, no scp, no rsync, nothing. Just a simple git push and you’re done. You can put anything here you like. Use it as a customizable home for your Git repos. Create a blog and spread your ideas. Whatever you want!

If you create a gh-pages branch on any regular repository and push content there, we will automatically publish that to This allows you to create instant documentation sites that are as easy to collaborate on as your code. Since you’ll want a blank slate for your Pages branch, you can use a little Git trick to create a new branch that has no parents. Just follow the instructions at and you’ll be up and running in a few seconds.

In addition to all this, we thought it would be nice to give you an easy way to assemble more complex sites. That’s why we pipe every Pages-bound repo/branch through Jekyll, my very own blog-aware static site generator that was purpose built specifically for this task. With Jekyll, you have access to layouts, includes, filters, syntax highlighting, Textile and Markdown, and intelligent handling of blog entries. All you have to do is follow the Jekyll conventions and we’ll handle the transformation. For an example of a Jekyll site that works on Pages, check out my tpw blog repo.

Now that you know how it works, let’s take a walk through some of the pages that have popped up since we started tweeting about the feature.

The GitHub Crew

  • pjhyett is a man of big ideas, but few words
  • defunkt created a meme (fork and add your own image!)
  • mojombo (me)
  • schacon teaches you Git
  • tekkub is porting his existing homepage

Our Very Creative Customers

Project Pages

We hope you have fun with Pages, I know we’ll have a blast looking at what you all come up with!