Skip to main content
Nikos Printezis

Nikos Printezis

Hi! I'm Nikos and I'm a full stack engineer. I like coding all sorts of stuff, although I focus more on front end development with native JS/CSS features, React and 2D games with PixiJS. I'm really looking forward to provide more and more content in this website and I hope you enjoy my blog and games.

Blog

Adding accurate lastmod tags to your Astro sitemap

A person wearing a futuristic mask and looking at multiple screens

This post explains how to include accurate lastmod tags in an Astro sitemap by reading last update times from your pages during the build process. It covers a simple custom integration and offers tips for keeping the build efficient, even on larger sites.

Behind the Scenes: The architecture of this site

A desk setup with a computer on the background

Take a behind-the-scenes look at the architecture of this site. In this post, we explore the design, structure, and technical framework that powers both the site and the games, revealing the key elements that contribute to its functionality and user experience.

Introduction to CSS logical properties

Multiple cubes in different colors and sizes

In this post, we explore the importance of CSS logical properties for creating web layouts that adapt to a variety of languages. Through a practical example, we demonstrate how traditional CSS can complicate globalization efforts, particularly for languages that read right-to-left or top-to-bottom. By transitioning to CSS logical properties, we simplify our stylesheets and ensure a seamless user experience across diverse languages and writing modes.

How to animate from height 0 to auto

A computer screen showing dropdown menus

Vertical expansion is one of the classic animations every front-end engineer encounters. When a user clicks, hidden content is revealed line by line. While it's straightforward to achieve this with JS, the addition of CSS transitions has made many developers eager to implement it using just CSS. But is it possible? Well… yes and no. In this post, we’ll explore 4 different ways to accomplish vertical expansion.

My favorite service worker setup

A js developer working on a project in front of the screen

My favorite service worker setup that I use in order to cache static content and provide basic offline experience. The first time I set my eyes on service workers, I thought how cool it would be to cache static content as much as I like and not rely on the server. Nowadays, static resources (js, css, images, etc.) are cache busted, meaning that they have a unique name based on their content. So it's not expected for a static resource to change. So why not cache it forever ?

How to clone an object in JS

Two objects looking identical

Regardless if it's for testing or actual implementation, there are many cases where we want to deep clone a JS object. There are 4 very neat ways to do so.