I recently built a website from scratch for a friend. This article captures my notes.
First step to build a website is to clearly define the goal. That will help to arrive at the framework choice.
In this case, goals were:
With all these goals, I picked
Framework : Jekyll with Theme Beautiful-Jekyll
Jekyll Advantages
Hosting : GitHub Pages
Domain Registrar : Google Domains
We will be creating and storing the website on GitHub. We will be copying a pre-existing theme and customize it as per our need.
Scroll down to see the steps involved, but here is a 40-second video just as a reference as you work through the steps.
Fork this project by going to https://github.com/daattali/beautiful-jekyll and clicking the *Fork* button at the top right corner of this page. Forking means that you now copied this entire project and all the files into your account.
<yourusername>.github.io
Click on Settings at the top (the cog icon) and on that page you’ll have an option to rename the project (Repository name). This will create a website with the Beautiful Jekyll template that will be available at https://<yourusername>.github.io
within a couple minutes.
Edit the _config.yml
file to change any settings you want. To edit the file, click on it to view the file and then click on the pencil icon to edit it (watch the video tutorial above if you’re confused).
After you save your changes to the _config.yml
file (by clicking on Commit changes as the video tutorial shows), your website should be ready in a minute or two at https://<yourusername>.github.io
. Every time you make a change to any file, your website will get rebuilt and should be updated in about a minute or so. Your website will be initialized with several sample blog posts and a couple other pages.
That’s it. It is as simple as it sounds.
A small video for your reference
In this step, we redirect our newly created domain to GitHub pages. For this we need to do 2 steps
Go to your github repository settings page
Add you custom domain name at Settings > GitHub Pages > Custom domain
Go to registar page on your google domains, select your domain
Go to DNS > Custom resource records
Add the record shown in the screenshot bellow. Note that you need to use the “+” button to add more urls.
Here is the list of ips in the screenshot:
Add the following CNAME record to point your custom domain to GitHub Pages
That’s it. The custom domain is set up and live!