How Google handles JavaScript throughout the indexing process

By Chris Coyier on

Vercel published an article with research on how Google Bots deal with client-side JavaScript. People assume that sites that are JavaScript-rendered only are worse for SEO and worry about that. Which is entirely reasonable, as Google themselves warns you that there are limitations with client-side rendering and “some pages may encounter problems with content not […]

Font with Built-In Syntax Highlighting

By Chris Coyier on

Syntax highlighting code on the web happens like coloring any other text on the web happens. You wrap the bits of text you want colored uniquely in some element, probably a meaningless <span>, then select that in CSS and apply a color. Ideally, the span-wrapping happens server-side so client-side JavaScript isn’t tied up doing something […]

TUIs

By Chris Coyier on

I mentioned lazygit the other day, a project I find to have a tremendously well done interface for being entirely at the command line. As frustrated as I get with tmux sometimes (the scrolling and the copying text, ughgkh), I still find it to be useful and impressive that “UI” can exist at all in […]

It’s Time To Talk About “CSS5”

By Chris Coyier on

Brecht De Ruyte has a good rundown of what’s up with future named versions of CSS. You might remember “CSS3” and how hot of a buzzword that is. JavaScript still has successful “ES202X” naming that groups features into useful buckets. But CSS hasn’t benefited from named groups since CSS3. I’ve written: Then it felt like […]

Scaling One Million Checkboxes

By Chris Coyier on

Nolen Royalty made a website (now turned off) with a million checkboxes on it which was realtime for everyone viewing it. Users can check (or uncheck) a checkbox and that is persisted to a datastore and propagated to all visitors instantly. This, as it turns out, is a non-trivial task if you want it to […]

So you think you know box shadows?

By Chris Coyier on

David Gerrells has a bunch of fun rendering far too many CSS box-shadows for things that box-shadow was never meant to do. I found out my m1 can render a stupid number of these bad boys and so I set out to see just how far you can push them and boy did I. Because […]

SVG triangle of compromise

By Chris Coyier on

I enjoyed Micah R Ledbetter’s SVG triangle of compromise and generally think it’s a fair analysis of how any-which-way you use SVG on a page, you’re giving up some kind of nice ability it could have. For instance, if you use SVG through an <img> tag, it’s cached nicely, but you give up on CSS […]