The Wrath of Kon

Dispatches, thoughts, and miscellanea from writer Jon Konrath

The Death of Wordpress

After switching to WordPress almost 17 years ago, I’m done. Out. Finished.

In 2009, WordPress was The Thing. Prior to that, I had a homebrewed static site generator, more or less. It generated the index pages and slapped a header/footer on each generated page. Although I used various iterations of this for a dozen years, it had major shortcoming. I had to mostly edit posts by hand; images were a major pain; and the look and feel of the thing was not great. I also had to be in front of my laptop at home to edit a post.

I think I’d already been using WordPress for my music review blog (which died quickly, don’t ask) and after a big painful import process that involved too much use of the sed program and the ugliest shell script imaginable, I got everything into a self-hosted WordPress install.

WordPress had its advantages. Themes were great. It looked modern. I could easily log in from work or my phone or anywhere else and peck out a post. Things like comments were already included. And when I had a multi-person blog for the old publishing company, it wasn’t too terrible to set up other people to also edit things.

WordPress also had many fatal flaws. First of all, it was basically a vector for every possible Russian hacker imaginable, who were constantly on a global hunt to crack every WordPress site they could and turn it into a boner pill ad. This happened a few times on the old PL site, and luckily not at Rumored. You were also at the whim of the WP developers for updates and changes. When they switched to a more WYSIWYG editor with “blocks” in it, I almost jumped ship, until I found a way to turn back on the legacy editor.

I think the biggest pain in the ass was the perception that you could do anything with WordPress and it had a rich ecosystem. But any time I wanted to switch themes, I found most free themes were garbage, years old and unmaintained. Paid themes, sure. But I’m not paying thousands of dollars for a personal blog only three people read. Also there was this plugin architecture, and you’re supposed to be able to totally customize your site, but once again the freemium mode was a curse, and if you added more than a couple plugins, your site would slow to a crawl.

Another big thing was that I had all my posts in a screwy database format, and any thoughts about exporting them to another format to make a book or another site involved a graduate-level computer science project, or a plugin from someone in Yugoslavia that simply did not work.

So, done.


I’ve been doing the Markdown thing for a decade at work, writing with little symbols for italics and bold and headings, then using a static site generator to convert all of that into HTML and pour in templates and indexes and such. So I’ve thought about switching to a SSG for a long time. But the longer I waited, the worse this proposition got. I think there are about 1500 posts here, and 1.25 million words. So it’s not an easy lift.

I originally started using Jekyll at work in 2015, which suffers from the same WordPress freemium problem for themes and such, and definitely does not work well at that scale. Hugo is a bit better, but I never got it to look great. I use Gatsby for my other blog and that’s okay, but I kept sleeping on this for a while.

Anyway, I eventually thought about Astro, and that seemed to tick most of the boxes. I got a download of the WordPress export of this site, then broke it up into Markdown with a script that actually worked. After a quick setup and maybe two days of messing around, I got everything pretty much running here.

Another change is that I moved my hosting from AWS Lightsail to Vercel. And the actual files here live in GitHub. So Vercel watches the branches there and automatically does the builds and deployment. Easy stuff, and it wasn’t hard to get that running at all.

There are probably a lot of little things I need to fix here, broken links and style problems and such. There aren’t comments, and maybe I will add them back. (Or maybe not.) I need to spend some time on this, but I also need to say “done” and leave it alone.

The one disadvantage to this whole system: I’m now editing and publishing in the same tools I use at work: writing in VSC, testing in the command line, pushing changes with GitHub. Leaving work and then trying to be mindful and write, but sitting in the same exact programs is going to take some getting used to. Maybe I’ll write in something else, then paste it in here.


Other news is that I got another draft of Atmospheres 2 done, and I hope this is the second-to-last one. After I left it ferment for a week or so, I’ll start a heavy edit pass and hopefully get that done soon.

New Bike

Quick CX

I’ve been commuting to the office on the BART train for a few years now. This is pretty painless except I drive a mile to the station, then pay $16 a day to park. Recently, they stopped selling reserved parking at the station by my house. They’re apparently tearing up the whole parking lot and building 750 units of housing and 50,000 square feet of commercial property. This roughly coincided with me going back to the office five days a week, so I suddenly need a new way to get to the train.

