This is the story of how this site has evolved over the years along with my knowledge about web development.
2014 - WordPress
After finishing two years at university studying web design, I felt it was time for me to build my own website under my very own domain.
I had previously had a blog (2009-2014) on a popular blogging platform but I was limited to frontend only and had no ability to expand my pages and functionality.
With my new skills in web programming I wanted more freedom and I was confident that I could build something fabulous if I only had the right space. I had already heard of the self-hosted version of WordPress and decided to give it a try. I bought myself a domain, signed up for a server at a hosting company and started coding.
At university I learned about responsive web design, which I had never even heard of back in the days when I was tinkering with my blog. Now, when I was building my first WordPress theme, I made sure it was responsive.
I spent that summer in 2014 building my website. I learned what I needed to learn about WordPress to make my visions come true. 10 of august that year my new site came alive. Happy birthday 🎂🥳.
During the following couple of years, I build several WP-themes and the one I am most proud of is Little Fragments. I still smile when I see it 👇🏻.
Wordpress theme - Little fragments
2018 - Jekyll
Fast forward 4 years. At this point I was sick and tired of WordPress. I did not need all the functionality provided by the CMS. I did not want an online database. I disliked the idea of having a login screen to the admin panel that could get hacked (yes, it happened to me). I did not like the WYSIWYG editor and my site also felt a bit slow and bloated. It was time for something else. Something more lightweight. Something new.
I found out about Jekyll - A static site generator with no online database, no login screen, no admin panel and no WYSIWYG editor. Perfect 🙌🏻.
I learned about YAML, Liquid, Markdown and the concept of storing data in regular text files instead of a traditional database – And I really liked it. I learned what I needed to know and rebuilt my entire site in Jekyll with a new theme I gave the name Magic Float.
Jekyll theme - Magic float
I fell in love with the speed and the knowledge that no one could hack my website. Not the database at least. So, once you go static site generator you never going back? - Well..
2019 - Minioop
There were some drawbacks with Jekyll.
However, the biggest issue for me occurred in development mode. Every time I hit “save”, Jekyll’s engine had to recompile the entire site which took about 30 seconds when it was at its worst – and my site was not that large.
I ended up never updating my site because of the time consuming experience. I also had had enough of not being able to build what I wanted due to the lack of an backend language. What now?
I wanted something dynamic and lightweight. I also wanted my database back and I wanted to design it myself.
I designed the database from bits and pieces I picked up from other systems I came accross during the years as well as my own ideas. For the code base I watched YouTube and found a simple system to use a starting point. It was basically a router and some functionality to print blog posts from JSON-files.
I built upon the code base and extended it. A lot. I move all my data to my database and wrote a script to retrieve all post and pages and store them in separate JSON-files to be used by the system. I still didn’t want to have my database online, I just wanted to store my data in it to be able to easier change my file structure as I changed my mind (because I do change my mind. Frequently.).
I named my framework Minioop and it was great… until it wasn’t…
2021 - mo2
My previous framework (minioop) was good and all, except for the fact that whenever I wanted to update it, I had to start up my local server, add data to the database and then run my update script to get the data into my system. On top of that I also had to manually keep track of the files I had updated and send them to the server via SFTP.
It turned out there were too many steps for me to actually update my website so I really needed to ditch my current system. Also, my router had gone wild and consisted of more exceptions than rules, so that was a mess as well.
What to do? – Well, I guess I need to rebuilt it again. Don’t judge. I learn by doing.
This time I was determine to rebuild the backend for the last time. I needed something stable and flexible. I wanted full control but not having to build everything from scratch. I figured there are smarter people than me out there (surprise surprise) who have already done the heavy work. Also, I needed to learn not to reinvent the wheel so I went with the framework CodeIgniter.
I had heard of CodeIgniter back in 2014 when I was studying web design at university. I did however not quite understand the use of it back then but now (years later) I finally did and it was exactly what I needed. CodeIgniter, here I come 🔥.
This time I took everything I had learned over the years and made something fabulous. I ditched my database (again) and went 100% with the flat file approach. I stored my files with a combination of Markdown and YAML (heavily inspired by Jekyll). I also added git to my production server to remove the friction of having to manually keep track of my files. Let me tell you, this was a game changer. Publishing new content and updates suddenly became joyful instead of dreadful.
My new framework I named Minioop 2.0 (in short mo2). I also redesigned the website with a new theme that I have not bothered to give a name.
And they lived happily ever after, until they didn’t..
2022 - mo2jr
What was wrong with mo2? – I just couldn’t stand the feeling of not knowing every single corner of the code (yes, I am that type of person). “What is going on in the background?”, “What unneccessary code that I never use exists here?”, “What if a future update will break my site?”.
Nope. I just had to build it myself. (There were other reason as well for why I switched but I can’t really remember them at this point 🤷🏻♀️).
Long story short: I began rebuilding my framework in the beginning of 2022 (jan-mar). Then I had a long break and started to build again in December. Only a few days before new years, I published my new framework.
I feel this is a framewok that I can tinker with along the way. It’s far from perfect but it works, it’s not bloated and I know EVERYTHING about it 🤓.