Mask Compositing: The Crash Course
2.3.2019
At the start of 2018, as I was starting to go a bit deeper into CSS gradient masking in order to create interesting visuals one would think are impossible otherwise with just a single element and a tiny bit of CSS, I learned about a property that had previously been completely unknown to...
Do CSS Custom Properties Beat Sass Loops?
2.3.2019
I reckon that a lot of our uses of Sass maps can be replaced with CSS Custom properties – but hear me out for a sec.
When designing components we often need to use the same structure of a component but change its background or text color based on a theme. For example, in an alert, we might need...
Should I Use Source Maps in Production?
1.3.2019
It's a valid question. A "source map" is a special file that connects a minified/uglified version of an asset (CSS or JavaScript) to the original authored version. Say you've got a filed called _header.scss that gets imported into global.scss which is compiled to global.css. That final CSS file...
Writing Tests for React Applications Using Jest and Enzyme
1.3.2019
While it is important to have a well-tested API, solid test coverage is a must for any React application. Tests increase confidence in the code and helps prevent shipping bugs to users.
That’s why we’re going to focus on testing in this post, specifically for React applications. By the end, you’ll...
Why CSS Needs its Own Survey
1.3.2019
2016 was only three years ago, but that’s almost a whole other era in web development terms. The JavaScript landscape was in turmoil, with up-and-comer React — as well as a little-known framework called Vue — fighting to dethrone Angular.
Like many other developers, I felt lost. I needed some...
Recreating the Facebook Messenger Gradient Effect with CSS
1.3.2019
One Sunday morning, I woke up a little earlier than I would’ve liked to, thanks to the persistent buzzing of my phone. I reached out, tapped into Facebook Messenger, and joined the conversation. Pretty soon my attention went from the actual conversations to the funky gradient effect of the message...
WDRL — Edition 259: Break Boxes, Common Voice, And Automated Accessibility Audits
1.3.2019
Hey,
do you sometimes feel like your brain doesn’t want to learn, read anymore during work? That’s normal, it’s something most of us experience from time to time when we have too much to do and then overload our brains with even more. I’m totally aware that my newsletter is not helpful in that...
Collective #496
28.2.2019
Zero Server * React-three-fiber * Subsync * Space Type Generator * FrenchKiss.js * The CSS mental model
Collective #496 was written by Pedro Botelho and published on Codrops
I Spun up a Scalable WordPress Server Environment with Trellis, and You Can, Too
28.2.2019
A few years back, my fledgling website design agency was starting to take shape; however, we had one problem: managing clients' web servers and code deployments. We were unable to build a streamlined process of provisioning servers and maintaining operating system security patches. We had...
Keen makes it a breeze to build and ship customer-facing metrics
28.2.2019
(This is a sponsored post.)
Keen is an analytics tool that makes it wonderfully easy to collect data. But Keen is unique in that it is designed not just to help you look at that data, but to share that data with your own customers! Customer-facing metrics, as it were.
Keen works just the way...
A Bit of Performance
28.2.2019
Here’s a great post by Roman Komarov on what he learned by improving the performance of his personal website. There’s a couple of neat things he does to tackle font loading in particular, such as adding the <link rel="preload"> tags for fonts. This will encourage those font files...
Get File MIME Type from Command Line
28.2.2019
I’ve gotten skilled at shell scripting over the years. I love a good GUI but knowing how to automate makes you a much more powerful engineer. Much of my scripting requires recursing over directories and processing a file if it meets a given criteria, which is often file extension or MIME...