My first thought was to simply drive to another station. I tried this for a few days, going to the MacArthur station, which only costs $4 a day to park in the new garage. But that added 5-10 minutes of driving in each direction, and another 10-15 minutes of train time each way, which seemed silly. I also tried renting Lime scooters. They are all over the neighborhood, and cost maybe $4 a trip. They’re pretty quick, but after one or two trips, I knew it was when, not if. They’re pretty shaky, and I could easily see getting taken out by a pothole, of which there are many in West Oakland.

I bought a bike when RTO started in 2023, a very nice Cannondale Topstone, with thoughts that I’d ride to the Berkeley office a few days a week. I’ve honestly rode that bike exactly three times since I bought it, and none of them actual commutes. I rode it to the train a few times last month to see what my problem was, other than general laziness. I think the issue is that it’s a gravel bike with drop handlebars, and it’s entirely the wrong stance and geometry for a quick ride to work on the streets with a laptop backpack on.

I also still have the bike I bought in 2005, a Dahon Boardwalk folding bike. I think I’ve rode this bike maybe twice since I broke my arm on it in 2009. That bike has a more upright stance, but it’s also very wobbly and weird, top-heavy with tiny wheels, and it really needs a complete overhaul from sitting for 20 years. So I could pay $400 to redo a bike I don’t really like and bought for $300. Or I contemplated switching the handlebars on the Topstone, which would also require switching brakes and shifters, and I’m maybe $500 in on a project I might not like. Or I could just buy another bike.

So I did. I went to REI and picked up a Cannondale Quick CX 3. It’s a great hybrid bike, with a more upright stance and flat handlebars. It’s a very lightweight alloy frame, and pretty well equipped with the latest hardware. It has hydraulic disc brakes, which are new to me. There’s eight speeds, with a decent range for the city. The front fork has a suspension on it, but also has a quick-locking lever for when I don’t want it. Tires are grippy, but not too fat. There’s a phone mount on the stem, but otherwise the bike is all analog. And I love the color, which they call Rally Red. My Topstone is a matte stealth bomber black, which is cool. But the red is a nice contrast.

I’ve rode the new bike to the train every day last week, and it’s pretty much flawless. I had some fretting with the u-lock mount, how to keep it on the bike as I rode without making a ton of knocking noise. (I got a velcro holster thing that seems to work.) We have BikeLink lockers at the train station, which are secure enough for the day, and I u-lock it to the inside of the locker, too. It’s pretty ideal when it’s 70 and sunny out. What will it be like when it isn’t 70 and sunny? That’s a TBD.

I also went out a few times over the weekend. I’ve got 40-some miles on the bike already. I don’t know if I’m going to become a Bike Person. I can’t do spandex. I’m not anti-car enough. I’m definitely not in shape. I’ll have to work on that last one.

I also need to avoid any more gear acquisition. Work paid for the bike via our gym/fitness subsidy, which is nice. But I now spend too much time browsing forums, wondering if some new-fangled carbon fiber cargo rack will make my life complete. I need to cut that out, and just ride.

Jetlag, writing, nostalgia, jkwrite, dental drama, etc.

harp

I don’t know why, but my jet lag after the Thailand trip was absolutely brutal. Maybe it was because I was gone longer than usual. Or maybe it was coming from a hot and sunny climate to the cold and cloudy and gray Bay Area spring. Or maybe spending a day in the germ tube gave me a little crud to get over. But I was pretty much knocked out for the week.

I don’t like to get into work stuff here, and I won’t go over my general feelings over this, but we’ve fully returned to office now, so I’m back in SF five days a week now. I know 87% of the country already works every day in the office, but this was a big, sudden shift for me, and it makes the week seem like 17 days long, now that it isn’t interleaved with WFH days. The other bummer with this is they’re closing the parking lot at my BART station, which means either I drive twice as long and then take a train also twice as long, or I figure out some way to ride a bike or scooter or something to the train. But, see above about constant pissing rain and cold here.

I’m back to working a few hours in the morning before I leave, back into the swing of things with Atmospheres 2, I think. I didn’t work on it at all during the trip, and lost a week or two when I was back. But I’m working it. I feel like it’s maybe two months away, if I can keep consistent with it every day. There are a few other distractions, but I’m trying to limit them as much as possible.

