Skip to content

Hello World (again)


As you can see, I refactored the whole website again.

This is probably the fourth or fifth time I did it, and you might have seen some previous versions before. Those versions were mainly developed when I was still in middle school, attempting to create something fascinating using 2000s technology from scratch. And apparently, I failed to continue to maintain them.

Past attempts

Starting from scratch using vanilla HTML was really time-consuming, and the outcomes were never satisfying. There were always mispositioned images or buttons, and elements that glitched on mobile devices. It was also very inconvenient to add more contents.

Then, in consideration of the contents, I switched to those blog frameworks like Jekyll and Hexo. At first they were awesome. The beautiful pages appeared in minutes of work. However, when I tried to modify the themes a bit and add something in a layout I preferred, I gave up. I did not like to spend a lot of time reading others' code and understanding that just for modifying it and maybe to add a card or two. I did not have the time to make a nice theme from scratch either. So these attempts were also abandoned.

Finally I came to a minimalist design, still using vanilla HTML, but this time a single-page website with only a name card on it. It was quite successful. At least bugs no longer existed. The only problem was the inconvenience to add more contents; however, I was quite tied up last year, and that page just stayed there for about a year with no updates at all.

Refactoring using Astro

Recently, I decided to refactor the whole thing and keep an easy-to-maintain and elegant website. I concluded that:

  • I do not need something designed for blog posts. I do not write blogs very often. Such frameworks and templates limit a lot.
  • I do not need fancy things that require lots of code either. There is still need to make the process of updating the contents fast and easy; I may still write something on my website.

So I found Astro. It says to be the "web framework for content-driven websites". It actually is: I finished everything you are looking at now within 2 hours. I just found a template, modified a bit, and added contents to it. I like the design, and it is also very modern. It uses TypeScript and Tailwind CSS, which is now quite familiar to me and is easy to get started.

It loads content from markdown files, and it is also easy to write things in HTML, which means that I could create both heavy contents like the blog posts, and some fancy stuff that may be used in the index page.

And I also kept a blog section. I know that I am not going to write blogs very often, but just in case that I want to write something, I still made one.

I hope you enjoy the new website!