Based on https://github.com/gitbookio/javascript/