One thing that briefly popped up was this idea for a nostalgia-based book about various dead technologies or tools I was around for when they first broke. Like I was trying to install Linux at the end of 1992 when it was still more or less a Minix add-on. Around the same time, I created my first .hyplan file, which was basically a homepage on this thing called the World Wide Web. There are lots of other stories like this from the early 90s, and I spent a weekend trying to brain-dump some of this. But the writing is so wooden and redundant that it wasn’t helpful. And there needs to be some way to wrap these stories up in a gimmick, a hook, a format. I don’t know what that is. Maybe it’s a series of essays on a Substack, but those become boring journalistic things with no point and end up feeling like evergreen SEO garbage on a tech site full of affiliate links. There’s also the thought of using them as the bones of a Summer Rain-esque novel or set of stories. But I really don’t want to write another book like that. SR remains unpublished for a reason.

I think the biggest conflict with this nostalgia-based writing is it drags me back and makes me think about what I now realize is an incredibly painful era of my life, and I have no reason to wallow in that timeframe anymore. And the neuro-whatever part of my brain gets really locked into this stuff, and I find myself spending all day on newspapers dot com researching things that make me mentally ill. It’s really not worth it. I need to look forward and not back.

I’ve also mentioned this before, but so many of the communities around nostalgia - retrocomputer folks or old toy collectors or classic car hotrods - end up becoming dangerously adjacent to politics and this bitterness about how America was great and it isn’t anymore. I really can’t deal with that shit at all. And I can’t spend my time buying old electronics on eBay and setting up a VAX computer in my house that takes up free space I do not have, when I’ve got a pocket calculator in my desk drawer that has an order of magnitude more processing power. I get that some people love this stuff, but it’s dangerous for me to get into it. So, next topic.


This is another waste of time maybe, but I decided to mess with writing a Scrivener replacement. It’s not really a replacement, per se. I use Visual Studio Code all day every day, writing documentation in Markdown. And there are aspects of this IDE that I like better than Scrivener, like that the docs aren’t in a proprietary format, and it’s easily extensible. I thought about just straight-up writing the next book in Markdown in VSC, but I knew there were some bits that were missing that I need.

So, I started throwing something together, tentatively called jkwrite. It’s far from functional, and it’s probably not going to be usable by anyone but me, if I even finish it. But it’s been fun noodling on this a bit. The biggest problem, aside from that the more I implement, the more I realize I have way more to implement, is that I’m sitting in the same exact tools I use at work when I’m not at work. So I’m slamming VSC stuff into GitHub PRs, then getting to work and spending all day slamming VSC stuff into GitHub PRs. It’s like if I cooked Taco Bell food as a hobby at home, even though I spent 80 hours a week managing a Taco Bell. It’s an interesting distraction, though.


More dental drama, although this was sort of voluntary. I got another tooth crowned, a lower molar that’s been on the list for a while, and I wanted to burn the rest of this year’s insurance, so why not. This was a two-parter, with them cutting down the top of the tooth, doing some imprints, and putting on a temp crown that I was sure I was going to lose while eating. Went in yesterday and they actually couldn’t get the temp off, had to cut it in pieces to pry it loose. The new crown is on there and feels weird, very glossy and bigger than the old tooth, but the old one had too much metal filling and was lower than it should be, with a sharp edge on one side. It’s fine now, but the painful part was paying for it, on top of the other crown I got done in January.

I still go to my old dentist at Tanforan Mall. I’ve written about this already, but that mall is dire right now. They’re timing out the leases and getting ready to tear the whole thing down to build a biotech campus. I did a quick loop two weeks ago, and brought in a Canon 6D with no problem, since the inside of the mall is almost entirely vacant. It’s extremely depressing to be in there now. The Target is still going. And the Petco is still there. I went to Petco last night, and that’s also very sad to me. I remember going to that Petco on the way home from the vet with Loca in the carrier. We had to get some medicine or something, but I put her carrier up to the mouse cages and fish tanks so she could watch them. So it’s depressing to go there now, knowing the whole thing will be gone soon, replaced by a giant metal and glass tower housing the research team designing and patenting a competitor to Skyrizzi, treating moderate-to-severe plaque psoriasis. Time waits for no man, I guess.

Working on a new book nook. This one is for Yaowarat, the Chinatown in Bangkok. Kinda weird to be building a model of the place I just visited, but that’s fun. Lots of neon signs.

