Creating a Personal Website and Blog in an Hour
Recently, the inimitable Geoff Huntley, a colleague of mine, gave an internal presentation talking about how he manages his online persona and brand. One thing I was inspired by in his talk was how deliberate Geoff is in this space, and the value he gets from his brand, and his website.
I asked Geoff what he used for his website - half expecting it to be some crazy Rube Goldberg like technological marvel.
I use Hugo for the static site, as it has a lot of built in bits. And I use Netlify for hosting.
That sounded reasonably palatable. So come Sunday, and a small window of spare time, I went tech-shopping.
- First I went to Hugo to retrieve its latest release in binary form
- Next I added
- I then followed the Hugo quick start
Now I had a functional blog platform running locally. A little bit of theme shopping (hot tip: don’t use submodules as suggested for themes, they cause Netlify some angst), and a self-portrait and favicon later, I had something I could push out as the skeleton of my website.
- Next, I went and created a new repository on my GitHub to house my new blog
git remote add origin,
My website was now housed somewhere where I, and others, could contribute to it.
- I then went to Netlify and signed up using my GitHub account
- I clicked the large, prominent
New site from Gitbutton
- Selected my repository from GitHub, which required no further authentication thanks to me having signed up with my GitHub account
- Set up Continuous Deployment of the site - Netlify correctly identified it was a hugo repository and added the correct settings for this, so there was nothing for me to actually do to enable this
- Enforced HTTPS for the site by clicking a button, which Netlify does via LetsEncrypt
- Set up custom DNS
Upon setting up DNS I paused and purchased a domain name via my account on DNSimple. Netlify helpfully supplies you CNAME and ALIAS instructions for primary
www and secondary
bare urls, so without much thought I was able to plug those into DNSimple’s domain management.
Total time was little more than an hour. It would have been less if I didn’t have to stuff around with submodules.
Total cost was $14 for the domain name. That is all.
And it all. Just. Worked.