Web Tools #402 - CSS Tools, VS Code, Media, SVG

Web Tools Weekly
WEB VERSION
Tools for Web Developers

Issue #402 • April 1, 2021

Advertisement
Set Up, Manage & Secure Apple Devices in Minutes
Jamf Now is a device management solution for your team's Apple devices at work. We make management tasks simple and affordable, so you can support your users; no IT required. Web Tools Weekly readers can manage 3 devices free now!
Create Your Free Account Today!
Jamf Now

The nullish coalescing operator was added to the ECMAScript specification in 2020 and currently has support in all modern browsers.

This is a feature that has a name that's way more complex sounding than it actually is. So if you're like me and you largely ignored this one for some time, here's a quick crash course.

In your JavaScript you've probably done something like this before:

let myVar = someVar || 7;

This is a simple variable declaration using the OR operator (||). The idea here is that if the left side of the OR operator is falsy, the value "7" will be applied to the myVar variable. The problem with doing it this way is that the following line will also apply 7 to myVar:

let myVar = 0 || 7;

As will this:

let myVar = '' || 7;

The zero value or the empty string are both considered falsy values, so the JavaScript engine assumes you want the value 7 and not those falsy values. But those values aren't always considered falsy in all circumstances. Sometimes you want an empty string or zero value to stand.

This is where the new nullish coalescing operator comes in. This operator, represented by two question marks (??), ensures that only null or undefined values are viewed as falsy.

let myVar3 = '' ?? 7;
console.log(myVar3); // ''

let myVar4 = 0 ?? 7;
console.log(myVar4); // 0

let myVar5 = null ?? 7;
console.log(myVar5); // 7

let myVar6 = undefined ?? 7;
console.log(myVar6); // 7

Try all examples on CodePen

Notice in the code above and in the live demo, when the ?? operator is used, the empty string and zero value are treated as proper values (which is usually what you want). The last two examples demonstrate that both null and undefined will be viewed as falsy (or, more accurately, nullish).

This is a nice improvement and with strong browser support should be safe to use in a lot of projects today. If you need older browser support, you can use Babel to compile your code to equivalent older JavaScript.
 

Now on to this week's tools!

CSS and HTML Tools

Set Up, Manage & Secure Apple Devices in Minutes
Jamf Now is a device management solution for your team's Apple devices at work. We make management tasks simple and affordable, so you can support your users; no IT required. Web Tools Weekly readers can manage 3 devices free now!   sponsored 

Fluid Space Calculator
Live edit a "fluid space system" based on min/max viewport sizes, then copy and paste the generated CSS into your project.

clsx
A tiny utility for constructing `className` strings conditionally.

Tally
A no-code form creation service that offers 99% of its features free and offers unlimited forms and submissions in the free plan.

Turbo CSS
A utility-first CSS framework as a programming language that has similarities to Tailwind but purports to make improvements.

Turbo CSS

TabPanelWidget
An accessible tab panel widget that turns into an accordion component on smaller screens. Use in vanilla JavaScript projects, Vue, or React.

Conic.css
A conic gradient generator and gallery of gradients using the new conic-gradient() syntax.

tailwindcss-jit
An experimental just-in-time compiler for Tailwind CSS that generates your styles on-demand as you author your templates instead of generating everything in advance at initial build time.

css-proxied-vars
An easy way to set, read, or update CSS variables per element.

Dev Fonts
An interactive live preview of dozens of coding fonts that you can test using various coding languages. Also includes a "compare" feature.

player.html
Single-file drop-in video player web app for using MP4 video files served using basic directory listing.

Poolors
Toggle to view color combos most used by designers or color combos least used by designers.

Data Color Picker
Palette chooser to create a series of colors that are visually equidistant, useful for data visualizations like pie charts, grouped bar charts, and maps.

Text Editors, VS Code, etc.