Thailand

bangkok

OK, so April’s big trip was Bangkok, Thailand. Let’s get into it with the giant dumb bulleted list:

  • As always, this trip was booked just under a month before I left. No real reason on this one other than the pricing and timing of it, and it was a new country for me. I also liked Vietnam and Cambodia, so this was a logical next step. This would be my 25th country visited.
  • Had an overnight red-eye to Taipei, leaving at 12:50am on a Friday. I left for SFO at about 8 at night, after waking up for work at 4am that day. I hoped that would make me black out and get a few hours of sleep. Of course that didn’t really work out.
  • I paid too much for an upgrade to premium economy for the 14-hour flight to Taiwan on EVA. Dinner was, as always, completely inedible. With a combination of four different prescription and OTC medications, I got about four hours of sleep. I woke up to my neighbor vomiting profusely from motion sickness, which she continued to do for the last half of the flight. Power outlet was also dead. I inexplicably watched Good Will Hunting. No idea why.
  • The Taipei airport is weird because the gates are all themed and sponsored. So like instead of B4, the gate is a Sanrio Hello Kitty lounge. I landed at 5-something in the morning and had about two hours, but the lounges were all insanely full and there were almost no other meal choices, so my Taiwan experience was that I ate a Clif bar and brushed my teeth.
  • The four-hour flight to Bangkok was no big deal, except the guy next to me was wearing a Vision Pro and waving his arms around in the air wildly.
  • Bangkok immigration took forever. Lots of Russian tourists. Lots of people who waited in line for 20 minutes and then realized they were supposed to get a digital arrival card.
  • I had a driver from the hotel who showed up in a new Mercedes and drove like a stunt driver, but it still took an hour in traffic to get from the airport to the hotel.
  • I stayed at a Marriott executive apartment in Sukhumvit, which is a sort of trendy district with lots of shopping and nightlife, maybe 45 minutes from “old” Bangkok with the museums and palaces and such. The room was nice, a 27th-floor corner suite with a kitchen, living room, and even a washer/dryer, which was a game-changer. It was comfortable, but was also horribly generic and corporate. Fine by me, though.
  • First impression was that Thailand was much more like India than Vietnam or Cambodia. Bangkok is basically Bangalore but crammed into a quarter the footprint. Walking around, the streets were chaotic, full of traffic, and sidewalks required hyper-vigilance because of random edges and trenches and whatnot. Buildings were either ancient or super-modern. In Sukhumvit, over half of buildings were either American chains or things with ironic weird English names that were all chrome and glass.
  • Second impression, after giving it some thought and spending more time wandering, was that Bangkok was a total vaporwave city, a cyberpunk backdrop where the street level was gritty and confusing, but the rest of the city was either old temples or climbing towers of glass and concrete.
  • I was right down the way from three gigantic malls that all sit next to each other: Emporium, EmSphere, and EmQuartier. It was Saturday night and I hadn’t eaten a proper meal since lunch Thursday, so I searched for food, and immediately got The Fear. Everything in the malls were hawker stalls and food courts with lots of people shoulder-to-shoulder and confusing menus of foods I could not figure out, way outside my wheelhouse. I finally gave up and ended up at a McDonald’s, just to get some food down before I got back to the hotel and blacked out from jetlag.
  • Oh, also made one of about three dozen stops at a 7-Eleven next to my hotel to get some of the basics. Thailand’s 7-Elevens are notorious for their crazy assortment of Asian foods and skin care products. There’s very little in the way of western sodas or candies, but I was able to get enough Coke Zero to keep me going for the trip.
  • Went to the National Museum and the Grand Palace as a try-out run with public transit. They have two train systems, one underground and the other elevated. They’re both excellent and probably second only to the ones in Singapore.
  • The only problem with the trains, which was a consistent problem everywhere else, was the general super-cooling of full-tilt AC. Outside, it was in the mid/high-90s with a humidity of 60-80%. But go in a mall or hotel, and it’s like 64 degrees. Going back and forth between the two was disconcerting. The heat honestly wasn’t bad though, maybe because of the winds. I didn’t wear shorts the entire trip, and it felt like the heat broke quickly every night, instead of the New York or Vegas situation where triple-digit temps linger for hours and hours after the sun sets.
  • The malls were absolute madness. Ten stories tall, mazes of towers and walkways and large stores; Asian food courts and American chain food and gourmet grocery stores. The second night I ended up at this mall that had a Maserati dealership on the third floor, next to a Porsche showroom and a Lamborghini gallery. The mall itself had a supercar parking lot. Some of the stores had odd English hipster-ish names, like a clothes store called SOUP. Everything was glass and chrome and spiral walkways and indoor waterfalls and manicured trees. It looked like a 24th-century city inside.
  • I took two photo classes. The first was a walk through Chinatown with a Dutch photographer and another guy from Portugal. His work was absolutely amazing, and that was intimidating to me, because I’m way more timid about photography, and I’m mostly taking tourist snapshots. Super great teacher, but sometimes there’s a lot of value in learning what you don’t know, and that’s what happened. It was pretty awesome walking around the dark recesses of Chinatown, poking through tiny temples and cramped machine shops and bakeries and such.
  • The second class was a night class, with an instructor and a fixer, and we wandered around Chinatown and Yaowarat, the neon-lit main thoroughfare. We used a tripod and got some great long-exposure shots of the main crowded tourist drag and the tail lights passing by with the giant neon signs overhead. We also ducked into some alleys filled with hanging paper lamps and cut through the 24-hour flower market, which looked amazing.
  • Took a day-long van trip up to the Ayutthaya temples and Ayothaya floating market north of town. There were six other people, plus a driver and tour guide, and I think I was the only native English speaker, although the tour was in English. We first went to Wat Yai Chai Mongkhon, and saw the reclining Buddha. Then we went to the floating market, and then to Wiharn Phra Mongkhon Bophit. These were all cool to look at, although I didn’t get a lot of historical context, and need to look things up now. At the floating market, I ate at a noodle shop and I think it cost like $1.61.
  • Took a day trip up to the “death railway.” This is the railway built by the Japanese to Burma, as immortalized in The Bridge on the River Kwai, which is almost entirely fictitious, but the Burma Railway obviously wasn’t. I drove up to the Jeath war museum, along with three other people from Iowa and Wisconsin. After looking at the museum depicting the atrocities of the POWs being worked to death on the railroad, we got in a small speedboat and hit the Khwae Yai river and headed up to and under the bridge. This was a single-track iron bridge, and we went up and walked over it, which was slightly scary; OSHA is not a thing, and the railing was pretty minimal. After that, we caught a train going back for part of the way. This was a local third-class train half-filled with tourists, but half-filled with workers and students. The train had open windows, no AC, and just a few open-cage fans. The train wound into the mountains, past farms and across trestles, until we stopped in a camp on the river and ate lunch. I also got to walk on a trestle bridge on the side of the mountain and go in the Krasae cave, which has a small shrine in it. After we finished, our van was there waiting for us, and we headed back to Bangkok just in time for rush hour traffic.
  • Oh, in general, when I wasn’t using the metro or on a tour, I used the Grab app, Asia’s competitor to Uber. This was key, because traffic in the city is so bad. Grab rides were quick, easy, and ridiculously cheap.
  • The inevitable McDonald’s mini-review: I went the first time and just got a burger and fries, which was pretty much the standard. But I went another time and got only Thai items: a chicken bites with rice and the chicken was surprisingly spicy; some fried bread treat thing; a truffle cheese shaker thing with fries which was a neat gimmick, but any time you mess with stock McDonald’s fries, it seems wrong; and they had fried pineapple pies, which were amazing.
  • Felt a bit sick after being stuck in cars with other tourists all day, so I found a wellness spa near the hotel and got a B-12 IV treatment. The clinic was a nice little hidden oasis in a commercial area, and they do an amazing amount of treatment there, including stem cell therapy, PRP, and everything else. A Myers’ cocktail cost about a third the price it would in SF, and helped knock out the start of the cold.
  • The first big dinner was the Palmier at the Four Seasons. That hotel is beautiful, right on the river and landscaped and designed beautifully. The restaurant was… okay. Food was decent, but this was just a basic French bistro at a hotel, and not a big service-driven experience or anything.
  • The other dinner was phenomenal. I went to Sühring, a three-Michelin-star German restaurant that was absolutely insane. The Grab took me to this neighborhood that was mostly small commercial places, like printing shops, but when I went in, it felt like I was hidden away in the hills of Munich. This was a twelve-course thing and the food was excellent, but the service was absolutely over-the-top. Like before they served the Kagoshima Wagyu, they brought out a choice of knives and explained the blade steel and handle wood of each one. Or when they brought out the absolutely perfect assortment of breads, they presented the sourdough starter for inspection. Everything was absolutely excessive and incredible.
  • Every day, I would have a giant breakfast in the morning at the hotel, which was standard Western fare. Then I’d walk around in the heat and end up skipping lunch. Then dinner would, other than the above, be something dumb. Like I ate at two Gordon Ramsay chain restaurants; an IKEA; and a kind of crazy Japanese hole-in-the-wall in an alley. I did not go to Taco Bell.
  • Took the metro up north to see the Royal Thai Air Force museum. It was almost empty on a Saturday, but pretty well-kept with a nice assortment of planes. I specifically wanted to go because they have two of the O-1 Bird Dog planes my dad worked on when he was in the service (although not his exact plane) but they also had more than a few F-5s there, which they still operate. Same with the F-16. The Thai Air Force went through a crazy progression of hand-me-downs from the US, Sweden, France, Germany, and others, trainers that operated as attack aircraft, or older attack aircraft used well beyond their prime. It’s an amazing motley collection of things I normally would not see. (I.e. the Rhein-Flugzugbau RFB-400 Fantrainer is a weird one that doesn’t come up much.)
  • I was in Bangkok right before Songkran, the new year. If you saw White Lotus, you saw how this is celebrated: with squirt guns and crowds in the streets dumping buckets of water on each other. Sounds great when it’s 98 degrees outside; doesn’t sound as great when you’re hauling around camera gear. The first day of the New Year was the last day I was in town, so I did not witness any of this.
  • Speaking of, I greatly simplified my camera haul for the trip. I only brought the Canon EOS R10 mirrorless with two lenses, an Osmo Pocket 3, and my phone. I wasn’t super happy with the R10 at times, but it was much easier to haul around.
  • Trip back was through Hong Kong. I got there at 9:30 at night and had four hours, which was too short to leave and go wander, plus everything was probably closed. I think this was my sixth layover in HKG in the last 24 months, and the place is becoming far too familiar. I had an exit row but in basic economy with the most narrow seat imaginable. Also I had a bag with some Cokes in it in the overhead and a flight attendant managed to shift around the luggage and break them open, which was somehow my fault. No sleep on the way home, a very quick trip through Global Entry, and a long wait on luggage. My “day” ended about 30 hours after I woke up.

