Open Source (Since 2022)

Nuxt Plugins

Since 2022, my focus has shifted from web development with Kirby CMS to Nuxt. Since the alpha phase of Nuxt 3, I have been actively following the meta-framework on GitHub. Over time, several open source projects emerged that I have been maintaining ever since:

  • unlazy: 🪧 Universal lazy loading library for placeholder images leveraging native browser APIs
  • @nuxtjs/plausible: 🎟️ Plausible Analytics integration for Nuxt
  • nuxt-api-party: 🪅 Securely connect with any API in Nuxt – server proxy & dynamic composable names
  • nuxt-prepare: 🦎 Run initialization steps at build time
  • nuxt-kql: 🫧 Kirby's Query Language API for Nuxt
  • nuxt-gtag: 🔸 Google Analytics integration with consent management
  • vue-stickers: 🍦 One component, multiple fancy sticker variants
  • @byjohann/vue-i18n: 🌐 Lightweight internationalization plugin for Vue
  • @byjohann/nuxt-i18n: 💬 Minimal module for i18n with locale auto-imports & localized routing

I would like to look at a few projects in more detail, as one or two of them have a story worth telling (?).

Nuxt Plausible

From a UX perspective, cookie banners are a thorn in my side. That's why I rely on Plausible, a tracking solution that complies with DSGVO and doesn't obstruct the user's clicking around on a website.

For a side project (Dachsbau) I wrote a module to connect Nuxt with Plausible as easy as possible. I later outsourced the initially internal plugin as a Nuxt module. Unexpectedly, I was offered to make the module available as an official Nuxt module. Sure!

What makes me most happy is that the website uses it itself.

Nuxt KQL

As I mentioned at the beginning, I now use Kirby exclusively as a headless CMS. It is therefore my preferred choice, even after testing other content management systems that claim to be the tailor-made solution for the headless approach.

As there was no integration between Kirby and Nuxt, I set out to create the perfect solution. Over months and a steady learning curve with Nuxt, I have created a state that I am happy with and even a little proud of. Especially since it was my first public Nuxt plugin.