My blog is powered by Hugo (this is one of the most popular open-source static site generators built in go). The source code is hosted on Github, and Netlify built, deployed & hosted my Blog just Below CloudFlare who provides SSL certificate and manage the DNS of my domain goheroe.org. Of course everithing for free :)

What is Hugo

Hugo is an open-source static site generator built in go. This is very easy to write posts/pages: you just have to write a post/page with MarkDown syntax and build it with hugo with a nice theme … and voila.

Hugo is provided with a built-in webserver, so when you are writing something, hugo detecting changes in your content and automatically regenerates your blog and refreshes your browser.

For more information visit the Hugo Website

What is Netlify

Netlify is an all-in-one hosting platform for deploying and automating modern static web site. YOu just have to push your content and Netlify provides everything : servers, CDN, continuous delivery, one click HTTPS, staging environments, prerendering, asset post processing, DNS, and more …

I used the Bronze plan for Free

For more information visit the Netlify Website

What is CloudFlare

Cloudflare is designed to accelerate and secure any website. The traffic is routed through CloudFlare global network and automatically optimize the delivery with CDN, block threats and limit abusive bots and crawlers from wasting your bandwidth and server resources. They can also manage DNS, provide SSL certificate for free and a lot of very nice features.

I used the free plan

For more information visit the Cloudflare Website and How does CLoudflare work

Setup

Setup of Cloudflare

To use Cloudflare with Netlify, you’ll need to do some configuration :

  • go to Cloudflare console
  • Set the A record address for ‘*’ to 104.198.14.52
  • Change the CNAME ‘www’ alias to be .netlify.com

To enable SSL certificate, you’ll need to do some configuration :

Setup of Netlify

Check the hugo documentation and follow the instructions

Workflow

To deploy my Blog this is very simple, i just have to push my code on GitHub and everything is magic, my Blog is automaticaly built and deployed on Netlify in less than 30 seconds.

Automatic Build and Deploy on Netlify

List of my deploy on Netlify

12:26:00 AM: Build started
12:26:01 AM: Fetching cached dependencies
12:26:01 AM: Starting to download cache of 37.7MB
12:26:02 AM: Finished downloading cache in 426.793113ms
12:26:03 AM: Preparing Git Reference refs/heads/master
12:26:07 AM: Found netlify.toml. Overriding site configuration
12:26:07 AM: Running build command: hugo
12:26:10 AM: v6.11.2 is already installed.
12:26:11 AM: Now using node v6.11.2 (npm v3.10.10)
12:26:11 AM: Using version v6.11.2 of node
12:26:11 AM: Using /opt/buildhome/.rvm/gems/ruby-2.1.2
12:26:11 AM: Installing pip dependencies
12:26:12 AM: Collecting Pygments==2.1.3 (from -r requirements.txt (line 1))
12:26:12 AM: Downloading Pygments-2.1.3-py2.py3-none-any.whl (755kB)
12:26:12 AM: Installing collected packages: Pygments
12:26:12 AM: Successfully installed Pygments-2.1.3
12:26:12 AM: Pip dependencies installed
12:26:12 AM: Installing Hugo 0.26
12:26:13 AM: Started building sites ...
12:26:13 AM: Built site for language en-us:
0 of 6 drafts rendered
0 future content
0 expired content
5 regular pages created
52 other pages created
0 non-page files copied
23 paginator pages created
0 archives created
17 tags created
4 categories created
total in 325 ms
12:26:13 AM: Saved Cache Directory
12:26:13 AM: Build complete: exit code: 0
12:26:13 AM: Cleaning up docker container
12:26:13 AM: Starting to deploy site from 'public'
12:26:14 AM: Deploying to CDN
12:26:15 AM: Finished deploying 3 files in 1.211482755s
12:26:15 AM: Cleaning up the repository
12:26:15 AM: Bundling and saving cache
12:26:16 AM: Starting post processing
12:26:16 AM: Post processing done
12:26:17 AM: Site is live
12:26:21 AM: Finished uploading cache in 822.91592ms
12:26:22 AM: Finished processing build request in 21.298122325s