software engineer, Drupal follower, Docker ninja, JS explorer, PHP believer, Exotic Hardware beta tester, Amiga enthusiast, truth seeker, parent & husband... at least for now...

I started this blog back in 2011, because I needed a place to write about my interests, my findings and the things that I love to use and do. When I created it I choose Tumblr to host it because it is something different, with a a few nice features, like the social character of the product, having your own domain free of charge (almost), being able to create multiple blogs under the same account, a selection of multiple themes and of' course didn't need coding to have it up and running.

But I am a software engineer, and as such I always wanted to make changes at theme's code, changing it a lot. After all these years Tumblr benefits didn't seems so attractive any more. A couple of weeks ago decided to move away from it and rebuild my blog from the scratch.

The framework I choose to build my blog is Grav, which is a flat-fle CMS based on Symfony and it doesn't even need any database to work. Everything is based on files, the configuration, the articles and of' course the theme and the assets. But I will talk more about Grav in a latter article, because this one is more about the reasons I decided to move away from Tumblr.

I don't like ads

What I first thought about the free features of Tumblr proved to not be so true. I hate ads on Internet, I really do. There are sites out there that have more ads than content. You visit a website and after you give your permission on 2-3 popups about I don't know how many cookies, like signing a contract to read an article, you end up hunting were exactly is the text you want to read and you afraid that if you click on a title might lead you to a totally different website.

So, after all this rumbling, you see clearly that I don't want my blog to have any ads. Unfortunately, this is something that Tumblr does add at your pages. Don't get me wrong, they were not so many, but I didn't want a single ad showing on my articles. And of' course not a single line of code that would track visitors. I think this is enough reason to move away of "free" platforms like Tumblr.

Socializing or not socializing?

The social character of Tumblr, were people are able to follow you or re share your articles didn't benefit me at all. Actually, I experienced the quiet opposite of it. My account was full of spam messages that I had to go through all the time. Until I decided to totally ignore them. So if there was any message of my interest, I surely lost it. I decided that I don't need that kind of socializing in my life. I have the accounts I need at the social networks I want to be, and if I need to attract more followers based on my content I prefer to share it on my own, with no platform to manage it.

Bad editors

Tumblr's editors are a big pain. There is no way to add your content other than the editors they provide. They have three different editors, one for markdown, one for plain text and one for HTML. The editors are really plain and through the years they changed them in a way that older articles were not compatible any more. Remember that my blog is 9 years old and when I tried to change something on an old article, most of the time I was losing a part of it. Even when I wanted to add an image in the middle, and I was using the markdown editor, I had to switch to html to add it. Adding code sources was also a pain and there were many times were I lost my code because of editor switching.

Maybe they are fine for simple articles, but for a technical blog this editing experience was not the best one.


As a software engineer I need freedom to do whatever I want. On Tumblr I couldn't even add more social networks in my account, like the Mastodon one, because Tumblr doesn't support it. I had to hardcode it and also add an extra font icon, just to put a link in my blog, because theme's font icon didn't include it. Moving to an other framework would give me the freedom I was looking for.

I created a Git repo for the blog to host any changes in the code and the articles. Everything is there now, and because it doesn't need any database to work, makes the repo a full backup of my blog. I can even build a CI/CD process with Drone if I want to.

It took me less than 30 hours to create the new blog site with Grav, doing everything as it should be done. Created a child theme that was based on the default one, inheriting all the features, with no risk to lose my changes because of future updates. Added all the necessary configuration fields in the theme or in plugins, as Grav's documentation proposes to do and adapted the old design to the new framework, doing some extra changes I always wanted.

I am quite happy with the result and now my blog is as I wanted it to be. Free and awesome.

#blog #grav #symfony #programming
- 5 min read