📮 New on the blog, my 2023 recap post:
“2023 has been one hell-for-leather roller coaster of a year.”
A versioned archive of posts from Bluesky, Mastodon, GitHub, npm, YouTube, Letterboxd, Hacker News, and blogs. Browse the most popular posts.
Last built .
| Since | posts | replies | likes | reposts and quotes | views | |
|---|---|---|---|---|---|---|
| Bluesky | 1,039 | 8,236 | 23,127 | 2,380 | ||
| Mastodon | 2,399 | 29,156 | 55,396 | 16,820 | ||
| GitHub | 179 | 5,777 3,520 | 33,866 | 3,317 | ||
| npm | 139 | 1,546 | 75,991,720 | |||
| YouTube | 30 | 1,203 | 32,713 | |||
| Letterboxd | 55 | |||||
| Blog | 20 | |||||
| Hacker News | 59 | 575 | 802 | |||
| All | 4,807 | 37,967 | 114,394 | 22,517 | 76,024,433 |
📮 New on the blog, my 2023 recap post:
“2023 has been one hell-for-leather roller coaster of a year.”
A simpler static site generator.
I’ll be speaking at @cfedev’s TheJam.dev 2024 at the end of January!
which javascript component library best exemplifies zack snyder and why is it react
follow me for more very professional content
apropos of nothing my kids have informed me that they think it’s strange that (american) football players spank each other on tv 😂
—first of all how do you even know about spanking 🧐
I am now certified on LinkedIn

looking for a sustainable way to fund your open source project already relied upon by countless businesses worldwide?
first let me ask you a question: what do you know about onlyfans?
when is 2020 going to end
has your content been the victim of AI content scraping? you may be eligible for compensation! contact the law offices of L, L, and M, LLC today
“this toy needs three and a half F batteries? what is an F battery??”
happy try-not-to-lose-your-shit-as-you-endure-terrible-instruction-manuals-and-extremely-poor-toy-design day, for those that celebrate
it’s going wonderful over here 😅😅😅
(merry christmas, y’all 🎄)
*polling scrutiny intensifies*
Which answer (in a poll) is statistically the most popular answer?
look, you aren’t *allowed* to add a build step to web components because the specious arguments against web components fall apart if you do that
If folks could refrain from comparing no-build-step Web Components (oranges) to *build-step* Component Frameworks (apples), I would be very happy.
Feel free to compare no-build-step Web Components (oranges) to no-build-step Component Frameworks (oranges) though.
📮 New on the blog:
Building a multi-language Taylor Swift fan site with @cloudcannon and @eleventy (Zach’s version)
laser pointers are a cat’s sisyphus boulder
Alert Alert: We have movement, we have movement!
A fully fledged PR to fix the issue (with a warning instead of an error): https://github.com/nodejs/node/pull/51244
Exciting!
After over a year of using Mastodon almost exclusively for social media—it’s *still* a shock to go back to visit an algorithmically-driven social network.
Scrolling and reading on other sites feels like eating a candy bar while drinking a soda—the candy bar has very little flavor—your taste buds are already overloaded by sugar.
And yet sugar is the algorithmically incentivized form of content, so sugary posts are the only ones that get traction.
don’t boost the above toot, please boost the original toot instead—or boost both if you’re super cool (and thank you):
It’s @lynnandtonic day!! (for those that celebrate)
(but if you don’t celebrate—that’s on you)
*sweating profusely*
I have advocated for myself
*still sweating*
…when do the good feelings about it start
A simpler static site generator.
@hexagoncircle Ryan are you sure you want to boost that post??
📮 New on the blog:
Netlify’s Disingenuous Survey-based Attack on Next.js (and Eleventy, too)
@pupismyname howdy John! I sent you a DM on LinkedIn but I guess you don’t go there much 😅
according to their pricing page $20B gets you about 12 million years on the enterprise plan, for the record
Breaking news: I have also decided not to buy Figma for $20B today
Going back and forth between Threads and Bluesky, it’s incredible how much more intuitively designed the Bluesky web site is. Everything is labeled here. On Threads everything is an icon—you never know what it does until you click on it 😱
If you want to try out the new Eleventy v3 alpha releases, read this:
For those brave souls that like to live on the edge: Eleventy v3.0.0-alpha releases have started rolling!
📮 New on the blog:
Calling all courageous canary testers for Eleventy v3.0
…in which we discuss the new v3.0.0-alpha releases!— Build Awesome (11ty) (December 18, 2023 at 2:28:51 PM UTC)
📮 New on the blog:
Calling all courageous canary testers for Eleventy v3.0
…in which we discuss the new v3.0.0-alpha releases!
Am I done with this thread? Apparently not. 😅
Here’s what an intellectually honest version of the Netlify State of the Web chart looks like (and this one doesn’t obscure Gatsby)

