Creating a Web Component for Reveal.js (Followup)

This weekend I blogged about a web component experiment wrapping the excellent Reveal.js presentation library. In that post, I created a component to wrap ` tags that represented individual slides. I mentioned that I wanted to follow up on this and create a "child" component to r … | Continue reading


@raymondcamden.com | 1 year ago

Creating a Web Component for Reveal.js

I've been a fan of Reveal.js for many years. Reveal.js is a web-based presentation framework that makes it (mostly) easy to create slides with just basic HTML. I don't mind Powerpoint at all, and it's incredibly powerful, but when I'm presenting on web topics (which is, usually, … | Continue reading


@raymondcamden.com | 1 year ago

Testing the Web Share API

A week or so ago I discovered the Web APIs list on MDN. It's basically an index listing of the various web APIs documented on the site. While I knew most of them, more than a few were either unclear to me or entirely unknown. This is what inspired my post on the Cookie Store API. … | Continue reading


@raymondcamden.com | 1 year ago

Need Help with ColdFusion?

As folks know, I love it when yall send me questions via email. I like to help others, I like to dig into issues and figure things out, and I'm always on the lookout to learn new things. However...As I just got an email about ColdFusion Event Gateways, I want to let folks know th … | Continue reading


@raymondcamden.com | 1 year ago

Using the Cookie Store API

Today while browsing a list of web APIs over at MDN, I ran across one that surprised me - the Cookie Store API. This is clearly marked as experimental (currently only supported in Chrome/Edge) but looks to be fascinating. Cookies are the oldest (as far as I know) way for web appl … | Continue reading


@raymondcamden.com | 1 year ago

Using Speech Synthesis and Recognition with Alpine.js

Recently, I worked on two interesting (imho!) articles for our blog at work on integrating web APIs with the Adobe PDF Embed API. The first blog post demonstrated using the Web Speech API to let you select text in a PDF and have it read to you. I followed this up with an article … | Continue reading


@raymondcamden.com | 1 year ago

Links For You

Today's Links For You is a special one, not just because it's my birthday, but... oh wait, yeah, that's the only reason. Whether today is special or not, I hope everyone out there reading this has a great weekend. Ok, here are your links!6 CSS snippets every front-end developer s … | Continue reading


@raymondcamden.com | 1 year ago

Working with CloudCannon and Eleventy - My Experience

I've been working with the Jamstack (in its various iterations and names) for many years now. In that time, one area I had not really looked into is the use of a content management system (CMS). I recently had a chance to look into how CloudCannon adds CMS capabilities to Elevent … | Continue reading


@raymondcamden.com | 1 year ago

WebC Updates in Eleventy - Looping

Last week I took a look at updates to WebC support in Eleventy, specifically if/else support. In that last update, looping support was added as well so I thought I'd build a quick little demo showing it in action. As usual, I ended up finding another new feature/change to WebC so … | Continue reading


@raymondcamden.com | 1 year ago

Awesome Algolia Updates (and some fixes here...)

I've been a huge fan, and user, of Algolia for a while now. I first wrote about it back in 2020 when I described how I added Algolia search to Eleventy. Later on, I described how one might migrate to Algolia from Lunr. All in all, I've been very happy with Algolia and my usage on … | Continue reading


@raymondcamden.com | 1 year ago

WebC Updates in Eleventy

It's been a little while since I've blogged about the Eleventy WebC feature, and that's good because just recently some nice little nuggets landed in the project. Specifically...I want to share a demo of loops later, but I thought I'd first look into else and elseif, specifically … | Continue reading


@raymondcamden.com | 1 year ago

New Blog Same as the Old Blog

Welcome to the new blog! Looks familiar, right? So... a month or so ago I decided it was time to start reconsidering a rewrite. Still with Eleventy of course, but I really wanted to reorganize my site and possibly clean up stuff I no longer used. My site repo (https://github.com/ … | Continue reading


@raymondcamden.com | 1 year ago

Adobe Firefly in Beta

I'm currently at Adobe Summit and this morning at the keynote we announced the beta of Adobe Firefly. Firefly is a generative AI service, which by itself isn't new, but Firefly has a strong commitment to being a more responsible AI service. You can read more about that and Adobe … | Continue reading


@raymondcamden.com | 1 year ago

Links For You

Hello friends, tomorrow I'm heading out to Vegas for Adobe Summit, so I expect the posting to be a bit light this week.Automating your Mastodon profile with Pipedream.comHere's a great article that talks about using one of my favorite services, Pipedream to automate the updating … | Continue reading


@raymondcamden.com | 1 year ago

Another Week, Another Mastodon Bot - Random Album Cover

Last September, I blogged about how I used the Spotify API and Pipedream to discover new music: Discover New Music with the Spotify API and Pipedream. I used a Pipedream workflow to select a random track from Spotify and email me a track every morning. I've still got this process … | Continue reading


@raymondcamden.com | 1 year ago

Progressively Enhancing a Table with a Web Component

Back nearly a year ago (holy smokes time goes fast), one of my first articles about web components involved building a component to create a paginated/sorted table: Building Table Sorting and Pagination in a Web Component. In that example, the component looked like so in your HTM … | Continue reading


@raymondcamden.com | 1 year ago

Reminder about Web Components and Attributes

After my post yesterday about web component lifecycle events, I had an interesting conversation with Thomas Broyer on Mastodon. He brought up an issue with web components that I covered before on this blog, but as it was a very appropriate thing to discuss immediately after yeste … | Continue reading


@raymondcamden.com | 1 year ago

Interesting Caveat with Web Components and the Event Lifecycle

I've been exploring web components the last few months and as part of that exploration, I've been reading "Web Components in Action" by fellow Adobian Ben Farrell. I'm still at the beginning of the book but so far it's been great. It is a few years old now, but for the most part, … | Continue reading


@raymondcamden.com | 1 year ago

Adding a Chart to an Apline.js Application

For a while now my blog queue has had an item in there suggesting I take a look at adding a basic chart to an Alpine.js application. I finally got a chance to play around with this over the weekend and I thought I'd share the result. For this post, I've used Chart.js, which is a … | Continue reading


@raymondcamden.com | 1 year ago

Links For You

Good morning readers! I'm writing this in a hotel room in Tuscaloosa where my wife and I are visiting our son. He was presented with a significant award a few nights ago (the Algernon Sydney Sullivan award) and we stayed up a few extra days. We're about to head back to Louisiana … | Continue reading


@raymondcamden.com | 1 year ago

Supporting PDF Embeds in an Eleventy WebC Component

Way back in the old days, in August of 2021, I wrote up an example of adding support for Adobe's PDF Embed API as an Eleventy plugin: "An Adobe PDF Embed Plugin for Eleventy". When I find time, I need to update that to the newest URL for the library, but more recently I was curio … | Continue reading


@raymondcamden.com | 1 year ago

Update to My Eleventy Blog Guide

Last January, I announced the release of a guide I had written for building a simple blog in Eleventy. Now that Eleventy has hit 2.0, I took some time this morning to look at the guide and see what could be updated. The first thing I noticed was that I had a heck of a lot of typo … | Continue reading


@raymondcamden.com | 1 year ago

My First Bug

I've told this story a few times before, but I don't think I've actually ever shared it on my blog. My interest in and introduction to computers came at a very early age. My mother's employer sent her home with an Apple 2 (either the Plus or E model, I forget which), and while it … | Continue reading


@raymondcamden.com | 1 year ago

Links For You

Normally I write these "Links For You" posts on the weekend, but my family and I will be on vacation for the next few days and the laptop is not invited. With that in mind, here's what I'd like to share with yall, enjoy!Eleventy 2.0I'm super excited that Eleventy has hit 2.0! You … | Continue reading


@raymondcamden.com | 2 years ago

Building a Mastodon Bot Listing Page in Eleventy

Chalk this up for yet another thing most folks probably won't need, but it was fun to build so I figured I'd share. I've had a lot of fun building bots for Mastodon. If you're curious about the process, you can read about my experience here: ("Building a Mastodon Bot on Pipedream … | Continue reading


@raymondcamden.com | 2 years ago

Lessons Learned in Twenty Years of Blogging

Way back in 2003, I wrote my first blog post, it was short and sweet and I can share the entirety of it here:Welcome to my blog. I've been working in software development for many years now. Mostly in ColdFusion, although recently I've been working in Java as well. I plan to use … | Continue reading


@raymondcamden.com | 2 years ago

Progressively Enhancing a Form with Web Components

I've been loving playing with web components lately and today I'm excited to share another one. Especially excited as this one is a great example (I think!) of using a web component to enhance HTML, but that fails gracefully for a user with JavaScript disabled. Before I begin, a … | Continue reading


@raymondcamden.com | 2 years ago

Another Update to my Slideshow Web Component - JavaScript Support

Last month I shared a simple web component I built to embed slideshows onto web pages. If you didn't get a chance to read that, you can see it in action in this CodePen below: See the Pen Slideshow Web Component by Raymond Camden (@cfjedimaster) on CodePen.After I wrote this, Ši … | Continue reading


@raymondcamden.com | 2 years ago

Links For You

Hey folks, I'm writing to you from another world. A world where I somehow got eight-plus hours of sleep two days in a row. Now, previously I would have told you this was a make-believe world, but now I know the truth, it exists. (And I'll just do my best to forget the nightmare I … | Continue reading


@raymondcamden.com | 2 years ago

Using JavaScript in a WebC Component

A week or so ago (time is so weird these days), I gave a presentation on Eleventy's WebC plugin. While working on the slides, I built a bunch of demos of various things and knew I'd share a few on the blog. Here's one in particular I wanted to write about. This isn't anything not … | Continue reading


@raymondcamden.com | 2 years ago

My town sure seems to have a lot of...

Ok, so I realize this will make me sound old (spoiler, I am old), but I swear I feel like my town (Lafayette, LA) has about ten thousand or so storage businesses. And banks. Oh, and hotels too. For a while now I thought it would be interesting to see if I could build a tool that … | Continue reading


@raymondcamden.com | 2 years ago

Cloudinary Debugging Tip

I've been blogging about Cloudinary here for the past few months, and I wanted to share a quick tip. A few weeks ago, I was privileged to be interviewed on the Cloudinary podcast, Dev Jams:While showing some code, I came across an image being loaded by Cloudinary that was returni … | Continue reading


@raymondcamden.com | 2 years ago

Quick WebC Tip

Whenever I think I shouldn't post something because I'm covering something completely obvious, despite the fact that I missed it, I always find at least one other person who was also a bit slow in either remembering a basic tip or figuring out the simple stuff. So hey, that one p … | Continue reading


@raymondcamden.com | 2 years ago

Update to My Slideshow Web Component - by Šime Vidas

A few days ago I blogged about how I built a simple web component to create a "Slideshow" component. Basically, given a set of URLs, show one image at a time and provide controls to let the user navigate. I had planned to update that component (and still do!), but I wanted to sha … | Continue reading


@raymondcamden.com | 2 years ago

Links For You

Happy Sunday, programs. Here's some links for you to enjoy this week. I'll be speaking this week at the free event, The Jam.dev, and I hope to see you there (virtually) as well!Eleventy 2.0 BetaEleventy 2.0 has been in the works for a while now, and the final release will be here … | Continue reading


@raymondcamden.com | 2 years ago

A Simple Slideshow Web Component

As I continue to play around with and learn more about web components, I thought I'd build a simple component to make it easier to add a slideshow. By that, I mean something that renders one picture but provides controls to go to more images. I've probably built this many times i … | Continue reading


@raymondcamden.com | 2 years ago

Covers, covers, covers

And now for something totally non-tech related, I've been working on a playlist of covers for a while now. I'm a heavy Spotify user and absolutely love how it provides suggestions for a playlist and makes it easy to add ones you agree with. I knew Spotify had an embed for songs b … | Continue reading


@raymondcamden.com | 2 years ago

Followup to My Intl Short Number Post

A few days ago I shared a blog post about using the Intl object in JavaScript to create short, more readable numbers. So for example, instead of 9123456, it would display 9.1M. This was done using the notation option in Intl.NumberFormat. Yesterday I randomly ran into an interest … | Continue reading


@raymondcamden.com | 2 years ago

Links For You

Welcome to the first links post of 2023! As always, the idea here is to use theses posts as a quick way to share cool links, updates, and so forth. I've got some good ones this week!Dynamically Showing and Hiding Slot Content in a Web ComponentLast week, I wrote a post concerning … | Continue reading


@raymondcamden.com | 2 years ago

Short Number Formatting in Python

Yesterday I wrote a blog post about creating short number formats in JavaScript. Definitely check out that post first, but the idea was to take something like 9496301 and display it as 9.5M. In that post, I used the built-in Intl object and it worked really well. It got me thinki … | Continue reading


@raymondcamden.com | 2 years ago

Using Intl for Short Number Formatting

One of my favorite things about working on projects to blog about it is when I get random offshoot ideas for other posts while working on the code. That's exactly what happened yesterday. I was playing around with another idea I had and randomly discovered something cool I though … | Continue reading


@raymondcamden.com | 2 years ago

Dynamically Showing and Hiding Slot Content in a Web Component

Happy New Year and Happy First Post of the Year! Not sure that's a thing but this is my blog so I'm making it a thing. The last few days I've been playing with web components again, this time based on a simple idea: Could I create a web component that relies on external data, and … | Continue reading


@raymondcamden.com | 2 years ago

Wrapping Up 2022

I have a tradition here where - usually - I write up a "here's what I did this year" post. Typically I write this just for myself as I figure it's a good way to take stock and really appreciate what I'm accomplished. Sometimes it's just a nice way to say goodbye and look forward … | Continue reading


@raymondcamden.com | 2 years ago

Download Data as a File with Alpine.js

As my readers know, I've been updating some of my earlier Vue.js examples to demonstrate how they would work with Alpine.js. Normally I post these "conversions" when I see one of the Vue posts pop up in my stats. Today I noticed this entry was "trending" - Vue Quick Shot - Downlo … | Continue reading


@raymondcamden.com | 2 years ago

Adding Download Support in an Eleventy Site

I was thinking recently about how I would add "Downloads" support to an Eleventy site. By that I mean, a site where you have various resources (PDFs, zip, etc) and want to provide a way to let users download them in a consistent manner, as well as how basic tracking could be done … | Continue reading


@raymondcamden.com | 2 years ago

Links For You

I had planned to release this over the weekend, but yesterday I got submerged into grinding levels on Octopath Traveler and the day just got away from me. I'm also a bit behind - I try to share these twice a month and it's already December 12th. As a child, I could remember adult … | Continue reading


@raymondcamden.com | 2 years ago

Quick Test Post - Sorry!

Hey folks, earlier this week I posted about a Pipedream workflow to automatically post new blog entries to Mastodon and Twitter. I discovered an issue with the workflow that ended up being a bug on the Pipedream side. (It happens!) They've corrected the issue and I need to test, … | Continue reading


@raymondcamden.com | 2 years ago

Reading Image Sizes and Dimensions with Alpine.js

It's been a few weeks since I've done this, but while looking at my new stats (https://raymondcamden.goatcounter.com/), I saw one of my old Vue.js posts getting some activity: Reading Image Sizes and Dimensions with Vue.js. In that blog post, I showed how to take a user-selected … | Continue reading


@raymondcamden.com | 2 years ago