Overall, the trip was a nice break. I didn’t think of work at all, but I also did not write at all. There was no grand thesis of this, and although I saw things and learned things, there was no overwhelming catharsis like I had in Vietnam or Cambodia. I thought the trauma of the Death Railway would have some bigger effect on me, but the way it was framed or curated didn’t cause this. I shouldn’t complain. It was a great trip, but I’m struggling to fit everything together.

Still sorting out pictures, although a few have gone to Instagram. I’ll work on that, although I’m also wondering where I should be putting pictures these days. Flickr? Adobe? Anyway.

Scrivener stuff, 2026 edition

Screen-Shot-2012-03-24-at-9.20.34-AM

I write my books with Scrivener. I have since 2011. It has a daunting learning curve, and I feel like I used 10% of the features on my first book with it, and slowly gained maybe 2% per book. I’ve previously written posts here and here on tips and tricks. I’m not trying to make this a “make big money self-publishing your books!” blog, but I have a need to write this stuff down so I don’t forget it and can find it later. So, here’s another crop of answers for you. Caveat emptor: there are probably better or more preferred ways of doing this. I just beat things until they work.

OK, here we go, in no particular order.

Show the number of files in a folder in the binder

View > Outline > Show subdocument counts in binder. (There is also a View > Outline option at the top of the View menu, which is confusing.)

