I've rewritten my website, again
Now Astro is my best friend
Waoa! New website!
My old website started to not really represent me anymore... like I don't feel happy to say it's my website.
Also, I don't go by that robot online anymore! It's mostly this raptor/lizard thing now.
Anyway.
My old website has a ton of technical debt, and I've learned a lot from since I made that version. SvelteKit has also been started to be a sore point...as great as a design it has, I kept on having to fight with it. A large one is that Intelisense would randomly break. Reload VSCode became my top command.
So obviously, make a new website! New version. and stuff. but. I didn't like the idea of replacing my current website with an objectively inferior one.
I've been told a lot of nice things about my old website, but it also in a weird way added mental pressure to me. Woah, expectations! Don't get me wrong, y'all are great for this, and this is entirely an issue on my end, but it did contribute a decent amount to my burnout. My scope was always really big when trying to make a new version, and as such I never completed any of them in the past year.
Recently I just stopped caring. I realized by wanting to make an impressive website, then this isn't really my website anymore. I'm more targeting users then myself. And that ain't what the personal web is about!
However...I'm not gonna just take down my old website from the internet. That kinda goes against my principles. Like, recently an artist on Twitter I really liked deactivated their account for a few days, and with them being an inspiration to me I didn't really like that. Ofc, it's their data, yada yada, but my goal isn't to disappear, and I don't wanna do something like that in case someone also looks at my site fondly.
So here we are! A new website. Not as featureful but we'll get there at some point. IF I want to. (i do want to)
Style
I've been using Catppuccin a lot recently, so I'm also using it for my website.
Where's the old site?
Nerd zone
Okay okay here's the details.
Swapped SvelteKit with Astro
Astro!!!! Astro!! I've been using Astro and I love astro
Like I said above SvelteKit was being a pain and developing for it was becoming to be not fun!!. Astro has been fun. It gets out of my way. It makes making blogs really fuckin easy.
I really like how it's more server-side. Astro components, despite using JavaScript for their logic, by default don't send any JavaScript over to the client. This lowers mental overhead for me compared to SvelteKit a lot; with SvelteKit, you have to make sure your code works fine on both the server and the client. Astro don't have that.
You can also use whatever component framework you want at any given moment. So you can have React and Svelte on the same page! Wow. I've just been only using Vue at the moment but wow.
I also used a template this time. I usually start from scratch, but I decided What the hell and used the Astro Blog template. I don't really see how it's minimally styled...it is minimalistic in a visual sense, but there still was a lot of code to rip out.
Using Obsidian
I've already been using it for my notes, but now I got it working so I can write posts in Obsidian. So much better than VSCode.
Setting up a vault is a tad tricky. You can't just make one inside your project directory as Astro gets a lil pissy with the .obsidian folder. You gotta make a vault separately, and then create a symlink to the project folder.
Another neat thing I got running are callouts using Obsidian's syntax.
Input:
Output:
Kept Tailwind
Tailwind has this aura around it. Not when developing, but when people bring it up online.
"Does he really know CSS? Doesn't this bloat the webpage? This is just inline styles. Achoo!"
Yes, sorta, kinda, and bless you. But I'm not here to sell you on Tailwind. It's just kinda funny to me how all this be.
I feel Tailwind works in most situations. Components really make it shine. But then you got Markdown content, like here.
Most Markdown processors (like MDX. or is it remarked doing it? idk) let you swap the HTML elements you have with components. Cool, but now you got Tailwind classes spammed everywhere on the page. Not that great...just shipping that large HTML file. So I've just added a .md class on most the elements MDX gives and I style them using @apply
. I don't know if that's the best method, but whatever...
Added Turborepo
I don't have much to say about this. It does monorepo, and a monorepo just seems useful.
Swapped pnpm with npm
Too many pnpm-specific issues to justify using it.
Kept TypeScript
TypeScript feels like a cruel joke. I'm finding myself constantly fighting with it.
Now, I don't mean I'm terrible with types. It's just buggy at the most basic things. It'll somethings magically act like it's running from its default config. My most used command in the VSCode command palate is to restart the TypeScript server. Ughh.
The cruel joke part is that it sucks to use for me, but life without it is worse. And when it thinks it detects an error, it practically doesn't do anything. Astro, like SvelteKit, doesn't care about TypeScript errors. They don't really exist outside of VSCode. I'm always free to just mentally tune it out.
I gotta get this together somehow...Maybe since now everything is working in harmony but TypeScript I can try to troubleshoot it. But from experience, I'm likely to end up on a 2 year old open GitHub issue.