Working on an Image Optimization tutorial for CloudCannon (using Eleventy) , I stumbled into what I think is a neat little trick for automated image optimization. There are three kinds of optimization
I just saw Stefan Bohacek made a WordPress plugin for Mastodon embeds . As Dave noted , the for a Mastodon embed is very big, the resources aren’t cached across instances. With Stefan’s plugi
Removing list styles without affecting semantics. posted on 06.11.2023 Some people, I guess primarily developers and not actual users, don’t like the fact that Safari removes list semantics of lists t
I’m a fan of the general advice of use subdomains , particularly for all those little projects we all cook up and want to put somewhere with a domain name we own and control. Subdomains instead of top
At the Jamstack ZHUZH , we had a lovely panel discussion on the current and future status of the Jamstack ecosystem. Some stakeholders and detractors have declared the Jamstack “dead,” in part evidenc
November 20, 2023 By James O'Halloran TL;DR TinaCMS is now fully open-source and easier to self-host. We also built a Next.js + TinaCMS demo site that can be hosted entirely on Vercel. Earlier this ye
In his video “Secret Mechanisms of CSS” , Josh explains (among other things) how width and height work in CSS. I loved his explanation so much, I am going to re-write it here for my own benefit. Hopef
Inspired by my home for stories , I decided to build a home for all the projects , side projects, and weird ideas I’ve chased over the years in a new Jekyll collection. It ended up being a project in
I scheduled this post, isn't that cute? I find I have very little energy to write blog posts during the week, but occasionally I sit down on the weekend to write something and have a few ideas that tu
Earlier this month, Jeremy Keith posed the question: “How green is my server?” . As Jeremy notes, it’s surprisingly hard to get that information! So how do you ensure that you’re hosting your website
Yesterday, I wrote about classless vs. class-based CSS design systems . In the article, I noted… There’s a middle ground between classless and class-based design systems. My favorite CSS boilerplates/
Today, I wanted to talk about classless vs. class-based CSS design systems, boilerplates, and frameworks: how they differ, which approach I prefer, and so on. Let’s dig in! What is a classless design
Day 15 of National Blog Posting Month #NaBloPoMo I’m a big fan of lists. I like to think of myself as a fairly organised person. I make lists for a lot of stuff, at work and home, and get a little kic
Here's a quick tip on how to manage multiple Git identities (e.g. personal, work, client1, client2). I organize my Git repos in three levels. My personal projects live in a ~/sources directory. All my
Strikethrough is an HTML element to indicate text that is crossed out – usually indicated visually with a line through the middle of the text. The W3C definition is: The s element represents conte
Blog Slides Newsletter❗ Portfolio My projects Testimonials My links My setup My favorites About me My services Contact me Blog css view transitions 2023-06-26 Transition between pages smoothly with a
I’m hearing on twitter, mastodon, and other social networks that people don’t trust surveys of developer opinions or needs. I’m here to say, good, you probably shouldn’t! Every source of information h
I’ve been around digital design software since Macromedia Fireworks was a thing — yes really that long! I can hear Gen Z hurriedly googling now what (and even who) that is. These were also times when
You might be used to adding and removing .open and .closed classes on div s and containers to control their state styles. What if we could just write CSS that reflected the state of the DOM, without h
Eleventy comes with basic defaults already set up for you. That means you don’t have to do anything to start working: the output folder defaults to _site , and Eleventy looks for your source files in
Clean Up Your Config File Published: 10/22/2023 Updated: 2023-10-23 Your Eleventy configuration file is, from a certain point of view, the heart and soul of your site. It directs all the build functio
I was watching Zach’s presentation at JSHeroes 2023, “The Good, The Bad, and The Web Components” , and a subtle point stuck out to me at the ending of his talk. When you run into performance problems,
17 September 2023 Designers love to save space at the cost of clarity and prioritise aesthetics over content. But once you nail the foundational interaction design patterns, content is often the most
In case you missed it, container queries landed in all stable browsers this week! It’s a pretty exciting time to be working with CSS, seeing this long-awaited feature finally become useable. Una’s pos
2023-03-31 #css I was building wireframes for a website with HTML & CSS. Since it’s a prototype, not all actions are functional. When a visitor reviewing the prototype tries to click something that is
Today, March 24th 2023, the HTML specification added a new grouping content element. The search element . Please be aware that this element landing in the HTML spec today does not mean it is available
The Eleventy v2 release improved incremental builds in several ways. However, a standing issue had been that when you display content from a collection and run an incremental build, that content would
Specifically the [space] [slash] combo before the closing bracket: / . I've had history with these particular two characters, but until recently that history of going back and forth was entirely based
To change a color based on whether Light Mode or Dark Mode used, you’d typically use a prefers-color-scheme Media Query. To make things easier, CSS now comes with a utility function named light-dark()
You might notice on some websites you visit that external links display a little icon next to them. This is super helpful for users, as it lets them know that the link is going to take them somewhere
Did you know your about us page plays a key role in whether a web visitor converts to a paying customer? It’s true—people who visit your about us page spend 22% more time on your site overall (on aver
It’s been absolutely wild to witness the rise of the new crop of AI tools. This moment feels equally exciting and terrifying, but given humans’ track record of driving promising technologies off the r
I worked for Wufoo when it was acquired by SurveyMonkey in April 2011. Twelve years ago. I think it’s fair to say it was largely abandoned. The Wufoo of today isn’t really any different than it was tw
I was reading Dan Mall’s blog post on Income Transparency a while back and my attention was caught by a particular section on burnout. In his post, he quotes Psychologist Herbert Freudenberger, who co
It was interesting to read Chris Coyier’s recent post about Andy Bell’s recent post . It made me think of my personal projects and remembering that I didn’t use a reset for any of them. Well, sort of.
Earlier in the year I started fiddling around with creating an archive of my tweets using Tweetback , an open source project by Eleventy creator Zach Leatherman. I’m not 100% convinced that I’ll make
Scheduling Automatic Builds with Static Site Generators 28 Sep, 2023 Having a static site is great, but there could be times when you need to build your site on a schedule. In a recent post, I wrote a
A few weeks ago, I saw a flurry of conversation about how you can now disallow OpenAI from indexing your personal website using robots.txt : User-agent: GPTBotDisallow: / That felt a bit “ex post fact
posted on July 19., 2023 If you have used a visually-hidden class in the past, you might have noticed that the width and height is set to 1px and not 0. I’ve always wondered why. Even in James Edwards
A few weeks ago, I wrote about what you can do with data attributes in JavaScript . The focus was on different strategies for using data attributes, rather than how to get and set them, but I had a lo