Published on 2/23/2023
If you have seen my older website and looked under the hood, then you might have noticed that I have switched to Astro. I had some Vue.js experience with older projects that I made in the past and I am also learning the composition API in Vue 3. Now, one of my friends mentioned that I might be intrested in Nuxt because of this.
It’s a framework to easily write Vue applications in, while also being able to do lots more and giving a default structure to work with. Like rendering your website statically and just serving that, as that was my initial target for my portfolio.
I wanted to transition away from PHP with my current background, so I wanted to try it out. But Nuxt 3 wasn’t released yet when I wanted to start working on it. So I waited, and waited. And after a while the first Nuxt 3 versions came along including Nuxt Content which makes writing markdown for pages a lot easier. But I am still waiting for the static page rendering for Nuxt Image, so that I can optimize my images locally instead of doing it by hand every time.
While I was almost done I found out that most of the plugins for Nuxt 3 where not done yet with the conversion to Vue 3, even after such a long time. And it turns out that static rendering took the lowest priority for most plugins. That meant that the image plugin didn’t work yet, and that the content plugin also wasn’t supported for generated sites. So I had to bite the bullet. Do I go with something else or wait for a fix?
I first started looking on sites like JamStack.org for some inspiration, and found Astro being kind of new and with lots of support. I dove deep in to try Astro and the current site that you’re on is the result, so check it out.
Of course I didn’t have a complete smooth ride migrating everything to Astro.
Before I started to use .mdx files I used regular markdown to make components. It had lots of issues not displaying the contents correctly, and eventually did HTML in markdown to solve it. Also, Astro was still in the infant phase. Lots of updates with breaking changes where being pushed out. Including Picture being deprecated.
I also had some dependency management issues in the Linux container needing some packages that where not available in Linux but where on Windows. And a lot more that I most likely already forgot, but the full change history is visible on my Github page.
But with that said, I am very happy with how it turned out, and I will be maintaining it proudly for the next couple years 🤗