Advanced React & GraphQL
ICYMI, Wes Bos has re-launched his Advanced React course that offers 70+ HD videos in the master package. (Alternatively, there's React for Beginners and Beginner JavaScript).   promoted

OpenChakra
A visual editor for Chakra UI, a React component library. Quickly draft components with a simple drag and drop interface.

Code Spell Checker
VS Code extension. A basic spell checker that works well with camelCase code. Helps catch common spelling errors while keeping the number of false positives low.

thiscodeWorks
Chrome or VS Code extension. A code snippet manager to save snippets to the cloud and organize them in collections or by hash tags.

Theme Studio
Design and deploy your own VS Code themes from scratch or browse, star, and fork existing custom themes created by others.

Theme Studio

TxtFiddle
A JavaScript playground specifically for text manipulation. Includes a number of prebuilt templates and the ability to save fiddles.

ReX
Online tool to batch transform text snippets using regular expressions, to avoid doing similar edits manually.

JSPad
A live JavaScript editor that lets multiple people edit the document and uses camera and microphone, useful for live code collaborations or even for conducting job interviews.

VSCode Typer
Automated typing in VS Code, potentially useful for live coding presentations or streams.

Vitesse Theme
A nice looking VS Code theme that has dark and light versions and named after the starter template with of the same name.

File Utils
VS Code extension that provides a convenient way of creating, duplicating, moving, renaming, and deleting files and directories.

Media Tools (SVG, Images, Video, etc.)

Haikei
A web app to generate unique SVG shapes, backgrounds, and patterns, ready to use with your design tools and workflow.

Free Figma Templates
A collection of Figma templates, UI kits & resources for designers, agencies, and business owners.

Aladino
A tiny (~5kb gzip'd) and dependency-free JavaScript library that allows you to enhance your site using shader effects.

Moovie.js
HTML media player made for movies. Has an elegant look, lots of ways to customize it dynamically, and support for captions files.
 
Moovie.js

Dither Me This
Online tool to reduce the file size of an image, giving it a pixilated old-school look.

BackgroundCut
Online tool to remove the background from any image using artificial intelligence. Requires login to download higher than 0.5 MP.

Removal.ai
Another background removal tool using AI, but this one is free for low resolution and paid plans for higher resolution.

TroisJS
Similar to react-three-fiber but for Vue.  A Three.js + Vue 3 + Vite library for creating WebGL effects.

PixelCraft
A simple online tool installable as a PWA to create large-pixel graphics. You can upload an image to work with or start from scratch.

Teenyicons
A set of small and minimal icons in outline or solid mode and you can select a size before copying the SVG.
 

A Tweet for Thought

Here's a thread by Matt May, head of inclusive design at Adobe, discussing a history of Flash, which reached end of life in December 2020.

A Tweet for Thought
 

Send Me Your Tools!

Made something? Send links via Direct Message on Twitter @WebToolsWeekly (details here). No tutorials or articles, please. If you have any suggestions for improvement or corrections, feel free to reply to this email.
 

Before I Go...

Needledrop is a UI that lets you play an album via a link from YouTube in a turntable format. Click the "track" button to enter a different URL then use the "arm" to pick a spot on the chosen "record".

Thanks to everyone for subscribing and reading!

Keep tooling,
Louis
@WebToolsWeekly

Support this newsletter:
PayPal.me  Patreon / GitHub Sponsors  E-Books

Older messages

Web Tools #401 - App History API, React Tools, Bundlers, Uncats

Thursday, March 25, 2021

Web Tools Weekly WEB VERSION Issue #401 • March 25, 2021 Advertisement Set Up, Manage & Secure Apple Devices in Minutes Jamf Now is a device management solution for your team's Apple devices at

Web Tools #400 - CSS Tools, Testing, JS Utilities

Thursday, March 18, 2021

Web Tools Weekly WEB VERSION Issue #400 • March 18, 2021 Advertisement Set Up, Manage & Secure Apple Devices in Minutes Jamf Now is a device management solution for your team's Apple devices at

Web Tools #399 - JS Libraries, SVG Tools, Git/CLI

Saturday, March 13, 2021

Web Tools Weekly WEB VERSION Issue #394 • February 4, 2021 The following intro is a paid product review for Cloudways, a managed cloud hosting platform for digital agencies, developers, and e-commerce

Web Tools #398 - Frameworks, Mobile Tools, GraphQL/DB

Thursday, March 4, 2021

Web Tools Weekly WEB VERSION Issue #398 • March 4, 2021 Advertisement Fix Vulnerabilities in Your App with a Pull Request Is your app affected by the 2028 new open source vulnerabilities discovered

Web Tools #397 - CSS Tools, VS Code, Uncats

Thursday, February 25, 2021

Web Tools Weekly WEB VERSION Issue #397 • February 25, 2021 Advertisement Let's Hear It For The Builders Expert builders and architects like you depend on the best tools. Nova is the smartest, most

You Might Also Like

Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator

Friday, February 14, 2025

What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Defining Your Paranoia Level: Navigating Change Without the Overkill

Friday, February 14, 2025

We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy

5 ways AI can help with taxes 🪄

Friday, February 14, 2025

Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help

Recurring Automations + Secret Updates

Friday, February 14, 2025

Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

The First Provable AI-Proof Game: Introducing Butterfly Wings 4

Friday, February 14, 2025

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%

GCP Newsletter #437

Friday, February 14, 2025

Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers

Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰

Friday, February 14, 2025

Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from

The Great Social Media Diaspora & Tapestry is here

Friday, February 14, 2025

Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great

Daily Coding Problem: Problem #1689 [Medium]

Friday, February 14, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,

📧 Stop Conflating CQRS and MediatR

Friday, February 14, 2025

​ Stop Conflating CQRS and MediatR Read on: m​y website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your