Website overhaul

New theme that I made by myself and that is easier to tweak. Also, a new way of building the website.
Archived
3 minutes
Website
Table of Contents

I have done a major overhaul of the website.

The primary focus was on styling. I was not satisfied with the original theme (Cayman) and wanted to change it. The problem was not in the look of the theme, but in how much tweaking I wanted to do, so it was easier to just make a new theme of my own.

I have also changed the way the website is built. I used to have the website sources in a public Github repository and the deployments were done with a Github Action, to a gh-pages branch in the same repo. I have moved the sources of the website to a separate repository and the deployments are set up to update gh-pages in the original repository.

Let’s look into the details.

Presentation changes

I don’t use any component libraries for styling. I have written some SCSS and I’m pretty satisfied with its structure. There are still some tweaks I want to make. In particular, although I have already done some Semantic HTML-ing, I want to go even further on accessbility.

Language selection

I implemented a menu for language selection, you can see it in the top-left corner (if I haven’t removed it by the time you read this). The language selector uses JavaScript. Implementing a noscript fallback is one of the things I might do later.

Currently available languages are, as before, English and Russian. I write for English first, and then (sometimes) translate it to Russian.

Themes

I also plan to add a selector for website themes, it will be next to the language menu. Themes I want to implement are:

Currently, most of the colors used are named colors, and the text is black, and the background is white. This is good for contrast, and for accessibility, but this is not something that I personally like to see, so I plan to create a «prettier» default theme and move the current one to «high contrast».

Build changes

The move of the website sources to a separate repository was done for two reasons:

Luckily, the Github Action I was already using for deployments (peaceiris/actions-gh-pages) supports both deploying to a separate repository and creating an orphan branch on every deployment.

Because of me playing with SCSS, I also had to add a step to install dart-sass-embedded to the Github Action.

Further plans