I have started this website in 2017. Back then I just got acquaintained with Jekyll, so styling was quite simple. Now in 2021 the website has finally been revamped thanks to the Jekyll Chirpy theme. The major challenge for me was to make it multilingual, since I wanted to write posts both in English and Ukrainian. Unfortunately, Jekyll does not support multilinguality by default, so I had to invent something. Chirpy theme started to support UI multilinguality a couple of months after I’ve started this whole revamp, but it still does not support multilinguality of posts.
The workaround that I read about somewhere on the net (don’t remember the exact source, unfortunately) is to use categories for different languages. So category
en for English,
uk foor Ukrainian, etc. Now because one can use many categories, I have added a more explicit parameter
lang to every post. So the header of each post will look like
--- layout: post lang: en date: 2021-08-28 10:19:00 +0100 categories: en technical ---
Then I know for sure the language of every page from the
lang parameter and I can get the posts for each language just by pointing to the respective category page. The translations of categories, tags and some UI elements to different languages are kept in the
i18n field. All I had to do was rewrite a number of includes and layouts of the original Chirpy theme to account for this new
lang parameter, which was easy enough, so just have a look at the github repository for this website, if you’re curious! And voilà, here comes the revamped website!