This blog will run using hugo static site generator project. I am using the theme hugo-PaperMod by adityatelange which is clean, modern, and SEO friendly.

The entire blog will be made by using markdown language.

The blog will be hosted on Netlify. Netlify offers CI/CD, CDN, Let’s Encrypt SSL and an optional custom domain for free.

The code will be saved on Github for free.

That is why I think that everyone should blog for free, not using any platform that offers you the same functionality or less, but doesn’t share its revenue on the content you write.

Getting started with hugo and PaperMod theme

Some hugo themes support Sass/SCSS, so I prefer building hugo executable from source to have those extended features.

If the theme you are using doesn’t generate Sass/SCSS just install hugo from homebrew brew install hugo.

Else, install go Than build/install hugo from source.

mkdir $HOME/src
cd $HOME/src
git clone https://github.com/gohugoio/hugo.git
cd hugo
go install --tags extended

Assuming your installation went ok, let’s build our new blog site with hugo, and import our theme.

For modern Hugo setups, themes are managed via Go modules

hugo new site ./blog
cd ./blog

Now let’s configure the site to use the PaperMod theme. Create a go.mod file and add the theme:

hugo mod init blog
hugo mod get github.com/adityatelange/hugo-PaperMod

Now create your configuration file config.yml with the theme settings:

baseURL: "https://blog.omerh.me/"
title: "My Blog"
theme: github.com/adityatelange/hugo-PaperMod
enableRobotsTXT: true
googleAnalytics: ""
disqusShortname: "blog-omerh-me"

Now we should have a running website working. let’s try run it. Run hugo server and it the command runs, open your browser and go to http://localhost:1313

Now let’s add a new blog post:

hugo new content/post/first_post.md

This will create a new file in ./content/post/first_post.md that will have default archetypes

---
title: "first_post"
date: 2019-05-17T22:21:07+03:00
draft: true
---

Start writing your blog, once its ready, edit the draft to draft: false and you will see the post.

Remember to have the hugo server running and generating your site by running hugo server

Now that you have a running blog push the files to github, go to netlify and connect the repository from github to your netlify as a new site. Now look for your new generated URL that will have your site up and running.

Enjoy.