When I decided to start my own blog there were some things that needed to be decided. What technology to use, where to host it?
I wanted possibility to get my fingers “dirty” in the machine room (I am a developer, after all, so this was also chance to thinker with technology). But I also wanted features - taxonomy, search, multilingual support, nice layout, SEO, responsivnes without spending hours and hours programming.
After some research (mainly following other tech girls and guys with blogs) I decided to give Hugo a chance.
Hugo is a static site generator
. Once you install it on your machine, you can start creating blog posts using Markdown markup language. Hugo will render them into a bunch of html, js and css files - simple static website.
Once I had this I started looking at Hugo Themes to find a the theme for my blog. My choice was Liva Hugo Theme. I did som configuration and some minor tweeking to simplify the layout a bit.
Next step was - were to host my blog?
This was pretty easy choice to make, especially since AWS is my “workplace” (and have been for quite some time).
My static files are placed in a AWS S3 storage. In front of this I have a AWS CloudFront CDN to add some caching and other features. Last componnet id AWS Route53 - Amazon DNS system that ties my domain, https://fajkovic.net with ny website through CloudFront.
I am not going into much detais here - will probably do some posts on some of the interesting details on how to host static website on Amazon S3 storage.
I am using GitHub as my blog repository and also as I publishing engine. With Hugo it is possible to deploy to AWS, Azure or Google Cloud direcly from your machine by running HUGO Deploy command, but I wanted to automatize and simplify my publish process.
I don’t need extra AWS tools for authorization, I don’t even need machine with Hugo installed - I can simply use a web browser and creste/ edit my blog directly in GitHub repository. I only need to check in /push my changes and new content will be deployed.
I the future I wil add some posts on some of the “gotcha’s” I encountered while putting this blog together.