Show where the current scriv is in the binder

Navigate > Reveal in Binder. Or Cmd-Opt-R. Memorize that; I use it 50,000 times a day.

Exporting keywords

  1. Create a blank text document.
  2. Open the keywords (Project > Show Project Keywords, or Cmd-Shift-K)
  3. Click the first one; shift-click the last one.
  4. Drag them into the blank text document. This exports a comma-delimited text list of the keywords

Adding your own icons

  1. Go to https://www.iconsdb.com and download a 32x32px PNG.
  2. Right-click an item in the binder,
  3. Change Icon > Manage Custom Icons, and add your PNG. Note the name in the menu will be the name from the PNG, so rename the PNG accordingly.

Wordpress import

  • You can drag HTML files into the Research section of Scrivener, but not Draft.
  • After they are dragged in, they are uneditable web archives. Go to Document > Convert > Web Page to Text
  • There was a wp2epub plugin that would also do html, but it’s broken in new Wordpress versions, hasn’t been updated in 167 years.
  • Tried WP2Static for this… it was slow so I stopped
  • There was an XSL for this see https://www.literatureandlatte.com/forum/viewtopic.php?f=19&t=34656&p=223492#p223492 but it no longer works, I get errors.
  • This is horrible but you could export Wordpress to Jekyll…
  • Another option: https://wordpress.org/plugins/aspose-doc-exporter/ - couldn’t get this to work
  • wp2static - crashes
  • I might have to do this again soon, so stay tuned.

