CSS :has / / No Comments For as long as developers have written CSS code, we’ve been desperate to have a method to allow styling a parent element based child characteristics. That’s not been possible until now. CSS has introduced the :has pseudo-class which allows styling a parent based on a relative CSS selector! Let’s have a look at a few use cases for :has in CSS: /* If an `a` element contains an image, set the `a`'s display */ a:has(img) { display: block; } /* If a `figure` has a `caption` with a `multiline` class allow the `figure` to have any height */ figure { height: 200px; } figure:has(caption.multiline) { height: auto; } /* Hide an advert containing `div` until ads load... more → Posted in: JavaScript
Confessions of a Web Developer XIX / / No Comments It’s been a while since I’ve gotten a few things off of my chest and since I’m always full of peeves and annoyances I thought it was time to unleash: Due to the immensely negative response to any tweet about crypto from my blog account, I created a second account just for crypto musings. I’ll be honest — it hurt that I needed to do that. I’ve always felt readers and followers were on a journey with me but maybe the truth is that the majority of my value is quick tips and code to get people past a single problem. Last week I contributed to Uniswap, the well known decentralized exchange with billions of dollars in locked value and used by millions of DeFi investors... more → Posted in: JavaScript Tagged with: Confessions, Developer
Building Table Sorting and Pagination in JavaScript / / No Comments As part of my job in managing this blog, I check my stats frequently, and I’ve noticed that some of my more basic Vue.js articles have had consistently good traffic for quite some time. As I find myself doing more and more with "regular" JavaScript (sometimes referred to as "Vanilla JavaScript", but I’m not a fan of the term) I thought it would be a good idea to update those old posts for folks who would rather skip using a framework. With that in mind, here is my update to my post from over four years ago, Building Table Sorting and Pagination in Vue.js Raymond Camden… more → Posted in: JavaScript Tagged with: building, JavaScript, Pagination, Sorting, table
Hosting an Alexa Skill on Pipedream / / No Comments I’ve been a big fan of the Amazon Alexa developer experience for a few years now. I haven’t done any active skill (what they call apps) in a while, but I thought I’d take a quick look at what’s required to host a skill on Pipedream. While this won’t be a "How to build an Alexa skill" post, I will share a bit of background information about the process, because honestly it’s pretty dang cool. Raymond Camden… more → Posted in: JavaScript Tagged with: Alexa, hosting, Pipedream, skill
Flexible, Powerful DataGrad from Sencha (Sponsored) / / No Comments Many of the web functionalities that we rely on once lived within individual desktop applications. From office suites, games, and financial tools, all of them are now web applications; they’re just as feature packed as their desktop counterparts. In the past I’ve used a variety of JavaScript grid widgets on client sites, and each had a number of pain points: performance, size, flexibility, etc. Sencha’s powerful DataGrid is possibly the best grid I’ve seen yet — let’s have a look. Quick Hits Create responsive tables with filtering, sorting, pagination, AJAX, and much more Handles millions of records with no performance degradation Data import and export capabilities... more → Posted in: JavaScript Tagged with: DataGrad, Flexible, from, powerful, Sencha, Sponsored
Including RSS Content in your Eleventy Site / / No Comments Before I begin, this post is not about generating an RSS page with Eleventy. If you need to do that, check the plugin that makes it (mostly) trivial to do. This post is about consuming RSS for your Eleventy site. I’ve got a page here (About) where I track my external articles and books. At work, we use Medium to host our blog and I’ve been publishing there as part of my job. I was curious how I could get that content on my About page as well. Raymond Camden… more → Posted in: JavaScript Tagged with: Content, Eleventy, including, Site
Easy Asset Access with the Cloudinary Media Library Browser Extension / / No Comments Readers of my blog will know that I’ve been banging the Cloudinary drum for years. Their awesome media capabilities allow users to optimally deliver images, video, and audio in any format and to any device. Performance, customization, flexibility, optimized delivery… Cloudinary makes media better for everyone. Another aspect of Cloudinary that I like? Their commitment to developing tools to make using their service as convenient as possible. The latest tool is the Media Library browser extension, a simple extension that gives its users access to their media in from within any tab — no need to go to the Cloudinary website itself! If you haven’t tried Cloudinary, here’s... more → Posted in: JavaScript Tagged with: access, Asset, browser, Cloudinary, Easy, Extension, library, Media
Simplify Your File Handling With Filestack Workflows (Sponsored) / / No Comments Automation is a really important skill for engineers, especially when it comes to working with various file types. The more you accept for input, and the more you automate, the better end output you can offer. Filestack’s workflows allow developers to define automated tasks using a their specialized UI. With no coding required, it’s easy to create a document workflow and scan every assignment for viruses, quarantine it until it can be reviewed, and alert the sender of the issue so that no work is late. After signing up for a free Filestack account, you can shift to creating your own workflows. When creating your workflow, you can choose from dozens of UI items that represent... more → Posted in: JavaScript Tagged with: file, Filestack, handling, Simplify, Sponsored, Workflows