@zachleat One more thought before I sign off: I’m very interested to read the (afaict) absent methodology document that was historically included alongside the survey, documenting sources of data and margins of error.
Here’s the one from 2022: https://jamstack.org/survey/2022/community-survey-2022-methodology.pdf
I’m sure it will arrive shortly!
(and I hope Astro dethrones Next.js too)
Importantly: Eleventy is *still* punching far above its weight despite the Netlify-induced setbacks we faced this year.
Many of the frameworks listed are VC-funded with multiple full-time developers. We don’t have that—intentionally. Our project goals are different.
As I’ve said before: Eleventy and Astro are allies in the web development framework melee. When Astro wins, Eleventy wins too. It isn’t a zero-sum game.
This chart has the absolute numbers (conveniently unordered, though 😬)
Next.js is tied for positive/negative sentiment ratings at #3 with SolidStart and Remix.
Eleventy is tied for #6 overall (alongside Nuxt).

Alright, this graph from Netlify’s “State of the Web” survey is… intellectually dishonest. And I have to weigh in on it now because a few folks have been making some *specious* assumptions and tagging me 😬
I get it: Netlify wants to highlight graphs that make Next.js look bad but c’mon—leave me out of it.
(I also understand that their resident statistics person departed the company so… it’s unlikely that this was malicious)
🧵🔽

https://www.11ty.dev/ is now built with Eleventy v3 *exclusively* using ESM (no CommonJS)
View the final PR https://github.com/11ty/11ty-website/pull/1636
(Please let me know if you see anything… weird 😅)
A simpler static site generator.
While zachleat.com was a CJS to CJS migration, I’m currently updating 11ty.dev to be Eleventy v3 using ESM.
That work is in progress here:
https://github.com/11ty/11ty-website/pull/1636
Live demo:
https://eleventy-v3--11ty.netlify.app/
WebC support for Eleventy adds for Single File Web Components
zachleat.com is now building using the very first alpha release of @eleventy v3.0:
You can see my upgrade PR below. It was—well—a pretty straightforward upgrade:
A simpler (static) site generator.
Tickled to see so many folks adding this—y’all make building for the web fun! ❤️
Execute a string of JavaScript using Node.js and return the global variable values and functions.
A web component to add snow to your web site (or to an element on your web site).
A few folks have already added this to their web site! 🏆
1️⃣ @simoncox’s http://www.simoncox.com/
2️⃣ @bw’s https://bw.omg.lol/
3️⃣ @jhofker’s https://jordan.hofker.org/
4️⃣ https://ndyg.omg.lol/
Quick work!
A web component to add snow to your web site (or to an element on your web site).
A web component to add snow to your web site (or to an element on your web site).
A web component to add snow to your web site (or to an element on your web site).
Execute a string of JavaScript using Node.js and return the global variable values and functions.
Perform transformations on ESM import syntax (using import maps or to a dynamic import).
Looks like Vite writes a temporary file to the file system to work around this issue 👀 https://github.com/vitejs/vite/blob/77d5165e2f252bfecbb0eebccc6f04dc8be0c5ba/packages/vite/src/node/config.ts#L1172-L1184
The bare minimum you can do is to post a methodology document to show each individual question on the survey, how the survey was compiled, sources of data, etc. If we’re not doing that, it’s noise.
If a “survey” displays results from questions about developer perception of frameworks without filtering out folks that have never used the framework, it ain’t much use—is it?
Are we interested in Amazon reviews from people that have never bought the product? Or movie reviews from people that haven’t watched the movie?
It’s frustrating out here, y’all.
I see this experimental limbo for Node.js’ ESM `vm.Module` causing large scale problems elsewhere too, right?
Jest seems to be trying to stick to Node.js APIs (which is a good goal!) and people are migrating to Vitest for “stable” ESM support—but Vitest is using `esbuild` to sidestep the experimental status.
Filed a Node.js issue as a last resort 😭. If CommonJS supports `import()`, why doesn’t `vm` support `import()`?
https://github.com/nodejs/node/issues/51154
Or, I’d love a stable `vm.Module`! Or Node.js ShadowRealms! I shouldn’t have to use a bundler for this stuff.
Perform transformations on ESM import syntax (using import maps or to a dynamic import).
Here’s how I think about it and I think this is the only way to survive as an indie open source project in a VC-funded world:
The #1 competitor to Eleventy will always be the previous version of Eleventy.
oh hi

