Johannes Eschricht @ eschricht.dev
BlogSettings
Go back

Hello World

10 months ago

Welcome to my blog!

🎉 More specifically my first post! 🎉

My name is Johannes Eschricht. I'm a software engineer living in southern Sweden. This website / blog was created so that I can play around with Nuxt and @nuxt/content.

Yesterday I created an animated SVG signature, heavily inspired by the animated SVG logo crated by Anthony Fu:

Johannes Eschricht @ eschricht.dev

I'm quite happy with it. In fact, so happy that I made it the official logo for this website!

I'm planning on adding a more personal touch to it later on. The current signature is more or less a copy paste from Anthony's blog post. You should definitely check out his other work if you're interested in web development!

The animation of the SVG signature is created by adding a long stroke above it as a mask. That stroke is animated by adding animations to stroke dashes(!), specifically the properties stroke-dasharray and stroke-dashoffset:

@media (prefers-reduced-motion) {
  path {
    animation: none !important;
    stroke-dasharray: unset !important;
  }
}

@keyframes write {
  0% {
    stroke-dashoffset: 1px;
    stroke-dasharray: 0 350px;
  }
  70% {
    stroke-dasharray: 350px 0;
  }
  /* Moving back */
  75% {
    stroke-dasharray: 350px 0;
  }
  95%,
  to {
    stroke-dasharray: 0 350px;
  }
}

.path1 {
  stroke-dashoffset: 1px;
  stroke-dasharray: 350px 0;
  animation: write 10s ease forwards infinite;
  transform-origin: center;
  stroke: #fff;
  animation-delay: 0s;
  opacity: 1;
}

Anyway, thanks for reading this far!

For those of you who are interested in what tech stack is powering this website (at the time of writing this):

  • Nuxt - Vue framework
  • UnoCSS - CSS Engine, which by default has Tailwind-like utilities (and a lot more, check it out!)
  • Nuxt Content - A Nuxt module to create content / pages by markdown files. This blog post is powered by this
  • Nuxt i18n - A Nuxt module to handle internationalization