Markdown Support in Composer

Hi,

I would like to request a new feature around Markdown. From reading the doc and this forum, there is currently some support for Markdown. However, Mailspring, like in fact most email clients, should do this slightly differently. I would argue that one of the main reasons people use and like Markdown is not that it saves some clicks and allows to write everything from the keyboard with ASCII input. That’s nice but that’s not the main thing. The key thing is that Markdown is not WYSIWYG. If you want consistently well-formatted emails that look good on the recipient side, Markdown is key. Formatting problems occur mostly in two ways:

  • Replying inline to HTML emails leading to potentially irregular fonts
  • Copy/paste into the composer window from another application

In the worst case, this can insert weird characters that do not show up in your email client but will show up on the recipient side. Examples include unexpected line breaks. Small font changes that are not easy to see in the sending client can show up as visually very different fonts on the receiving client.

So Markdown takes care of all of this by removing all “hidden” styling commands in the composing window and using only ASCII input.

The only email client that I know about that does this well is Mailmate (markdown discussion).

You need two main features for this to work:

  1. Something that converts entries (copy/paste or existing HTML from a replied-to email) to the nearest Markdown equivalent. Example: Turndown.
  2. A way to preview the email. That’s not critical since in 90% of cases the preview is somewhat self-obvious and is not needed, but there are a few cases where you want to see the result to make sure it’s what you think it is.

Thank you.


(Originally posted by ghuba on GitHub.)

(Original post had 19 upvotes.)

Please read the extensive and detailed conversation there.

Yes, please pretty please add full Markdown support to the composer. I can’t live with out it. I currently use Mailmate as my daily email app but like where things are headed with Mailspring.

1 Like

@autonomic I hope you don’t mind my asking, but would you be interested in helping implement this, either as a core feature or a plugin? (Actually, the development process is pretty much the same either way.) We have a lot on the roadmap, much of it high-priority bugfixes, so collaborative help would be a great way to move this along.

Duplicate Issues:

Hi, I just started using Mailspring and I am a bit confused about the Markdown implementation.
Only part of what makes Markdown great works :
**bold**
`code`
```
multiline code
```
what does not work :
*italic*
> quote
# Heading
(and pretty much everything else).
Why has it been implemented that way ?
Also, there is apparently no way to break out a multiline code block (if you want to insert text after it).

It’s worth mentioning, we did not implement the Markdown in the Mailspring Composer. We use SlateJS for that: https://www.slatejs.org

Hello, please remove this JS crap and use the proper standard Markdown.

1 Like