DEV Community

loading...

Setting Up My Personal Blog

rasjonell
Open Source Software Engineer
Originally published at rasjonell.tech ・3 min read

Getting the domain

Just like with any other side project of yours, the first thing you do is getting a domain.

As a part of my GitHub Education Pack I got a number of options for free domain registration. As I had previously used the services of GoDaddy and NameCheap I decided to go with GetTech.

Fortunately rasjonell.tech was not taken and with a couple of clicks the domain was mine.
Apart from the fact the UI/UX for the Admin Area is horrendous, GetTech provides a number of cool free services. These include:

  • Email Service (with OX App Suite Webmail)
  • Domain Forwarding
  • DNS Management

Creating the blog

I didn't have time to create something of my own so I had to look for help from the community. There are a lot(actually more then necessary) of static site generators. There was no way I was going to use any JS "powered" tool so I narrowed down my options to only three SSGs:

As a huge fan of Elixir I looked for projects written in Elixir to possibly contribute and have a rest from the JavaScripts I have to deal with every day. Obelisk was the first thing I found, however going to the issues tab on GitHub I found this:

Obelisk Issue

So I had to make a choice between SSG and Serum. Writing this I figured out that there is no rational(or should I say rasjonell 🤔) reason for choosing any other software instead of SSG but my love for declarative programming and good ol' memories of ruby-ish syntax made me choose Serum.

Setting up the project was as straightforward as it could be. You download the software, compile it and there you go. I also installed a custom theme, for which I had to change a single line in my config file(I'm thinking of forking this theme to add a dark mode). Refer to the official guide for more detailed introduction.

Hosting the blog

Unlike my experience with choosing a static site generator, hosting was an easy and obvious decision. I used to use a number of hosting services and was mostly happy with Zeit's "0-config deployments", until I actually needed to config my deployment. That's when I faced an issue, didn't care enough to investigate it and moved to Netlify. I just magically lived happily ever after.

Serum produces a static HTML/CSS website so you can just netlify deploy site. That's it. Problem solved.

Automating the blog

I already had a personal website hosted on Github so I just abandoned it and force pushed this newer, better one. But I didn't want to manually build and the deploy the site every time I made changes so I set up git hooks with overcommit to run mix serum.build before pushing the code.

After that I configured my Netlify(❤️) project to automatically build from the master branch of my repo.

All of this is already cool enough and I really enjoyed making it. But I was thinking of making a local CMS-like environment where you just have a rich text editor and a couple of cool looking buttons for publishing or perhaps saving your blog-post as draft. However I couldn't justify this need and didn't make it. If you think it'll be cool to have such a tool or have any ideas or suggestions contact me on Mastodon or just email me@rasjonell.tech

Discussion (0)