Creating a blog is not that hard. I would say, the hardest part would be
getting started. In addition, if you do not want a
custom domain (more of
that in a bit) then you can get your blog up and running for free.
Services that we would use
We will be using two main services to create and host our blog.I will discuss
how to use these services in my post.
Our blog will be created with
Jekyll and hosted by
Jekyll converts plain text and
markdown files to create the Html for you. In
addition. it uses
Liquid for creating cool templates. Check out my post on
You would need
Ruby to run jekyll.
1 sudo pacman -S ruby
You will also need to make sure
python2 is installed
1 sudo pacman -S python2
Now download Jekyll from the
1 pacaur -S ruby-jekyll
As of lately, it seems the AUR Jekyll package cannot see the dependencies
If this happens to you, you can directly install the dependencies using
1 gem install jekyll
Cool now you have jekyll installed.
Getting a template
There are a lot of awesome Jekyll templates that you could use. Check out the gallery here.
Using my website layout
If you are interested in using my theme you can
fork it off my github repo.
I wrote a blog post on how to use all the features of my blog here.
Now you have a working (hopefully) jekyll repo. Cool!
Starting from scratch
If you decided that you want to just start from scratch you can init a new jekyll blog.
1 jekyll new MyWebsite
Now you can add
MyWebsite to your github repo.
Using Github Pages to host your repo
Yup, Github can host this repo for you for free.
You will need to rename this repo. To let github know that you want to host
this repo it should be named
[username].github.io. Just for an example, my username is
my repo name is
Get a copy of your repo
Your website would be hosted on the url
[username].github.io, but first you need to modify/remove the
CNAME file. This file is used for custom domain which we will cover in a bit.
[username] with your username.
1 2 3 4 mkdir MyWebsite cd MyWebsite git init git clone https://github.com/[username]/[username].github.io
Let Github know if you have a custom domain
If you have a custom domain you should remove my domain from
CNAME and add in
your one. If you do not have a custom domain, you should just remove the file,
as shown below.
1 2 3 4 rm CNAME git add . git commit -m "Removed CNAME" git push origin master
The url for your website is currently
[username].github.io. If you want to
have a custom domain you will need to purchase a domain from a
registrar such as Namecheap.
Enter your modify domain page
For Namecheap, you can do this by going to your domain page and click on
Host Records. Remember to replace
[username] with your Github username.
|Host Name||IP ADDRESS/URL||RECORD TYPE||TTL|
Any changes that you push to github will update your current website. You can test your website at anytime before pushing.
1 2 cd MyWebsite jekyll serve
You can now see your website by going to
http://localhost:4000/ on your