A requirement such as the downloading of data objects as CSV file is almost ubiquitous, to such an extent you might encounter it even in the practical part of a job interview. Thus knowing how to implement it is undoubtedly valuable, even more so if one knows how to implement it without resorting to a third-party library. For this reason, today I want to show you how to package an array of data objects into a CSV file with just some plain TypeScript.
Blog / Page 1
A greyscale Google map makes markers, polylines and whatever you might want to draw on it, to stand out naturally and with style. There's no doubt about that. Perhaps, you might think that with React repainting a Google map in greyscale is a tricky affair... Trust me, with a little help provided from an online tool and a handful of custom code, you can add to your React app an interactive or static greyscale Google map in really no time. Let's see how!
Intercepting click events that occur outside a given element is something you might have had already the need to handle, or maybe it's something you need to translate into React code right now, whatever the case, a reusable solution is more often than not a big helping hand in speeding up development and strengthen your app's architecture. Manly for these reasons, today I want to share with you the implementation of
useClickOutside(), a custom React hook spiced with some TypeScript.
In this second post about tooltips I want to describe to you some new code developed on top of the CSS cascade I published about a month ago, and which I used to draw a CSS-only tooltip. I'm going to start with a slight refactoring and then add up on it new CSS rules, which will allow the tooltip to appear with a fade-in animation from one of the four main directions by just changing a CSS class.
Modern CSS helps greatly in streamlining the drawing of tooltips: if it wasn't for flexbox layout we were still obliged to resort to tricks like a negative margin, to keep a group of elements neatly centred. But what about that little bottom triangle characterising the tooltip itself? Sometimes old solutions don't lose contemporaneity.
mergeObjectsDeep()was born to be shared.
The development of a block-enabled plugin is a very well documented process in the WordPress Codex, packed with all the information one might need to get started. To date however, the documentation falls quite short in providing details on how a plugin should proceed to register two or more Gutenberg blocks by means of
block.jsonconfiguration files. As I recently faced this problem first-hand, I thought I'd share what I learnt.
It does happen to change mind. But when for some reason we change mind on the name of a shortcode become almost ubiquitous amongst our Posts, Pages and Custom Posts, the only reasonable way of renaming all its occurrences is programmatically — writing scripts all the monotonous work can be delegated to is a habit that, trust me, pays off over time.
For the course of events to change, it doesn't necessarily have to take place a paradigm shift, sometimes even a decision made to fulfil an ordinary need is enough. But please, let me clear up the vagueness of my words, because I think an explanation, for the users of The Permalinks Cascade Pro and SiteTree, can be as much appreciated as it would be receiving words of gratitude for the trust placed in me.
Today SiteTree becomes officially part of the history. Don't worry, I am not going to say my goodbyes to the project, far from it! This post is about a breath of fresh air: I gave the plugin a new name, and from now on it will be distributed in two versions, Pro and Lite. The introduction of the much anticipated Gutenberg Blocks is another big novelty. But let's start from the timeless question: "Why?"