External note-taking with MultiMarkdown and Metadata

So we need to be clear about a few things:

  1. Markdown and MultiMarkdown were originally intended to be engines to produce canonical HTML code. You compose using Markdown or MultiMarkdown syntax and the engines convert that to HTML. So:
    markdown code --> HTML --> render in a browser
  2. The landscape has become confused in a sense because the middle step either gets hidden or forgotten in most markdown “editors” and the last step no longer requires a browser. Viz., DayOne, Bear, etc. aren’t browsers.
  3. The usage:
    attribute: value
    in a document is not something I would consider canonical YAML (YAML is a rather more sophisticated data serialization language). The syntax used by the OP is actually part of Fletcher’s MultiMarkdown syntax spec, and just happens to look a bit like a YAML snippet. The OP has to use the multimarkdown engine in their $HTMLPreviewCommand because Gruber markdown does not recognize the attribute:value syntax. Fletcher engines ignore the lines with that format and do not output them. The intent is to use these attributes for internal tracking of document versions or the like.

I think Tinderbox is doing already exactly what it needs to do. The feature is Preview not Export. If we want to do preview-only with Markdown- or MultiMarkdown-styled text, then we use $HTMLPreviewCommand; if we want to export we use very simple templates – e.g., ^value($Text)^ and that’s that.

(@pat also recently introduced a hybrid mode between the two modes, using the Marked app.)

I also think aTbRef already explains what’s going on with ^text(plain)^.

1 Like