organizations extremely concerned with the scalability of CSS need to put that same energy into the scalability of JS
📮 One YouTube Embed weighs almost 1.2 MB
how are those 3D televisions holding up
I have redesigned my web site one thousand times, one small component at a time
these amateur ornithologists can’t stop looking at tweets on the bird site

Fixed what I think may have been the gnarliest @eleventy bug yet: a mixture of multiple subtle things when using pagination, computed data, and (internally) data mutability in proxies on the data cascade.
I learned a few things and left everything cleaner than it used to be but I’m going to rest now 🧠😴
Let the ad blockers block ads.
is it *really* too much to ask for every single person to keep their content available online, in perpetuity, for all time and forevermore?? c’mon, y’all
making an open source project starts out like you’re having fun playing at the local neighborhood sandlot and suddenly the $7.1B new york yankees show up for a game
tesla could never make a cybervan and we all know why
look—no, you started drinking eggnog too early
my toxic trait is that I don’t trust people that hate minivans
I kinda wanted folks to answer about their desktop/laptop experience but didn’t specify, unfortunately!
`mailto:` links:
A web component to search with Pagefind.
new web component goofin’
I am loving the View Transitions demos but (imo) it seems risky to build framework level integrations for the feature before there are two browser implementations in the wild.
I don’t know if any single image could be a better metaphor for modern web development:
Congrats to the @astro team on the v4 release!
Love the little development toolbar—it looks awesome 👀
what is a large language model if not three small language models in a trench coat
Previous in this series: https://www.zachleat.com/twitter/1584995586918731776/
Vercel’s Next.js v14 has shipped and (as one does) I had a look at the JavaScript footprint of the production build of Hello World:
v14 (2023): 299 kB
v13 (2022): 272 kB
v12 (2021): 228 kB
Unfortunately the same trend continues, even with a new bundler: the bundles are growing!
(and with Tailwind included by default, too)

Can I (should I?) use @1password to log in to a secondary 1Password account?
We’re discussing the future of the Jamstack:
https://thefutureofjamstack.org/
Join us!
(as seen in the announcement banner on jamstack.org! 👀)
scrolling on mastodon, increasingly flabbergasted by how much this one individual has shared—had to be almost 30 contiguous posts on my timeline!
…until I realized I was on their profile page
@chriscoyier trying to make Eleventy’s IndieWeb Avatar service work for Codepen and I figured it might just be easier to ask, the fetch to http://codepen.io/favicon.ico returns 503 Forbidden (looks like some Cloudflare security stuff)—is it possible to add an exemption on your end for the icon?
a few minutes after we put a christmas tree up

I hit 400 posts on the blog this week!
🗓️ 17 years (2007+)
🔭 3.5M Page views
🔩 WordPress to Jekyll to Eleventy
Blogging changed my life, big time.
company with high employee turnover, ship of theseus thought experiment
1. how it started
2. how it’s going

I’ve started following the hashtag #WebComponents on here so if y’all could tag your posts with it, that would be swell
(I know I haven’t—but I will do my best moving forward)
has @aerotwist fixed their web site after it was compromised?
🔗 Why We’re Dropping Basecamp
https://blogs.library.duke.edu/blog/2023/11/30/why-were-dropping-basecamp/
“We came to this decision after weighing the level of its use in our organization, which is considerable, against the harms that we see perpetuated by the leadership of Basecamp’s parent company, 37signals.”
where are all of the snow web components