Watching RSS Feeds for Keywords in Pipedream / / No Comments Back in the day, I used to run a website called rssWatcher. (If you want, you can read the original launch announcement from 2004.) The idea was simple. You would sign up, then create a list of RSS feeds and corresponding keywords. The service would check this on a schedule and let you know when a match was found. I built this in ColdFusion and I honestly don’t remember when I shut it down, but it was in my mind recently and thought I’d take a stab at building a simple version of this on my favorite service, Pipedream. Here’s how I did it. Raymond Camden… more → Posted in: JavaScript Tagged with: Feeds, Keywords, Pipedream, Watching
Input valueAsNumber / / No Comments Every once in a while I learn about a JavaScript property that I wish I had known about years earlier — valueAsNumber is one of them. The valueAsNumber provides the value of an input[type=number] as a Number type, instead of the traditional string representation when you get the value: /* Assuming an <input type="number" value="1.234" /> */ // BAD: Get the value and convert the number input.value // "1.234" const numberValue = parseFloat(input.value, 10); // GOOD: Use valueAsNumber input.valueAsNumber // 1.234 This property allows us to avoid parseInt/parseFloat, but one gotcha with valueAsNumber is that it will return NaN if the input is empty. Thank you to Steve Sewell for... more → Posted in: JavaScript Tagged with: input, valueAsNumber
Use Your Saffron Recipes in the Jamstack / / No Comments Like a lot of people, I took up baking during the pandemic. This was particularly difficult for me as I have a lot of anxiety when it comes to new things. I tend to stress over ensuring I get everything perfect and my worry about cooking is that if I do one thing wrong, I’ll ruin it. While I’m not over that particular anxiety, I have had the chance to try making many things and while I’m not that good at it, I enjoy it, and can make some delicious items at times. Raymond Camden… more → Posted in: JavaScript Tagged with: Jamstack, Recipes, Saffron
Thoughts on the Jamstack and Content Metrics / / No Comments Please forgive the (possibly) unclear title! Let me try to explain what I mean and you can then decide on whether or not you keep reading. As I was walking my dog yesterday (typically the best way to get ideas for my blog), I started thinking about the ways I keep tabs on my blog, specifically my content. This involves both the nature of my content as well as things like my publishing cadence. I’ve developed tools over time to help me check the status of this and I thought it might make sense to share some thoughts in this area with others. While the technical aspects of this post will use Eleventy, it’s really meant to be more generic for the... more → Posted in: JavaScript Tagged with: Content, Jamstack, Metrics, thoughts
Including RSS Content in your Eleventy Site – Part 2 / / No Comments A few weeks ago I blogged about how to include RSS data in your Eleventy site: Including RSS Content in your Eleventy Site. Last week, I had the honor of giving my first presentation to the Eleventy Meetup and for that talk, I took my earlier code and iterated on it a bit to show more examples and add a bit more usefulness to the tip. If you want to watch that presentation, you can do so below (and see @jeromecoupe excellent tal too!). I thought I’d also share the updates here for folks who prefer reading over wathing a video. Raymond Camden… more → Posted in: JavaScript Tagged with: Content, Eleventy, including, part, Site
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