Bike 2.0 (Preview 246)

I’ve had some new ideas on “markdown” and think I have a pretty good solution in this release.

First, I’ve long delayed markdown support in Bike because there’s no good mapping between Bike and the full markdown spec. Seems like it should be possible, but it’s a mess of corner cases that don’t quite work. And without a full mapping it means Bike will either loose Markdown structure or its own outline structure when editing and saving Markdown.

This was frustrating, because there is a nice clean mapping between large parts of Bike and Markdown. Solution … why didn’t I think of this sooner … “Bike Markdown”.

It’s a clean and simple mapping from Bike’s data model to something that is “mostly” markdown.

Features:

  • Looks and works like markdown, easy to send into Markdown based workflows
  • Round trips through all Bike outline states in consistent way
  • Does not store row attributes, ids, dates, etc, so not full replacement for .bike format

Compared to standard markdown some differences are:

  • Leading whitespace is always used to structure outline (no 4 spaces for code)
  • Leading # in a heading denotes that heading’s outline depth
  • No special container types, example: list can’t also contain header on same line

So now if you open a .md file in Bike… you’ll just get the plain text of that file, because Bike doesn’t understand full markdown… on the other hand if you open a .bikemd file then the markdown will be read into a Bike outline structure in a consistent way, and also written out in a consistent way.

Open to feedback on how to improve, or just bug reports.

5 Likes