Anything that makes email development easier is great I guess, but have personally found MJML great for solving the issues you'd run into, and not sure I want yet another abstraction layer on top of that which makes it more limited...
This appears to be a MJML wrapper with a Markdown→HTML converter attached to it. I think generating HTML from code is easier than generating Markdown, since there are many templating tools that understand HTML escaping. And writing HTML is not that hard, especially for your typical emails, so I'm not really sure if this library would be helpful in the long run.
I like the idea of this tool, as writing Markdown for some people is probably easier than HTML. I mean, use whatever floats your boat. I like that this exists.
Also a way to use fewer standards for storage of input and created text.
Markdown is the secret winner of the AI early years.
org-mode is amazing for humans. I, as a real human and not a robot, use it every day.
Very nice. I think the kind of folks attracted to this thread might have some thoughts on a workflow I'm interested in.
When I see a news article, I want to be able to click a button on my Mac or iPhone to send the text of the article in the body of the email. Bonus points for rehosting the images from the article. And using a similar font both without carrying over any of the original external dependencies.
Normally it’s good to support the journalist but I cannot in good conscience send a link to elderly folks when this is so much safer.
Use the browser reader mode, select all, right click send email. Is it something like that you want?
At this point markdown is going to be the foundation of the entire AI web. Someone the other day showed off Markdown as a responsive frontend protocol. Now we've got email. How long until we're writing classes in markdown? We can only abstract this so far before we confuse AI more than help it.
Would love to use this - any plans for Cloudflare Workers support? Some of the node APIs you're using block it from working on Cloudflare right now.
This plus a block-based editor like editorjs would be a great addition to any custom cms.
Love everything to Markdownify :) I was just wondering, is there a Neovim/Markdown email client? Potentially using something like this? I love Neomutt, or Newsboat, and other TUIs. It would be great to have something totally on Markdown. Update: I gave it a spin [1] with Go and some of my favorite CLI's.
[1] https://x.com/sspaeti/status/2036539855182627169
There's not one that I'm aware of. Maybe it's about time there is :D
I hope .md domains do not become a security hole as Markdown raises in popularity...
That's a valid concern, especially given the confusion we saw with .zip or .mov TLDs. But from a security engineering perspective, the bigger 'Markdown hole' I worry about is injection. When we render untrusted AI output into HTML for email, the sanitization pipeline becomes critical. I'd be curious to see how this library handles potential XSS vectors during the MD-to-HTML conversion.
This reminds me of the infamous dot zip domain and the security chaos that had followed.
Great project! And if you don't mind a little workaround and some Python scripting, you can turn a regular Obsidian folder into an automatic outbox. Write markdown, drag, drop, and ship.
Nice usage of admonitions. This is a great example of how eloquent markdown can be. Still very readable while even including the markup for 'footer' and the call out code.
Which email client will stylize raw markdown itself, making the HTML step here superfluous?
It would first require a standard for Markdown. After that there would be very little stopping anyone from implementing it. I guess a MIME type for standard Markdown would also be nice.
Pretty sure I've said it before, but it would be a nice middle ground between text and all the complexity HTML+CSS brings in (if you want to compete with other HTML clients).
I am working on smth similar markdown reader for humans, not agents - https://mdview.io
Any "HTML emails" get filtered straight into the spam folder here. I think I'm not part of the target audience here.
Curious why the CLI function is `mvd` instead of `mdv`?
I like how you aren't hiding the fact this is MJML under the hood and don't layer complex abstractions over MJML spec like similar projects (cough react email cough).
The devs maintaining MJML deserve so much credit for dealing with Gmail/Outlook's monopoly bullshit and 2007 html.
Nice idea for those who manage content in markdown. I've moved away from putting emails in my codebase, but seems great for founders moving fast.
Thanks! I agree - the MJML team has laid so much groundwork and it frankly made this project possible.
templates are cool but seems too heavy to land in primary inbox
I wish people just sent plain text.
What about images, links?
Formatted text like bold or underline?
I also prefer plain text, but in most of my emails I talk about technical stuff, or I send transactional emails that require actions, in which case showing buttons is a much better user experience than plain text.
I don’t want buttons in my emails.
But they are a lot easier to see and click (accessibility, larger hit area).
You could have a larger text instead of a button, but changing font size is also HTML and not plain-text anymore.
Every MUA I've used allows the reader to set a font size, so changing font sizes is 100% a feature of plain-text emails. Then they get the link the size they need to read it correctly and it's absolutely easy to read. This here comment is pain text. Is it hard to read this link:
http://microsoft.com/
I don't think so. I certainly didn't have to resort to HTML to make that link readable and clickable.
I don’t have problems seeing and clicking normal text, thank you very much. I don’t want buttons on my emails.
I think the OP app is meant for creating transactional emails (or bulk-send emails like newsletters).
Those templates should account for all types of people and accessibility levels (including things like ADHD, where you need a big red button to click, otherwise you get overwhelmed by a block of text).
You can just send a link, and the user's client will probably highlight it even if it is plain text.
Yea, but how will they hide all the tracking URLs and base64 encoded PII from you in the email?
Using a URL shortener obviously. But you are right, if they only send plain text, they won't be able to include those 1x1 images at the bottom to track whether you have opened the email. Any sane email client blocks images by default, but whatever.
Yeah, the first example on that site doesn't need any formatting.
It just says your code is <code>
I don't. Plain text is typically formatted for 72-78 monospace characters - even if you don't want formatting, the text will look bad on any device that doesn't match IBM's 80-character punch cards from 1928.
In theory format=flowed solves that, but the same boomers that despise HTML mail also refuse to provide that accommodation, for anyone not behind a teletype.
A picture is worth a thousand words.
Plain text? Pffft.
Human language is an unnecessary abstraction, just like images.
I wish everyone would communicate in pure Binary.
"Write markdown. Ship emails." - I see a particular group of people interested in this, but they have their tools already.
I think you should probably let that group of people speak for themselves.
I'm in this "group" and see an immediate usefulness of this over what I'm doing now.