The delete comment bug

If you add a comment to some text, then remove the comment and edit the text, the hyperlink text comes back, but with no attached comment

Workaround: highlight the text, delete the comment, cut the text, then Paste and Match Style it back.

Background image

Scrivener 3 - change the background image in compose mode: Project > Project Settings > Background Images (this moved since 2)

Searches and collections

You can turn on and off viewing collections with View > Hide Collections and View > Show Collections. Normally I turn them off because it drives me nuts to have them there and waste space in the binder.

But, here’s how you use them.

  1. Do a search on the project, Cmd-Shift-F
  2. Search on something fun, like do a search on a keyword or a status
  3. Click the magnifying glass to the left of the search term again. Scroll all the way to the bottom and select Save Search as Collection.

Now, that search is going to be in the Collection part of the binder. It’s also going to be dynamic. So for example, if you have a keyword for a character (or whatever) and you save a search as a collection, that collection will enable you to quickly pull up that list of documents.

Numbering problems

This is confusing, bear with me.

Let’s say you have a book that’s three acts and a hundred scenes in each act. You want each act to have a title page, and then each scene is its own deal.

Then let’s say you want number the scenes, like with a number at the top of each one. What’s going to happen is the title page is 1, and your first scene is numbered 2, and you probably want it to start at 1, right?

  1. File > Compile
  2. Select a Format in the left column (or create a new one).
  3. In the right column, set all of the scrivs to a section type. For this example, I’m using Chapter Heading and Scene, plus Front Matter for stuff that’s not part of the book itself.
  4. Click Assign Section Layouts. Select Scene.
  5. (Tip: if you do this 19 times in a row because you keep changing this, it will always open at the first section type. You’re inevitably not editing the first section type. You open it, you’re in the first type, and it doesn’t look right, and you’re sure this stupid program burned you again. It’s because you’re in the wrong section type. Always click the right one first. This is annoying that it doesn’t persist your selection, but here we are.)
  6. Pick a layout for the Scene. Hover over it and click the pencil in the upper right to edit it. Then click Edit Layout.
  7. If you’re using a number and a title, click Title Options and in Title Prefix, put <$n:scene>. Don’t put <$n> or it will increment when the title pages are incremented.
  8. If you want only a number, don’t do that. Go to Prefix, and in the Section prefix, put <$n:scene> and center it or whatever you need to do.

Start numbering at 0

We get it, you studied computer science.

Use a placeholder <$n-1> instead of <$n>. Or <$n:scene-1>. Internally the counter is still 1, 2, 3 etc. But when you display it, you are subtracting one so it’s 0, 1, 2, etc. (It doesn’t actually modify the value of the counter. It just displays it one lower.)

Yes, Scrivener doesn’t call them variables. They’re called placeholders. If you’re searching their manual, it’s called a placeholder, not a variable. I’ll use the words placeholder and variable once again so this actually shows up in search, like it doesn’t in their manual. Placeholder=variable.

How many comments are in my document?

grep -r "Comment ID" my-book-file.scriv/Files/Data | wc -l

Let me know if any of these are helpful or blatantly wrong. Like I said, I don’t always know what I’m doing, but I’m sure I’ll need to know the same exact thing later.