Skip to content

How it's made: Watch/Star/Fork

I thought I'd write a bit about my awkward but workable flow for adding several dozens of links to each Watch/Star/Fork edition, and my usage of bookmarks in general.

From many inboxes to one

So, out of the two available types of people, I am a bookmark person. The only time I have more than a dozen tabs open is while I research something, and even that dissipates as quickly as I ⌘-clicked my way there.

Firefox has the best ergonomics for bookmark people, so that's where I hang out most. Whenever I see something interesting and/or potentially useful, I drag & drop the tab onto my bookmarks toolbar, which has little bins for sorting everything neatly. If it's something I feel belongs here, I drop it in the wsf folder.

Before, if an online service had some sort of star/like/favorite/upvote function that gets saved and attached to my profile, I'd use it to bookmark things I wanted to get back to later. But with so many inboxes, I'd rarely actually revisit them, so I've started to direct everything towards actual bookmarks.

To get the data out of the various places in the weird de facto standard bookmark format, I employed a variety of tools, some of which — hred and nbf — I wrote for the purpose. The nbf repository page collects a few recipes for things like GitHub stars or NetNewsWire favorites.

As a grand final gesture I tried removing my historical "bookmarks" from these services, with whichever method seemed quicker. I mostly succeeded, save for a few minor incidents involving GitHub stars (where a kind person from GitHub support fixed a lingering star count) and unreachable Twitter likes. Oops!

I now use temporary Twitter likes to show my interest & appreciation, but once a week I'll go through them, bookmark any useful links, and then reset everything. (I know there's the separate Bookmarks feature in Twitter, but I prefer to send a little signal of gratitude.) And with the new system in place, my GitHub stars page is always empty.

Safari's Reading List as syncing tool

To sync bookmarks between my phone and my laptop I use, out of all the possible technology available in the year 2021, Safari's Reading List. A bit like in this funny, insightful tweet I saw on my timeline today:

my toxic designer trait is using the rectangle tool to make boxes in order to measure spacing between objects instead of using any sort of built-in measuring/ruler/guide tool the hardworking developers have made for me

@sievish on Sep 10, 2021

The rationale is simple: all apps on my phone that deal with web pages (Safari, NetNewsWire,, etc.) have access, directly or indirectly, to the Add to reading list action from the iOS sharing panel, so it's just a convenient, mostly reliable way to add things to a single inbox that then shows up on my laptop without me needing to configure or install anything extra.

One snag I have with this setup is that Safari sometimes decides, out of the blue and without indication, to stop saving web pages to the Reading List. I haven't traced the reason behind it, and it's been an issue for a number of years now, but it usually fixes itself in a couple of days (not exactly sure how), and I'm not too precious about the odd bookmark going missing here and there. But just so you know.

From macOS Safari to Firefox is a short trip: nowadays Safari provides an Export bookmarks function that includes the Reading List, and before that I used to maintain a little tool to extract the bookmarks from Safari's Bookmarks.plist file.

From bookmark to Markdown

The last leg of the journey from browser tabs to blog post is turning the wsf bookmarks folder into the Markdown that powers this site.

As I mentioned earlier, Firefox has great affordances around bookmarks. One of them is being able to Right-click → Copy or drag & drop entire folders. Pasting a folder into Clipboard inspector, it transpires that Firefox puts into the clipboard, as the text/html entry, actual, honest-to-goodness HTML (in the Netscape Bookmark Format), similar to what you'd get if you used the Export bookmarks to HTML function.

On the other hand, there several online one-page tools to convert HTML to Markdown; I've settled on Turndown, which works nicely with the default settings. There's a small hoop to jump through: when you paste a Firefox folder into Turndown's <textarea> element, it gets the text/plain clipboard entry. I've submitted a pull request to grab the text/html data when it exists, but in the meantime I use Clipboard Inspector's Copy as plain text function.

One thing I still do by hand is add the authors' names next to each link, but I'm glad I get at least a head start on all of the title/link pairs.