The idea behind a website refresh came to me after a recent experience with a recruiter approaching me to try for a new role. It made me stop and think about my website. The last time I refresh my website was in 2019 not long after I started my current role and since then I have expanded greatly my available toolset.
So one late night after work I decided to create a fresh branch on my github repo and I wanted a clean slate. I whole new project instead of applying a new coat of paint to the old.
BEM as it is known is a powerful way to create components in your website. I have leveraged this technology with sass to create reliable, scalable and easily maintainable components for my website.
With the use of one modifier I am able to change the look of a component. Take the different positions in these content blocks with images for example, or the mini gallery element above. I am able to easily choose whether I want small, medium or large images. Or if I want the image aligned left or right very easily with the use of BEM
BEM is a fantastic way to allow maintainable CSS in a project, especially with team programming where there is the possibility for conflicts galore in a merge request, or overwritten CSS if you're using an old school FTP deployment method.
My previous website did not use BEM, it relied heavily on bootstrap 4 to build the front end. Bootstrap is not included in this website, I have taken an approach of pure-css grids and flex.
Silverstripe is the CMS (Content Management System) that is powering this website. For me, this was the obvious choice. First of all, I use Silverstripe on a daily basis for my job, secondly I think it is one of the better CMS' to use when it comes to development as it is so very developer friendly and flexible and thirdly because it is open source and free!
This is my fourth website refresh since 2016 and my third website refresh using Silverstripe. My first website I used Wordpress for and I found it very frustrating to develop for. I managed to build this website from scratch to finished (as of this point) in around 30 hours. I did this by using available Silverstripe modules and also found the templating system easy to work with.