Soon after the concept of Github Pages was introduced, most of the open source projects on Github found a very nice way to showcase there work on the internet. I have been using Github Pages for almost everything I guess. From my own personal blog to my projects like beauter, and this website too. Let me tell you what I found most helpful for me.
Direct and Simple
You create a repository an enable Github Pages through settings. Immediately, you get a website! You can store your website data either on
docs folder of your repository or create a separate branch as
gh-pages. You simply create a index.md file saying Hello. And boom! Your site is live, at user.github.io/repostery! That’s how simple it is.
Free, Free and Free
GitHub provides a free domain, free hosting, and free unlimited stuff. What more do you want for a static website? Okay, they provide free HTTPS protection (for github.io URLs), keep your resources safe, monitor every hosting and downtime issue. And take no charges! Still need anything for a static site?
You can integrate CDN and HTTPS using cloudflare by the way!
A nice domain
Github provides a very nice domain “user.github.io” which is, of course, due to Github, looks geeky and nice for a technical person. Also if you create an organization on Github, you have “organisation.github.io”. Even you can see big companies like Microsoft are keeping their main domain as https://microsoft.github.io/ because Github has emerged as the standard of open source platform. Nicer as it is HTTPS secured! Each user and organization is provided only one GitHub Domain. If you want more, you either have to create separate accounts or organizations or use custom domains!
You are not at all restricted to use their Github.io thing. If you prefer using your own domain, just add a
CNAME file to your GitHub Pages repository or set it through the project settings and you can add a custom domain all for free. But you lose the GitHub provided HTTPS and so you would need to buy your own.
Multiple repositories can have multiple domain names and addresses. Sometimes it becomes tricky to make a subdomain or sub-directory as your project’s website URL but that all can be set through your domain name provider.
The best thing about GitHub Pages is that they directly support Jekyll Pages. Jekyll is a ruby based site static generator that generates HTML with easy to manage things like layouts, markdown content etc. They support a lot of plugins like Sitemap generator, Feed generator, and support Liquid to program your web pages logically. Being open source, you will find themes and templates, tutorials and a lot of free stuff that makes Jekyll very easy, to begin with.
You can either be set locally on your system and then upload the generated site directly on GitHub, or if you are using their standard plugins only, you can just set the Jekyll content and the website will automatically build on each commit.
Read more articles about installing and using Jekyll.
An open source website
For a static website, usually, its source code is always available anyhow. After all, it is HTML, JS and CSS. GitHub provides a way that makes this source of your static site useful for others and you. People can see how your site is dealing with a certain content design. And as it’s on GitHub, others can also help you by solving conflicts in your code.
Free from responsibilities
GitHub sure is a large organization and has to take care of its resources. But for an open source contributor who is creating important projects, being sure for his project website is online 24x7, is not being hacked or crashed down, not facing server issues is not easy and is time-consuming. As he has to focus more on his ideas not the downtime of its website.
GitHub becomes a wonderful helping hand here. Its like they provide a free hosting space and also take care of the hosted website and its resources, You take rest and create wonderful stuff.
In case of content issues also from your side, the lovely open source community is there to help you notice and clear them.
So what you guys are thinking of GitHub Pages? How are you using it? Didn’t started yet? Checkout here. Please feel free to ask and share!