Search
How to Conditionally Add Attributes to Objects
16.10.2020
JavaScript is full of tricks that you don’t know you want until you … want … them. Or maybe just until you see them. One trick I recently realized was conditionally adding attributes to React elements. Of course this trick essentially boils down to conditionally adding properties...
Sports Data for Developers: SportdataAPI (Sponsored)
12.10.2020
Most of the side projects I consider starting revolve around sports, since I’m a huge sports fan. I spend my Saturdays watching soccer, Sundays spent watching soccer and NFL, and of course the mid-week Champions League and Europa League matches. One problem I’ve always had is not being...
39 Shirts – Leaving Mozilla
6.10.2020
In 2001 I had just graduated from a small town high school and headed off to a small town college. I found myself in the quaint computer lab where the substandard computers featured two browsers: Internet Explorer and Mozilla. It was this lab where I fell in love with Mozilla — a browser that...
Curate Custom Content with mediastack
6.10.2020
I used to have a personal aggregator of sites I enjoyed but maintaining it was a nightmare. I needed to grab each site’s RSS feed, categorize their contents, deal with errors and individual rate limits, etc. I had to tear the whole project down because it was a nightmare to manage. Fast...
How to Detect When a Sticky Element Gets Pinned
5.10.2020
The need for position: sticky was around for years before it was implemented natively, and I can boast that I implemented it with JavaScript and scroll events for ages. Eventually we got position: sticky, and it works well from a visual perspective, but I wondered how can we determine when...
Shoelace 2.0: A Forward-thinking Library of Web Components
29.9.2020
A few years ago, I released a lightweight alternative to Bootstrap affectionately named Shoelace. Shoelace was small and fast because of its minimal design and pure CSS approach to styling. It used CSS custom properties extensively to enable customizations, even when loaded via CDN — something...
How to Detect the Default Branch in a git Repository
28.9.2020
Over the past few years, many engineering teams have switched their default git branch name from master to a different, potentially less offensive term. I’m all for choosing to name your default branch whatever you’d like, but not having a universal default branch name can complicate...
How to Create an Async Function
24.9.2020
One thing I love about JavaScript is that there are many ways to accomplish the same task, one such example being creating functions. There are several patterns for functions; one of the last you see used is the new Function method: /* new Function(arg1, arg2 (...), body) */ const myFunction =...
Vital Web Performance
21.9.2020
I hate slow websites. They are annoying to use and frustrating to work on. But what does it mean to be “slow”? It used to be waiting for document load. Then waiting for page ready. But with so many asynchronous patterns in use today, how do we even define what “slow” is? The W3C has […]
The...
Remove the Search Input Clear(x) Icon
21.9.2020
I really appreciate the amount of different <input> elements we’ve received over the past decade. These elements don’t just bring a new semantic advantage, but also provide UI helpers, which in many cases are useful. In a recent case, I found a UI element not useful: the x (clear)...
5 Awesome JavaScript Promise Tricks
14.9.2020
The Promise API changed the game in JavaScript. We went from abusing setTimeouts and settling for synchronous operations to doing everything possible to leverage this new async API. Let’s check out a handful of awesome Promise API tricks! Cancel a fetch Request One problem we instantly...
Logical Assignment Operators
10.9.2020
I love JavaScript, it’s my favorite programming language, but I love dipping into other languages because they offer a new perspective on coding paradigms. There’ve been syntax additions to JavaScript that I’ve seen I found interesting (think ?? in optional chaining) and now...
Jetpack 8.9: Take Donations, Capture Email Subscribers, AMP integration, and More
8.9.2020
(This is a sponsored post.)
Jetpack 8.9 shipped on September 1 and it shows why the plugin continues to be the premier way to take a WordPress site from good to holy smokes! Several new features are packed into the release, but a few really stand out.
Take donations with a new block
The first...
Number Scrubbing
29.8.2020
If you use <input type="number">, some browsers give you an input that has UI for incrementing the number, like up/down arrows (often called “spinners”).
That’s a bit helpful sometimes. But people have certainly explored fancier ways of updating that number....
Awesome Demos Roundup #17
25.8.2020
A fresh roundup of the most interesting and creative web experiments from the last couple of weeks.
The post Awesome Demos Roundup #17 appeared first on Codrops
Let’s Make a Vue-Powered Monthly Calendar
21.8.2020
Have you ever seen a calendar on a webpage and thought, how the heck did they did that? For something like that, it might be natural to reach for a plugin, or even an embedded Google Calendar, but it’s actually a lot more straightforward to make one than you might think. Especially when we use...
Match Emojis with Regular Expressions
19.8.2020
When experimenting with unicode property escapes, to identify accented letters in strings, it reminded me of a question I had a few years ago: what is the best way to identify and then replace emojis in a string? I first noticed this practice when using emojis in Facebook — sometimes Facebook...
Simple Node.js Proxy
18.8.2020
When I wanted to refresh my React.js skills, I quickly moved to create a dashboard of cryptocurrencies, their prices, and and other aspects of digital value. Getting rolling with React.js is a breeze — create-react-app {name} and you’re off and running. Getting the API working...
Match Accented Letters with Regular Expressions
6.8.2020
Regular expressions are used for a variety of tasks but the one I see most often is input validation. Names, dates, numbers…we tend to use regular expressions for everything, even when we probably shouldn’t. The most common syntax for checking alphabetic characters is A-z but what...
Expanding the Future (of Dev Tooling) with AI
5.8.2020
Codota wants their tools to (at least!) double developer productivity. My vision is that we can do that not only by getting more developers using these tools, but in expanding where and how these tools learn themselves. The better the tools can *learn from us* what we're doing, the better *we...