Finally decided to redo my site, as the last time it was made was my junior year of high school 😬
Random Detour
When I was looking at my old site version from 2017 I noticed that I had a massive security vulnerability, allowing RCE.
Anyways, I decided to try Svelte for making it, how hard can learning an entirely new web framework for my site be, ya know? Well Svelte + TailwindCSS was amazing, and I will share just a little bit of details about how it was made.
Development Process
First, I created a draft of my site in Figma. The Lo-fi Wireframe Kit helped me prototype extremely quickly.
For the blog, I ended up using the Github Colors theme for code, plus some plugins to hyperlink headers, add LaTeX support, and add direct HTML attribute setting.
I was able to get this up and running fairly quickly, only ~2 days of coding. My most annoying bug was the blog posts themselves having a width larger than the screen width, which I fixed with prose-a:break-words prose-code:break-words + overriding the width, which wasn’t too bad (it took me 4 hours):
.prose{max-width:min(100vw, 65ch);}
Switching from medium
Since mediumexporter wasn’t working for me, and it looks like an extremely recent break, I used medium-to-hugo with a small patch to download my medium posts and convert them to markdown.
Time Machine
I added a basic time machine feature hidden in the footer of my site. I embed my old sites as iframes, and dynamically fetch all directories with a small function:
You can check it out here. I also added a draggable header so that it doesn’t block your view.
SEO
I wrote a small snippet of code to pull out text from my blog posts and use it as the description in SEO.