New version of the site

site 4 minutes

As it's been a while since the new version of the site is online, time for some recap.

I was thinking about update the site by some time. Before I planned to just rewrite the static site generator which was used to build the previous version, but recently I started to think about adding more features to the server. Features which will require a more dynamic site.

The first approach was to use normal CMS. But due to some hardware limits of the server, there were a couple of requirements to meet:

  • The CMS should use, at the best, SQLite as a storage. I was trying to avoid to use full database engines like MySQL or Postgres.
  • The CMS must have a good caching system to use the smallest amount of resources.

After some time I ended with two options: WordPress and Drupal. WordPress was looking good, just at the moment it could use SQLite as a database only via some code modifications. That's why I tried Drupal. Unfortunately, it isn't that light as advertised. Even with all cache options enabled, Drupal was using too many resources. Additionally, there were also other problems with configuration. After a couple of days playing with it, I've decided to delete and try with WordPress. But before I started, I have done a last research for alternatives on the net. Apparently it was a good idea. ;)

Looking for an alternative as CMS I found the whole type of very light CMS: flat file based CMS. That kind of software is something between of static site generators and full CMS mentioned above. Much lighter on resources than CMS but also require a lot less work compared to static site generators. Plus offers more options to customize a site. After all that's a dynamic content. I've started to look for some solution for my problem. Again I ended with several options. ;)

  • The first was PicoCMS. It was even looking good, until I didn't notice that it doesn't support PHP 8.2 version as its development stalled some time ago. That thing could really go head-to-head with static site generators in performance and offering a lot more options to a site.
  • Another option dropped was Bludit. The main disadvantage for me was the fact that it stores data as JSON files, not Markdown. But generally it is very interesting flat file CMS. ;)
  • Finally, I decided to go with Grav. Even if it has a lot of features, similar to normal CMS, it is still very light on resources. And actively developed. It also offers some maintenance tools for a site, plus a lot of plugins. And the most important for me: it can be "upgraded" to a normal CMS by using database or "downgraded" to a static site generator. ;) Something what hit the spot of quite hesitant person like me. :)

After deciding what I want to use, I started preparing "the migration". The process of installation was very simple, just unpack files on the server. ;) By some time, the new version of page resided in separated folder on the server to test how it works with the server (performance, resources usage, etc.) plus to set it a bit by moving some content to the new home, small customizations to the selected theme, etc. After a couple of days, when everything was ready, I simply moved the folder to the main directory of the server and move old files to the archive. And that's all about the installation.

Writing thing after around one week of using Grav as the site. My fresh impressions about Grav are very positive. It is doing its job as expected. The resources' usage on the server are still quite low, almost the same as before, there is a room for more things to install, but the comfort of work with the site is much higher. Also, the site looks a bit better. And working RSS/Atom feeds. :) At the moment I think, the main work on the upgrade is done. Over time, I will probably add some features to the site, or modify the theme a bit, but definitely something small not that big like this change. And for far future? Who knows, maybe when I will have some time I will rewrite it in Nim or in another language which then will be my favorite? :D