Looking back, the design principles of this site are the following,
Minimal design in its looks
Performant, i.e. fast page load
I hope I have these principles in mind before I started to learn to build a website, that would save me a lot of time…
Starting from scratch, very slowly, I started to build my personal site using Nuxt.js. I quickly realized that it might not be suitable for my purpose. There are mainly two reasons for this:
There is no standard or easy way to incorporate the content from my markdown ﬁles to the page rendering. All the methods I found online feel like a hack and it suffers the problem of loading all the posts together for every single page! This issue is also addressed in this blog post.
Second, it is very ﬂexible in a way that it operates modularly, and it provides API at every stage of its generation process. Thus, it allows one to add customized pre-processing or post-processing workﬂows.(UPDATE: after more careful examination, this turns out not to be true. See https://github.com/11ty/eleventy/issues/290 and https://github.com/11ty/eleventy/issues/406)
Third, similar to Jekyll, it put all your contents into
collectionswhich can then be used and referred anywhere in the templates.
As for the design of this site, I am heavily inﬂuenced by Tom MacWright’s personal site. I hope to talk about this more in details in the future. For this site’s CSS, I end up choosing the tailwindcss since it is a low-level CSS framework, which allows me to acheive the look I want without much effort.
I guess the lesson I learned is, do not make things overcomplicated.
The source code of this site is on github ↩︎