Zach’s ugly mug (his face) Zach Leat­herman

<icon-fall> Web Component

617 September 16, 2026
🚾Web Component@zachleat/icon-fall

A web component to rain Font Awesome icons down your web site.

All🚾 0%
Versions
1 version in
1.0.0
New
Audit
-
Issues
0
PRs
0

I’ve been doing some spring/fall cleaning and found an unpublished follow-up component to <snow-fall> (a web component to “snow” on your website — which also happens to work with emoji too). Originally it was created as an easter egg for Blog Awesome (click on the Font Awesome flag in the very bottom of the footer) but others have wanted to use it for more things!

Presenting: <icon-fall>:

It’s in use on this page (if you are on my web site and not in a feed reader). You can also install it with npm install @zachleat/icon-fall.

It has options for count (attribute, number of icons) and a comma separated list of colors (via --icon-fall-colors custom property).


IndieWeb Avatar for https://unsplash.com/Poster image by Johannes Plenio

< Older
Table of Contents Web Component

Zach Leatherman IndieWeb Avatar for https://zachleat.com/is a builder for the web at Font Awesome and the creator of Build Awesome (née IndieWeb Avatar for https://www.11ty.devEleventy/11ty), an award-winning open source website generator. He measures website performance with speedlify and at one point became too fixated on web fonts. He has given 89 talks in nine different countries at events like Beyond Tellerrand, Smashing Conference, Jamstack Conf, CSSConf, and The White House. Formerly part of CloudCannon, Netlify, Filament Group, NEJS CONF, and NebraskaJS. Learn more about Zach »

6 Reposts
Evil Jim O’DonnellJakub IwanowskiJean Pierre KolbKhalid ⚡Eric A. Meyerc0debabe, union raccoon
28 Likes
tuckerkTyler StickaHeather BuchelbethanyAλ 🇵🇸SergioJeffJakub IwanowskiTroels ThomsenAlena JacíkováFrank // MottokroshroviPDFopsChristian AlderMx. RileyJean Pierre KolbRoel NieskensMarijke LuttekesRob AndersonKhalid ⚡Cesare Pautassoc0debabe, union raccoonEric A. MeyerAlex Michael BerryFirmilian TalpanDaneSimonCoxRaymond Camden
17 Comments
  1. Robb Knight
    Robb Knight

    @zachleat yes...responsibly https://emojistorm.rknight.me EmojiStorm

  2. Eric A. Meyer
    Eric A. Meyer

    @zachleat “Sensitive content” hee hee hee

  3. Roel Nieskens
    Roel Nieskens

    @zachleat @fontawesome A great victory for the web! Also, I stared at the demo way too long.

  4. Zach Leatherman
    Zach Leatherman

    @Meyerweb I am a squishy sensitive person

  5. Zach Leatherman
    Zach Leatherman

    @robb I’m not your dad

  6. Zach Leatherman
    Zach Leatherman

    @pixelambacht @fontawesome 😅😅😅

  7. Khalid ⚡
    Khalid ⚡

    @zachleat @fontawesome Dude... there's literally a snowflakes icon. Amateur hour. (just kidding)

  8. Robb Knight
    Robb Knight

    @zachleat well this is a hell of a way to find that out

  9. Zach Leatherman
    Zach Leatherman

    @khalidabuhakmeh @fontawesome I get paid by the component

  10. Zach Leatherman
    Zach Leatherman

    @hejchristian @robb now compare it to github and youtube tabs 😅

  11. Cory Birdsong
    Cory Birdsong

    @zachleat pleased with how easy it was to sloppily erase parts of the letters in the title here.

  12. Zach Leatherman
    Zach Leatherman

    @cbirdsong did… did the moon crash into the earth

  13. Cory Birdsong
    Cory Birdsong

    @zachleat i haven’t seen it, but I assume it did https://en.wikipedia.org/wiki/Moonfall_(film) Moonfall (film) - Wikipedia

  14. Zach Leatherman
    Zach Leatherman

    I should have named it <icon-spring>

  15. Zach Leatherman
    Zach Leatherman

    I should have named it <icon-spring>

  16. Stuart Langridge
    Stuart Langridge

    @zachleat @fontawesome this is a sin against not only Jesus but a whole bunch of little miniature Unicode pictures of Jesus

  17. westbrook
    westbrook

    @zachleat const date = new Date(); const month = date.getMonth(); let name = 'icon-confusion'; if (month > 2 && month < 6) { name = 'icon-spring'; } else if (month > 8) { name = 'icon-fall'; } customElements.define(name, definitio… Truncated

Shamelessly plug your related post

These are webmentions via the IndieWeb and webmention.io.

Sharing on social media?

This is what will show up when you share this post on Social Media:

How did you do this? I automated my Open Graph images. (Peer behind the curtain at the test page)