on
Setting this blog up in 40 commits or less
Who am I?
I’m Gideon, I am a web developer from the UK based in Germany and I want to experiment with writing posts about programming and other topics that interest me (such as spoken languages). I want to write my thoughts down and get ideas from others, create discussion and produce content rather than only consuming articles on the daily. I feel like I consume enough content, creating my own content to share with the outer world is something I have wanted to do in both writing and software.
So! What are you using to make this wonderful blog?
I’m glad you didn’t ask, because I’m going to tell you regardless. I’m using Hugo with the Tale theme; a port of the synonymous theme for Jekyll which is another static site generator. It’s a lovely clean theme that I like a lot, and unless I find something I think is nicer, I won’t swap from this. If you look at the footer, you can see my choice of software and theme. I didn’t build the theme and the person who ported this theme to Hugo and the original theme creator both deserve credit. Also if this was a WordPress theme, they would charge at least 50€ for this.
I really like minimalistic themes
Why Hugo?
Hugo is probably the simplest static site generator I’ve used. I’ve used a couple of others including Jekyll and I didn’t find any of them as easy or quick as Hugo to set up and get to the act of writing content. For hosting, static site generators will always require more technical knowledge, but I don’t think that matters if you use a service like Gitlab CI to build the static files and push to a remote server of some sort. Additionaly, I can write my posts in Markdown which is a markup language I’m comfortable with and it is easier for me to write in. The lack of a built-in spell checker for my text editor will make my writing look untidy though so I hope I find one soon.
I originally thought of using Medium for this blog but I disagree with some of their design choices that this article nicely sums up. If you aren’t technical though, I think Medium is a great tool for producing written content that a lot of people will be able to easily read on a computer or on the go. I am a developer so I wanted a solution that fit my needs better than Medium, WordPress or Blogger could do.
Why Gitlab?
Github doesn’t have free private repositories for everyone. But as of literally 3 hours after I registered my account on Gitlab, Github does now offer them. Regardless of this (very good) change, a big advantage of Gitlab for me is having all of the tooling to store and deploy my blog in one service, even if GitHub technically gives you more flexibility on how to handle these tasks. Having used Gitlab’s services for basically shy of 24 hours at writing and therefore definitely being qualified to talk about it; the free service is definitely worth the praise lavished upon it.
There are a lot of guides on how to deploy various SSG’s, projects written in [x] language and JavaScript frameworks online for Gitlab’s Continuous Integration feature. You can cobble together a working script together from these guides relatively easily and Gitlab’s own documentation for this feature is rather stellar, being clear and easy to follow.
This is assuming you have some general knowledge of programming but if you are dipping your toe into programming for the first time it will feel daunting. That isn’t to say don’t try it, definitely try it if you are interested! It will improve your problem solving skills and knowledge of how to effectively use Google or Google-fu for short.
Any gripes?
I have one single gripe that sticks out to me. Being required to push a commit every single time I wanted to test my newly created build process makes the commit history look a bit messy. I pushed about 20 commits which were all miniscule changes in an effort to get the build process to work and it just doesn’t feel right to work like that. I don’t think this is be something that would be addressed in the future however and that’s fine, it is a non-issue in reality.
At least the tree looks pretty
This sounds like a nitpick, because it is. Gitlab is providing a free service that allows you to run complicated build processes for small projects quickly and efficiently. For an experienced developer to get up and running with this, it wouldn’t take them long at all to set this up at all! That alone is cruical for developers to work on and spin up new projects faster.
Closing thoughts
Gitlab is a well-rounded package for beginners to try, well worth checking out if you want a quick simple solution for pushing your blog to a server. There are nitpicks and issues you can find sure, but the features they provide is worth paying for even if it wasn’t free. Hugo is a solid simple solution for setting up a blog and I see myself using it for the foreseeable future as isn’t complicated to maintain and it just works. If you are looking for something similar, I recommended these tools highly, they make my life easier and I think they will make your life easier too.
I hope to be able to write interesting articles about things I work on, about challenges I face as a developer like the challenges I had to setting up this blog, and maybe even some successes with side projects that I think are cool and I’m ready to show to the outside world. Thank you for reading and I hope to grace your screens again soon with more allegedly charming and witty content.