In what almost certainly is my last post of 2019—this site’s first full calendar year of existence—I want to look back at the major changes that I made on the site this year, and the learning experiences that resulted.
Yes, that means we’re going to recap “the dance,” as I have ruefully learned to call my hopping around multiple static site generators (SSGs). Be strong.
First, lest we forget, there were several months before I embarked on “the dance.”
- Blox sux—If you have to use WordPress in building websites, you should be very picky about which page editor plugin you use.
iA for IO?—In my early days with the Mac version of iA Writer, I was gradually overcoming my initial disregard for it. It has since become my number one straight-Markdown editor, on both macOS and iOS.
Old dog learns old trick—Well, um, no, I didn’t know that Internet Explorer 10 and 11 don’t respond to the classic way of protecting one’s site from IE’s failings. So I shared my shame, and the answers I found, since I saw that others didn’t know, either.
Back up, Jack—I’m a real stickler for backing up one’s files to the nth degree and, I hope, so were you after reading this somewhat (?) passionate appeal in favor of that approach.
Plain truth—If your words are worth writing, they’re worth keeping for the future in plain text. That led to the obvious question about how one then can format such text, which I answered with . . .
- Ec-static—Still blissfully unaware that “the dance” was about to occupy my brain, I started a two-parter on how to get started using what then was my SSG of record, Hugo. In this part, I worked you through setting up Hugo itself and getting a site going.1 That left the most practical part—actually getting the site on the web—for Part II.
Why I left Ulysses—Although I’d proclaimed my affinity for the Ulysses writing app a few months earlier, it began to get glitchy on me where iCloud sync was concerned, which prompted this post—soon essentially retracted by the next post. (In fact, I did take this post offline for a few months, until I thought better of it.)
Boxed in?—I had hauled off and dumped Ulysses but, in the rueful days that followed, I learned that the iCloud glitchiness wasn’t its fault, after all, and so back I came to it, as I explained.
The Holy Mail—This proved to be an eerie precursor to “the dance” since, in this post, I explained how I’d stopped a “dance” among email clients in favor of Apple Mail. The reason it was an eerie precursor is because, shortly after I posted this one, I became interested in the subject of the next post.
- Ahoy, ’Mate—My geeky curiosity aroused by MailMate, I gave it a tryout and was soon not only a user but a patron. (Although I later gave it up briefly after determining that it was just too much app for my pedestrian needs, I have since returned to it, especially because of the various oddities involved in Apple Mail in macOS Catalina as of this writing, although they seem to be getting resolved—slowly.)
. . . and so much for the seemingly peaceful first half of 2019. In truth, however, I was looking into making a change in this site. Dum dum duhhhhm—that’s right, kids, here we go into the months involving “the dance”! Hold onto your gizzards.
Independence—This little tale of how I first encountered a Mac in person on July 4, 1984, was supposed to have run on July 4. However, that day and for two days thereafter I was knee-deep in the final hours of what I’d eventually call Gatsby Experiment I, which had begun around the third week of June. I won’t go into detail about that here because, hey, that’s what the next post did!
Why I’m staying with Hugo—In this post (which, like several others I did this year, turned out to have unintentionally ironic titles), I gave you your first glimpse at “the dance.” I really, honest-to-God thought that was the end of “the dance” when I posted it. In fact, the whole concept that I’d even do “the dance” would’ve stunned me at the time. Oh, my, my, my.
Lessons learned—A few days later, in the naíve belief that I was safely with Hugo forever and would never again dally with “the kewl kids’ SSGs,” I wrote this little description of some of the things I’d learned or figured out during Gatsby Experiment I. One of those was that you shouldn’t put a Git repository on a cloud-sync account, the remedy to which was the subject of my next post . . .
Roger, Copy—. . . wherein I lauded, as I still do, the excellent Working Copy source-control app for iOS. Won’t be any “dance” with this app, because it’s the gold standard. I “pity the fool” who tries to topple it.
So things settled down for a little while, “dance”-wise; but, in my always troublesome mind, I was already hearing the “whispers” I’d mention later. More on that when we get to September. First . . .
Make games, not war—Perhaps mentally fatigued by not only Gatsby Experiment I and its aftermath but also some work-related stuff going on at the time, I penned (keyed?) this change-of-pace piece about how Major League Baseball and the National Football League should reorganize themselves for the sake of common sense. Shockingly, neither has taken me up on my eminently logical suggestions although I concede they’d likely cost billions in ad revenue—a small price to pay for the inner satisfaction of being logical, I say.
Scrivener and The Cloud—This was a rebuttal of an Ars Technica forum comment saying, erroneously, that Scrivener for iOS works with iCloud sync. Nope, nope, nope. Would that it were true, but t’ain’t.
Backtracking to Big G—I tried to get away from Google services. I couldn’t. Argh. However, in my defense, I did later once again remove the massive cookies deployment machine known as Google Analytics and replace it with the totally cookie-free Netlify Analytics. (It wasn’t purely good intentions on my part, to be honest with you. My readers tend to be tech-savvy users of ad blockers, thus making Google Analytics data essentially meaningless on this site.)2
As August came to an end, “the dance” reared its ugly head again and, in the background, I was on what I’d soon announce as Gatsby Experiment II. Let’s just say it didn’t go much better than Gatsby Experiment I. By Labor Day weekend, I’d canned Gatsby again but, this time, in favor of Eleventy. And that takes us to September, where suddenly “the dance” became a matter of public record.
Now I’m sixty-four—Right before that event occurred, I did take the opportunity to put up a little joking rewrite of the Lennon/McCartney When I’m Sixty Four since, on September 6, I turned sixty-four. I typically don’t mention my birthdays outside the family, but this was special: we’d recently learned our daughter and son-in-law were expecting our first grandchild, so I used this post as a kidding way of announcing it to some friends and relatives.
However, that week, I also was getting ready for a transition that I thought, again, would end my quest for a more suitable SSG. So, two days later . . .
Why I left Hugo for Eleventy—I issued the post that said, essentially, “Hey, you know back in July when I told you I was glued to Hugo for life? Wel-l-l-l, not so fast.”
I still stand by all the good things I said about Eleventy in this post. What I didn’t anticipate was that, only a few days later, the incredible ease of Eleventy—combined with a brief flurry of “Oh-I-don’t-know-whether-all-this-node-modules-stuff-is-such-a-good-idea” angst, which now seems silly in retrospect—would lead me to turn yet another corner in what now clearly was “the dance.”
Back with Hugo—Twelve days after the last post came this one, which followed a long day of thinking about whether I was really going to get the learning experience I’d wanted to get by using Eleventy rather than Hugo. (Hey, this made sense to me at the time.) It also followed my reading a Flavio Copes article that seemed to be speaking directly to me about the folly of “the dance.” So, like a whipped dog, back I came to Hugo—but not for long, as it would turn out.
Thinking dark thoughts—This post was about using CSS to handle dark mode in the browser; but, truthfully, its title also reflected my mind’s state at the time. Yes, I had “danced” back to Hugo, but I wasn’t satisfied at all with the experience. Moreover, I was peeved that “the dance” was out there for all the world to see, thanks to these here posts. The inevitable result of that mood came soon enough.
So, here we were in October, three and a half months after I’d begun “the dance” with Gatsby Experiment I. Even now, I still was reading voraciously all the docs I could find about Gatsby. I even dabbled briefly with the somewhat similar Next.js although nothing came of that, except for some interesting stuff which I never put on the web.
But I was, as I said, angry with myself about where things sat. And that led to my first post of what turned out to be an eventful October where “the dance” was concerned.
- It’s about the food, not the decor—This was the nadir of “the dance” for me. I decided one hot afternoon while in a traffic jam that, by God, I’ll just delete all that stuff about Gatsby and Eleventy! That’ll fix it! So I did, indeed, whack all those posts.
You tell ’em, Sparky.
Fortunately, that foul mood didn’t last long—especially since, obviously unable to restrain myself, I’d now begun Gatsby Experiment III—and I made things right with the next post.3
OTOH—Not only did I apologize for those deletions, and not only did I make clear how ashamed I was of that behavior; but I also revealed that I was on Gatsby Experiment III and, this time, it was working. In fact, by then, I was ninety percent of the way to completing a working Gatsby version of the site. However, for a few days, my previous failures made me skittish about putting it into production.
Picture perfect?—In the interim between that revelation and when I finally launched my site on Gatsby, I posted this description of why, despite my earlier protestations, it is okay for SSGs to tell you where you can put your images. So to speak.
Now I’m a Gatsby geezer—At last, I got the Gatsby repo working cleanly enough that I pointed Netlify to it. I was really proud of myself—for a few days. (Is this starting to sound familiar? Sorry.)
In November, still basking in the glow of what I thought I’d accomplished in finally moving the site to Gatsby, I actually proposed at work that we rebuild the company sites, dropping WordPress (always a good idea regardless of one’s motivators) in favor of having static sites powered by, you guessed it, Gatsby. I even developed a Gatsby version of our company’s most-visited site and demonstrated the sheer, raw speed and off-the-chart LightHouse numbers that an SSG delivers versus the glop that is WordPress.
However, that idea didn’t survive the cold light of well-we-don’t-develop-sites-that-way-here-and-never-will-ism; and that made me realize that I didn’t really like Gatsby all that much. Oh, sure, I could use it just fine; but I still preferred Eleventy. Nonetheless, I didn’t want to give up the features that Gatsby offered, especially due to its tight marriage with webpack.
Although I soon got to thinking about what I could try next (get your dancing shoes ready once more, children), for the two posts of November I stayed mostly quiet on “the dance,” primarily airing little gripes and observations about multiple items.
Mixed nuts • November, 2019—In this otherwise benign set of quickies, I noted that Eleventy was still my favorite SSG. Just by saying so “aloud,” so to speak, I had signaled to my brain that it was time to “dance” yet once more.
And, with that, I began reading everything I could understand where webpack was concerned, and I soon became convinced that putting Eleventy together with webpack would be the answer.
During the week of Thanksgiving, especially that holiday weekend (just as I’d spent much of my days off during the July Fourth holiday working on Gatsby Experiment I), I worked out most of the kinks of the Eleventy/webpack connection I was trying to forge. I won’t tell you there weren’t fits and starts, but I felt I was on the right track and so I persisted.
And that led us to the Eleventy-/webpack-heavy set of December posts, of which this post is the last.
- Packing up—Hey, world, it’s me, Bryce. Yeah, it’s that SSG stuff again. Yeah, I dropped Gatsby. Yeah, I’m back to Eleventy. But, man, you ought to see what I can make it do in league with webpack!
. . . Or words to that effect.4
Code comfort: Eleventy and webpack—Having benefitted so greatly during the dev process by viewing the code of others, I put mine out there for the world to see. However, I soon realized that I would be run ragged trying to keep it updated as I continued tinkering on things, testing new things, and so forth; so, just today, I made my site repo public for the first time and changed the post accordingly. Now, for good or ill, you can see pretty much all my code. Be nice.
“Previous” and “next” in Eleventy—This one, from just days ago, tells how a GitHub post gave me the solution to the last lingering doubt I had about using Eleventy, which was the previously manual process of putting “Previous” and “Next” links on each individual post’s page. Manual no more. Thank you again, Pascal Widdershoven!
And, then, finally, there is this post that you’re reading now.
Thus ends this recap of not only this site in 2019 but also “the dance” which, I suspect, will be my strongest memory when I think back on this year’s writings.5
“The dance” was absurd, agonizing, and absorbing (and, it would seem, alliterative). I cannot say with any certainty that it’s over, and even if I did you would have every reason to doubt me. Still, I feel quite satisfied for now with the setup I have and with the extensibility its parts provide.
For example, in recent days, I tried and then decided against some different options for handling CSS; but this was all done with the Eleventy/webpack foundation that I’ve built. It can probably stand some adjustments here and there; indeed, I won’t be surprised if the new public status of the repo lends itself to the occasional pull request from some bright dev with a better way to do things. But, until the arrival of something I’m not really anticipating now, I will use this foundation as my building platform.
I wish you all a very happy 2020. As for me, I hope sincerely my “dancing” is over for quite some time to come, and that I can instead spend my time exploring, and expanding, the Eleventy/webpack structure in which this site now resides.
And, always, writing.
I have considered doing a similar piece about my Eleventy/webpack setup, but the webpack part of the puzzle would make that a lot more challenging. I may just have to continue my stance that, for an outright SSG newbie, Hugo and its single-binary, lotsa-stuff-out-of-the-box approach would still be the better choice. ↩︎
Update from February, 2020: Speaking of “once again,” I’ve ceased using Netlify Analytics once again to save the nine bucks a month. No, I didn’t go back to Google Analytics; I’m just flying without any analytics now, period. Netlify Analytics will have to wait for that perhaps-never-to-occur day in the future when I decide to monetize this site—somehow. ↩︎
I’d also—quietly—backtracked to Eleventy during this period, so in fact I was “back with Hugo” for only about two weeks. I then kept the site on Eleventy until I had it Gatsby-ready in late October. ↩︎
While I figured the Eleventy community would blow me off on this due to my earlier fecklessness, I was—and remain—gratified by its extremely positive reaction. ↩︎