Github pages are public webpages hosted and generated through Github. You get one site per GitHub account and organization, and unlimited project sites.
You can either roll your own html, or you can use static html generator like Jekyll.
Jekyll is a simple, blog-aware static site generator. Transform your plain text into static websites and blogs.
Jekyll a tool is created by @mdo, and is the tool of choice used by Github themselves to generate static html.
What’s better is that you get free hosting with GitHub Pages. That means no more mucking about with hosting companies.
To create a simple static site:
- Create a repo username.github.io
- Create a sample hello world html file, commit and push to your master branch
- Browse to http://username.github.io, and hey presto, your html page is rendered.
But in addition to serving html, Github pages supports Jekyll out the box, so you can push Jekyll content in addition to static html.
As mentioned before, jekyll is a blog-aware static content generator. It’s a ruby app written and used by the GitHub peeps, and therefore integrates seamlessly with Jekyll with Pages
It uses Liquid markup as a templating engine, Markdown for constructing posts (with the option of specifying which flavour), is blog-aware meaning that you simply drop markdown files in a watched ‘posts’ folder, and the engine will generate static html based on your content. It works great with Sass too, and you can easily scaffold your html using a template such as Bootstrap or PureCSS
Once you push your content to your master branch, GitHub will execute Jekyll on your content, automatically generate and publish the html. Your branches are automatically watched and Jekyll builds run accordingly.
Although not required, it is advised that you setup Jekyll locally to test your content before pushing to GitHub.