Search
Creating Dynamic Routes in a Nuxt Application
30.7.2019
In this post, we’ll be using an ecommerce store demo I built and deployed to Netlify to show how we can make dynamic routes for incoming data. It’s a fairly common use-case: you get data from an API, and you either don’t know exactly what that data might be, there’s a lot of it, or it might change....
Run useEffect Only Once
30.7.2019
React has a built-in hook called useEffect. Hooks are used in function components. The Class component comparison to useEffect are the methods componentDidMount, componentDidUpdate, and componentWillUnmount.
useEffect will run when the component renders, which might be more times than you think....
Datalist is for suggesting values without enforcing values
26.7.2019
Have you ever had a form that needed to accept a short, arbitrary bit of text? Like a name or whatever. That's exactly what <input type="text"> is for. There are lots of different input types (and modes!), and picking the right one is a great idea.
But this little story is about something...
Using GraphQL Playground with Gatsby
18.7.2019
I’m assuming most of you have already heard about Gatsby, and at least loosely know that it’s basically a static site generator for React sites. It generally runs like this:
Data Sources → Pull data from anywhere.
Build → Generate your website with React and GraphQL.
Deploy → Send the site to...
Get Peak WordPress Performance with Jetpack
18.7.2019
The irony of web performance is that the average page weight of a site continues to go up year after year, despite us being more aware of the problem and having more tools at our disposal to fight it than ever.
To paraphrase Seinfeld, "we know how to fight page weight issues; we just don't use...
Multi-Line Truncation with Pure CSS
17.7.2019
Truncating a single line of text if is fairly straightforward. Truncating multiple lines is a bit harder. Using just CSS (no JavaScript or server-side dancing) is nice for the simplicity. It's gotten a little easier lately since Firefox (since version 68) has started supporting the ultra-bizarre...
JavaScript Ternary Operators
12.7.2019
Ternary operators allow us to really quickly write shorter **if
IndieWeb and Webmentions
9.7.2019
The IndieWeb is a thing! They've got a conference coming up and everything. The New Yorker is even writing about it:
Proponents of the IndieWeb offer a fairly straightforward analysis of our current social-media crisis. They frame it in terms of a single question: Who owns the servers? The bulk...
Render Snarky Comments in Comic Sans
25.6.2019
Hilarious idea by Zach Leatherman. To test if a comment is "snarky" or not, there is an npm package up to the task.
On this site, we generally just delete snarky comments, but I still run a WordPress plugin that allows me to "feature" or "bury" comments. It's old but it still works fine in...
BCH Development Fund Doubles Its Goal After a Successful Month
23.6.2019
In May, a group of Bitcoin Cash (BCH) supporting businesses and individuals launched a fundraiser to support BCH development. Since then the fundraiser has received massive support and so the organizers have decided to double the goal to 1600 BCH by August 1, 2019. Moreover, other projects have...
Hello Subgrid!
20.6.2019
Rachel Andrew’s talk at CSSconf is wonderful because it digs into one of the most exciting changes that’s coming soon to a browser near you: subgrid! That’s a change to the CSS Grid spec that allows for much greater flexibility for our visual designs. Subgrid allows us to set one grid on an entire...
Managing WordPress Metadata in Gutenberg Using a Sidebar Plugin
20.6.2019
WordPress released their anticipated over to the post editor, nicknamed Gutenberg, which is also referred to as the block editor. It transforms a WordPress post into a collection of blocks that you can add, edit, remove and re-order in the layout. Before the official release, Gutenberg...
How to Section Your HTML
18.6.2019
The sectioning elements in HTML5 are <nav>, <aside>, <article>, and <section>. <body> is also kind of a sectioning element since all content lying inside of it is part of the default document section.
Here is a brief explanation of each sectioning element...
Components, yo.
14.6.2019
I see VuePress just went 1.0. Explained simply, it's a static site generator based on Vue. But of course, you work in Vue, which means you work in components.
All the modern JavaScript frameworks are component-based. Even when they disagree with each other about specific things (like how Svelte...
Everything You Need to Know About Date in JavaScript
11.6.2019
Date is weird in JavaScript. It gets on our nerves so much that we reach for libraries (like Date-fns and Moment) the moment (ha!) we need to work with date and time.
But we don't always need to use libraries. Date can actually be quite simple if you know what to watch out for. In this article...
JAMstack? More like SHAMstack.
5.6.2019
I'm a fan of the whole JAMstack thing. It seems like a healthy web movement. I'm looking forward to both of the upcoming conferences.
Of any web trend, #jamstack seems like it will be the least regrettable.
— Chris Coyier (@chriscoyier) May 22, 2019
I feel like the acronym might not...
BCH Businesses Launch Development Fund for Bitcoin Cash
4.6.2019
On May 30, the FVNI Development Society in collaboration with Bitcoin.com, Bitcoincash.org, Electron Cash, Bitcoincash.com and a multitude of individuals and businesses in China launched a new fundraiser to support the software engineers who maintain the technical development of the Bitcoin Cash...
A Practical Use Case for Vue Render Functions: Building a Design System Typography Grid
30.5.2019
This post covers how I built a typography grid for a design system using Vue render functions. Here’s the demo and the code. I used render functions because they allow you to create HTML with a greater level of control than regular Vue templates, yet surprisingly I couldn’t find very much when...
A Quick Look at the First Public Working Draft for Color Adjust Module 1
29.5.2019
We've been talking a lot about Dark Mode around here ever since Apple released it as a system setting in MacOS 10.14 and subsequently as part of Safari. It's interesting because of both what it opens up as as far as design opportunities as well as tailoring user experience based on actual user...
Prioritizing
27.5.2019
You're faced with a lot of decisions in everyday work. There are multiple tasks calling for your focus, and you can burn daylight or even burn out trying to decide what comes first. There's a phenomenon called decision fatigue. There have been many studies that you can make poor choices when you're...