RFC: Markdown Parsers

As of v35, Drafts ships with two Markdown parser options MultiMarkdown (v6.2.0) and a GitHub-Flavored implementation based on the GHMarkdownParser library. These are the parsers that convert between Markdown and HTML to create previews, and export content in actions–these are not related to syntax highlighting in the editor.

In the next update, I am rebuilding my Markdown integrations. The primary goals of this update:

  1. Update MultiMarkdown to the current 6.6.3 version while also restructuring the integration to better update in the future. This should be a drop-in replacement and not create any behavior changes.
  2. Replace GHMarkdownParser with cmark-gfm, the Markdown parsing library used and maintained by GitHub. This will provide better overall compatibility and features, but will have some minor changes in the output and options available. I do not expect these will be significant.
  3. Provide more complete access to the configuration of the various options and extensions provided by these libraries, both via settings and scripting interfaces.
  4. Provide integration options through Shortcuts to use these parsers.

Drafts already exposes Markdown Settings to select your default Markdown parser, and configure common options, as well as scripting interface to override your default options for specific purposes (docs: MultiMarkdown, GitHubMarkdown).

I’m curious if there are users here who may have used these parsers in other contexts and have requests for specific features that are not currently accessible in Drafts and would be useful to expose…or other general comments on improvements that could be made to the Markdown options available in Drafts.

2 Likes

Hi Greg:

I would want full support for exporting to Atlassian Confluence. Even better would be to have an action that would create or append to a Confluence page.

Best regards

marc

1 Like

I can’t crisply tell you what I want - that isn’t there already.

I would just hope your re-architecting would make it easy to add additional parsers. (I don’t think you could/should allow users to add their own through this re-architecting, mind.)

And, in general, hurrah for applying maintenance to the parsers. (Again, no specific fixes in my mind as I write this.)