More static site shenanigans

I've already added several JavaScript dependencies 🙄

The other day I was pulling my hair out trying to sort fediverse replies into a threaded tree and decided to just put a pin in that and use someone else's JavaScript logic to do it for me at runtime. Then I spent a bunch of time trying to style it and ran into a lot of weirdness before putting a pin in that.

Well, yesterday I found a pretty slick web component that handles doing it all via JavaScript really nice and conveniently, so I dropped that guy into the page and began doing some styling adjustments. One of the things I wanted to fix was the date format of each reply, and figured I already have JavaScript added, and this is just temporary, so why not add DateFormat, too. Also, the fediverse comments web component depends on a library for sanitizing HTML so people can't do nefarious things in their fediverse reply. Since the JavaScript is already piling up, I said fuck it and also added a button to copy the URL of the fediverse post you'd reply to to leave a comment, but I don't feel so badly about that one because none of the comment stuff even appears if you don't have JavaScript enabled. 🤷

And, having worked with print designers for a decade or so, I can't unlearn about widows and orphans, so I've got Adobe's handy "text-wrap: balance" polyfill in there too, applying to headings and my human readable date format for replies. That one is probably permanent, until real balanced wrapping lands at least. (If it ever does.)

I've been procrastinating on building my index, and I realized I don't have any dates on my posts, so I still need to add those, but it's coming a long. I'm planning a css-only lightbox for any inline images on posts, and I'm considering skipping building an index in favor of styling the RSS feed. I may or may not do that even though it's kind of appealing. The thing is I also want to play with the new view transitions so I can animate between the index and each post's page. (Yay, more JavaScript...)

It's so easy to say I'm not going to add any JavaScript at the beginning and then end up with a lot of JavaScript. Oh well.