Website overhaul
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:
- System default
- Light
- Dark
- High contrast (possibly also split into light and dark)
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:
- I wanted to be able to work on new content without having to worry about people reading the unfinished drafts.
- I didn’t want to store the website version history publicly. This, of course, can be circumvented, but the current solution is enough for me.
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
- Accesibility improvements (readability, semantic HTML, check tab order, aria-labelling, etc.)
- Better colors for the default theme, and a theme selector
- Better non-color-related styling of the posts (e.g. margins, line height, font sizes, etc.)
- New content sections (Projects), cleaning up the existing ones (About me).
- favicon…