Life
Day 1 on Jekyll Blog Writing
Day 1 of Planning a Multilingual Blog; It's fun to headbutting the Ground but it's also insane. Ah bleeding in my brain!
I’m currently working on setting up a blog using GitHub Pages. Not just to look cool, but because I believe organizing and posting different aspects of my life in the form of a blog will help me lead a more organized life. Plus, I have to admit, there’s a bit of a romantic notion in running a blog designed by myself without relying on external services.
I’ve taken a lot of inspiration from GatesNotes, which I frequent. I love the magazine-style layout and the neat, grid-like visuals. My current goal is to copy the layout as closely as possible and then tweak it to suit my tastes.
Good ol’ Bill Gates’ GatesNotes. Looks clean and nice, so I’m using it as a reference.
Content can be added gradually, but the layout itself is getting close to what I want. How clean and good it looks is a concern for later; for now, it’s about filling it in bit by bit.
I’ve tried making GitHub Pages using React before and even tinkered with Flutter recently, but this time, I decided to go with Jekyll. React is more for web development and not ideal for a blog meant for long-term posting.
Jekyll has the advantage of writing posts in Markdown, which I’m quite familiar with from using Notion. However, while it’s easy to write posts, making them look pretty is another challenge.
I hadn’t used Jekyll before, so it took a while to grasp how a static website operates. I’m getting the hang of Liquid syntax now, but since you can’t directly test things in the command line, it was frustrating not knowing what results different functions would produce. After 2-3 hours of trial and error, I’m starting to get it.
If I had focused solely on creating a blog with Jekyll, today’s work would be done. But the problem is I’m planning for multilingual support. I noticed many people use multiple-languages-plugin or polyglot. These are plugins, which means updating GitHub Pages with them is tricky.
This drawback isn’t too severe, as you can host static pages using the plugin separately on GitHub Pages. But in the end, I didn’t use these plugins. Here’s why:
1. I don’t need extensive multilingual support.
I just want the top menu bar to switch between Korean and English, and the post content to switch languages. A simple button at the top right or bottom that switches between two languages is enough.
2. Posts weren’t being recognized.
With the plugin, you’re supposed to place posts in /_i18n/{language}/_post/ and call them based on the current site language. However, posts in the i18n folder weren’t recognized by Jekyll. There’s probably a simple way to fix this (very simple, no doubt), but I couldn’t find it after hours of wrestling with it!
So, I implemented multilingual support with a bit of hardcoding, skipping the plugin. I hardcoded the top menu bar and set the URLs to show English posts with ‘en’ in the URL and Korean posts otherwise. It’s more intuitive and straightforward for me. I referenced this blog post a lot.
Now, what’s left is to make it pretty and keep writing regularly… which will be another big challenge.
To write consistently, it needs to be easy. Markdown isn’t hard, but it’s not super user-friendly either. So, I plan to write in Notion and then export to Markdown for the blog. How do I write in English, you ask? I’ll start with ChatGPT and then proofread the weird parts myself. Wish me luck~
Other posts in the same category
View All →Travel Guide to New York State Suburbs
The landscapes are so beautiful before the leaves start falling in earnest.
[Residency] First Ward Rotation as PGY-2
The duties of a first-year intern and a second-year resident are different. Am I doing well?
Pipeline configuration experiment.
Indeed, the performance of the pipeline is receiving attention on whether it will work well.