Not really a reorg. More of a shredding.
July’s StSBM talked about how my web site is unmaintainable and unauditable. I have most of the titles up there, I think, but the descriptions are sketchy and the buy links are chaos. I had to hire help just to get the Amazon links straightened out. Every so often, one of my retailers make a change and I need to change every title. (“We’re iTunes! Now we’re iBooks! Apple Books it is!”) As you might imagine, those sweeping updates are on my priority list right after “never.” Most sweeping changes fail the WIBBOW (Would I Be Better Off Writing?) test.
I’ve built a spreadsheet for every title in print and their, tag lines, description, and links or identifying information for each retailer. Many of those retailer cells are blank, either because I didn’t upload the book to the retailer or I didn’t update the web site to point to the retailer. Again, WIBBOW.
Each book currently in print has its own page now, with the jacket copy and store links. This page is automatically generated from a spreadsheet. I’m using a spreadsheet so that I can, one day, hire someone else to maintain this.
The topic/genre pages now contain only the cover images and the book’s tag line. Clicking there takes you to the book’s page. The book index has been updated to point at the book page. Each page also has OpenGraph information, including a promotional image, making it easier for readers to link to a particular book. Short stories do not get their own page. Now that shorts are exclusive to my store, I can easily put the description on my site. They’re isolated at the bottom of a genre page so they don’t stick out.
I need to go through the front page gallery to have all those covers point at the new page. If you click on one of those covers you get taken to the genre/topic page and must click again. I’ll be churning through those in the next few days.
This organization doesn’t thrill me, but at my scale maintainability is paramount.
For the curious, the page-building script is at https://cdn.mwl.io/detritus/book-page-rebuild.pl . Why put it there and not on, say, github? One, github takes ICE money1. Two, github is increasingly poo. Third, if I put it in a more public place some daft bastard would try to use it. I would get demands for assistance and, worse, pull requests. Some even dafter bastard would claim that I had written a Static Site Generator and request co-maintainership for MWLSSG. (I understand that SSGs are trendy, but this is not an SSG. This is an ugly hack and, at best, a Static Page Generator.)
Or, worst of all, someone might think that this was an example of Good Code. Code is like skin. Showing the less personal bits is fine, but you should expose more of it only on request.
I would like to add “Next Book” and “Previous Book” links to the individual pages, but that raises questions and complicates the code. What’s the book order? By genre/topic? Boring alphabetical? Where is that order maintained? I want to hand this spreadsheet to someone else one day, so any order other than alphabetical needs to go in there, which means changing the order would involve perilous cut-and-paste operations and I am well experienced in how well employees can cut and paste. I was an employee, I know what I’m talking about here.
So I’m deferring all that.
But the next time one of my retailers changes the name of their store, I can edit a line of code and regenerate all the book pages. When I need a brain-dead project I can go through the blank cells in my spreadsheet and figure out which retailers I’m missing and why. That’s all good.