New WordPress plugin offers markdown editor solution – WP Tavern

Earlier today, a new editor plugin named Markup Markdown landed in the WordPress directory. It replaces both classic editors and block editors with a Markdown solution. This is the first plugin from an author known simply as Peter, or @ peter202202.

As someone who almost always writes in Markdown, I had no hesitation in downloading, installing, and activating it. I was pleasantly surprised to find a decent editor that I liked – after at least a few tweaks.

The plugin is not complicated to use. If you are used to writing in Markdown, you just need to turn it on. There are no parameters. Markup Markdown replaces the publisher for all post types with its own.

Markup editor.

The plugin relies on the PHP Parsedown library to handle front-end output, transforming Markdown into HTML. On the backend, it uses the EasyMDE script for a JS based editor.

While I’m generally a fan of plugins with no options, this one might use a few. At the very least, users should be able to choose the publisher they prefer through their profile. On a multi-author site like The Tavern, not having this option means the plugin is a non-starter. I would also like to choose between the editors for the individual posts. It does not make sense that a block already written in blocks is edited in Markdown.

The biggest issue I encountered with the editor of the plugin was that the font size was way too small and the content area too large for comfortable writing. Therefore, I made some CSS tweaks to make it more to my liking.

WordPress editor with narrow Markdown editing canvas.
Custom CSS adjustments.

Without these tweaks, I really liked the plugin. However, the older I get, the more legible typography becomes. My eyes prefer change.

In the future, I would like to see the plugin author use at least the content width defined by the theme to define the writing area. With theme.json files becoming standard, I would also integrate styles related to typography. He doesn’t have to do much – no need to try to have a WYSIWYG experience.

An alternative would be to add some design options to configure the editor. A handful of settings would go a long way in creating a more user-friendly experience.

For the most part, I enjoyed tinkering with Markup Markdown. If it was five years ago, I would already have it on all my sites. And, it’s probably a perfect fit for many Markdown enthusiasts today.

I still prefer the overall modern post-edit screen interface. I feel like I’m traveling through time every time I meet the classic version. It’s shocking enough that I doubt I’m seriously using this plugin today. I would prefer a Markdown solution built on top of the block system.

One downside of the plugin is that it may not work with some block themes. Some rely solely on theme.json-styles generated at block level to manage their design. This means that valid HTML output not generated by the block system may be ignored.

For example, the following (image) label wrapped inside

(paragraph) goes out of layout when using Twenty Twenty-Two:

Release of the WordPress Twenty Twenty-Two theme where a large image comes out of the content on the right side of the screen.
Twenty Twenty-Two fails to contain a large image.

There is nothing wrong with HTML, and this is the standard way Markdown produces images. This error comes from the theme, not the plugin. The design does not consider large images when they are not output by a block. It’s something that almost all classic themes handle.

A theme that covers all of its bases will show the following:

Custom thematic post design that retains its content when a large image is on the page.
Custom theme that contains an image.

I love block themes, but it’s something to watch out for if you’re using one with this plugin. Most of the ones I tested didn’t handle this scenario. This same problem could affect content written in the classic era or custom HTML.

When it comes to images, the plugin sticks to pure Markdown output. It has a button to open the media library, but there is no way to insert anything other than the full size image. Alignment classes are also not available.

This last problem could be fixed if the plugin provided Parsedown Extra, a Parsedown extension that supports Markdown Extra. The specification allows “special attributes”. As someone who writes in Markdown regularly, I almost exclusively use this feature to add classes to images.

Overall, the plugin is a solid solution for those looking for a Markdown-based editor. As this is a 1.x version, I can’t wait to see where this evolves.

Esther L. Gunn