Building process of this blog

Misc
Author

Yijia Zhao

Published

February 16, 2026

Technical Details

This blog is built by Quarto, which is a powerful open-source scientific and technical publishing system built on Pandoc (written by AI in vscode).

I choose Quarto for its support for \(Tex\) formulas. My first choice was Hexo. However, after spending an entire afternoon trying to configure it to support \(Tex\) formulas–experimenting with renderers for \(MathJax\), which failed to render formulas entirely, and \(KaTex\), which produced ghosting arrtifacts and displayed raw \(Tex\) code on the page–I ultimately decided to switch to Quarto on 7th Feb, 2026.

The source code of this blog is available on GitHub. It was not my firstr time using git–I had previouly used it to upload my Obsidian vault to Github. But back then, I simply followed a tutorial posts machanically to set it up, and through an Obsidian plugin, I could have it automatically sync when closing Obsidian or after a certain time interval. I did not actually understand what those commands meant.

During the process of building this blog, I began to truly understand the meaning of Git commands, such as git commit and git push. More interestingly, following some advice, I wrote a simple .ps1 script:

quarto render
git add .
git commit -m "Update blog: $(Get-Date -Format 'yyyy-MM-dd HH:mm')"
git push origin main

While I have observed that many seasoned GitHub users opt for brief descriptive commit messages rather than only dates, I do not yet find this practice necessary for my own workflow. Firstly, the volume of my contributions remains modest, allowing me to roughly recall the content of each commit. More fundamentally, I have yet to encounter a scenario that would require me to revert to a previous state.

Before building this website, I had almost no knowledge of CSS. My styles.css file is probably full of messy, non-standard code. Since a large part of it was generated by AI, I don’t even have the ability to maintain it properly. Fortunately, at least for now, it seems to work just as I imagined. I hope to fill this knowledge gap in the days to come.


Design Philosophy

Speaking of CSS, let me briefly explain the visual design of my website. I’ve kept the same color scheme across both dark and light modes—a blue-purple navigation bar, white text, and yellow accents. I’m not a fan of changing the theme colors when switching to dark mode, and this palette isn’t too harsh on the eyes against a dark background either. I’ve also added some simple mobile adaptations—which, to be honest, have yielded barely acceptable results.

Also, the entire website is in English. My English isn’t particularly strong—I scored a 6 on the IELTS writing section—so I’d like to use this space as a platform for practice. Some of the text you see here may have been translated with the help of AI, so if you notice any grammatical issues or have suggestions, feel free to point them out.

Finally, a word on the purpose of this blog. I hope that one day it can find a place on my personal business card—something I can showcase when applying to schools or jobs in the future. That’s why I don’t plan to promote it widely or fill it with overly entertaining content. Of course, I know that those who become proficient do so through hands-on practice; to keep improving my blog, I need to let go of the “curse of perfectionism.” I hope I can hold onto this mindset and continue refining this blog, step by step.