Well, I have been using and working with Drupal for over 8 years now. I have been an occasional blogger sharing my learnings. In the start I used wordpress.com where I was kind of regular in posting blogs & tutorials. However, I not satisfied with the fact that I don't have much control over the site design. Next I moved to Jekyll hosted on Github pages (I lost the domain hence new domain ☹️). I was quite happy with it but as days went by I stop maintaining the site[reasons unknown] and eventually lost interest in it.
Being a Drupal guy, I wanted to use Drupal to build my website. It's been a while I first thought of it. It took me ~3 years to finally build my site on Drupal and more excitingly the site is powered by Drupal 9.
What took so long?
I am not a designer although I have a keen knack in it. However, I over-dwelled on the design and how it should look. There were many iterations of the design taking inspirations from different websites. Apart from that I was found it hard to manage some free time to work on my site dedicatedly.
So, one of the good things that during the lockdown in India I got a good amount of time for myself to re-think and approach with a solid determination to execute my long plan to build this site.
Starting fresh with the design & site-building
I wanted a simple theme which looks neat & modern at the same time. I took inspirations for Lullabot and PreviousNext to create the theme of this site. Although it's nothing surprisingly astonishing, it makes me feel good.
To keep things performant and semantic, I create a theme from scratch with the Stable theme as the base theme. Most of the twig files are overwritten to strip off unnecessary wrappers and classes.
Apart from that I componentize the CSS files using Drupal 8 libraries to load only the styles when it's needed. I also used libraries-override to remove unnecessary libraries to load provided by core.
I haven't used any contributed modules (as of now) to build the site but leveraged Drupal 8 core APIs to develop certain functionalities. For example, using Drupal 8 Filter API I added filters to create code styles which use Prism.js for code highlighting.
For hosting, I am using Digitial Ocean running PHP 7.4 & Apache; code is version-controlled on Github. Currently, I am doing a manual deployment for development changes but mostly I will switch to some CI/CD service to automate the deployment.
I hope I continue to work on this site and make it as a platform to share my thoughts and learnings. I do have some features to add on to the site in the pipeline which I will be rolling out gradually.