Amusingly, I started off last post with a topic of “interconnectedness” and then didn’t make it to actually talking about it. I’m still thinking about it, and it’ll turn up in a later post.

Meanwhile, the Minimum Viable Wirebird has ticked off a few more of Anil’s list items:

  • Checked: Handles markdown in plain text in Dropbox folders (etc.)
  • Rendered into JSON in a documented format.
  • Bootstrap-themed client
  • Browsing YouTube-style, or by category, tag, or date. (Not yet.)
  • Admin interface. (Not yet.)
  • Comments. (Not yet.)
  • Transclusion easily permitted.
  • Themes. (Not yet, but pretty trivial.)
  • API for both discovery and read/write.

JSON-LD covers a lot of the list all by itself. At least, mostly. I’m finding it has some distinct shortcomings in terms of discoverability, at least if you also want to keep things compliant with Google’s somewhat questionably-standard implementation. There’s “hasPart” and “isPartOf,” but that’s about it, and Google is kind of grumpy about what it’ll accept in those.

For instance, suppose I want to make the individual posts Articles - even though they’re structured almost identically to BlogPostings, Google won’t let you make it a hasPart of a Blog. Or a WebPage. Or anything else, as far as I can tell. BBC News simply slaps links to Articles as ListItems in a separate JSON-LD structure (which would be an entirely separate file in Wirebird) on the page - there’s no link within the JSON structure.

I suppose, since the Articles have their own pages (html and json both) which Google will find and be happy with, I’m not going to worry about it too much. I’m reasonably sure Google will poll each URL it finds, even if it’s unhappy about the hierarchy, and figure things out.