Web Vitals – Essential metrics for a healthy site

Web Vitals is a new great set of articles on Web.dev (by Google) focussing on delivering a great user experience on the web. To help developers focus on what matters most, they’ve selected a set of metrics which they call “Core Web Vitals”. The metrics that make up Core Web Vitals will evolve over time. …

1loc – Single Line JavaScript Snippets

1loc is a site packed with small JavaScript snippets that take up 1 line of code. For example: Compare Two Dates const compare = (a, b) => a.getTime() > b.getTime(); Generate Number in Range const random = (min, max) => Math.floor(Math.random() * (max – min + 1)) + min; Get all siblings of an element …

Tackling TypeScript: Upgrading from JavaScript

New book on TypeScript by Dr. Axel Rauschmayer, who also wrote Exploring ES6 (and a few other books on JavaScript). This book consists of two parts: Part 1 is a quick start for TypeScript that teaches you the essentials quickly. Part 2 digs deeper into the language and covers many important topics in detail. This …

CSS Grid Layout Module Level 2: Masonry Layout

UPDATE 2020.10.22: Masonry Layout founds its home in the CSS Grid Module Level 3 Draft Spec! A long requested CSS feature is to be able to create a “Masonry Layout” using pure CSS. Today we can already create a Masonry-like layout using grid-auto-flow: dense;, but unfortunately that’s not the real deal. 🤔 Masonry Layout? Masonry …

Emoji Customizer created with CSS Variables

Fun pen by Jakob Eriksen in which he combines Emoji and CSS Custom Properties to create an Emoji Customizer. The reason that this works is because of the fact that emoji can have modifiers. Skin Tone and Hair, as used in the demo above, are such modifiers. Using the ZWJ (“\u200d”) you can glue all …

Using React’s Key Attribute to remount a Component

Nik Graf details a little trick I also use from time to time: changing the key of a React component to force remount it. Upon clicking a contact in the list, the active contact’s id is used as the key for the Detail component. <Detail key={activeContact.id} contact={activeContact} /> Using React’s Key Attribute to remount a …