# MultiMarkdown Composer 4 review

Summary: I review MultiMarkdown Composer for macOS as part of my search for my preferred Markdown drafting and editing application.

Late last year, I went through a bit of a process trying to settle on a markdown editor I liked. I reviewed Ulysses and iA Writer. I liked both – a lot – but each had limitations I wasn’t altogether comfortable with.

Part of this search stemmed from the rod I’d created for my own back and partly because I was seduced by the possibilities offered by Ulysses – a great editor with a great writing experience.

In the end, I went back to what I know: MultiMarkdown Composer.

I’ve used MultiMarkdown Composer (MMC) for years. It is an inexpensive, fully-feature markdown editor for the Mac. MMC is developed by Fletcher Penny, who also created the open-source MultiMarkdown parser. MultiMarkdown is the flavour of markdown I prefer, thanks to its integration with Scrivener as well as support for things like metadata, footnotes, transclusion and tables.

MMC had other cool stuff built in, like table of contents support and CriticMarkup. However as the years went by, it languished. Updates were few – MMC 3 was in a protracted public beta. MMC 2, which was the version I bought, was dog slow – especially for large documents – and it wasn’t changing with the times.

## Enter MultiMarkdown 4

MMC 4 was released back in September 2017. When my MMC 3 beta expired I didn’t automatically purchase MMC 4. This was partly down to timing – I was preparing for Nanowrimo – and partly due to my aforementioned time with Ulysses and then iA Writer. I was also leery to upgrade thanks to some nasty bugs on launch (more on that below).

Nevertheless, MMC 4 promised to resolve my principle bone with the older versions (mainly performance) while offering new features and better support for the latest version of macOS. Its release also coincided with the developer’s year-long sabbatical from his day job, to focus on the app’s development.

So, I was prepared to give it a shot and downloaded the free version from the Mac app store.

## Developer responsiveness

But first thing’s first. When you invest in indie software it’s nice to know the developer is on board. Come to rely on an app and you want it to have longevity.

One thing I’d like to acknowledge is Fletcher’s responsiveness. When MMC 4 hit the app store it had its fair share of bugs (some quite severe). I lodged bug/crash reports and they were dealt with quickly. I’ve also interacted with Fletcher on Twitter and found him equally responsive on that platform too.

That kind of engagement impresses me and makes me confident the developer is committed to making his software a great product. I also get the impression he cares greatly for the experience for his app’s users.

The only other developer I’ve found who’s that responsive and caring is Keith Blount, the developer of Scrivener.

## A pricing model I can swallow

Now, a note on pricing.

MultiMarkdown Composer 4 bucks the odious trend of subscription pricing, choosing instead to adopt a two-tier pricing model for standard and pro-level features.

• The ability to open multiple documents at the same time,
• Printing and export support,
• Full use of the sidebar enhancements, and
• The ability to use custom editor themes (based on JSON).

The pro upgrade gives you automatic text expansion (think TextExpander), synchronised config files, historical undo and the ability to limit the depth of the TOC panel.

As it stands today, the pro upgrade doesn’t quite meet my needs. I’m down to one Mac (so I don’t need config sync) and although text expansion looks interesting I’ve already created my own system-wide snippet system for macOS. However, some of the planned pro features do interest me – particularly a Project manager, collaborative editing and selective undo. Should those features come about then I’ll very likely upgrade.

So, I upgraded to the standard version over Christmas, so bear in mind my experiences are shaped by this (slightly) limited version.

## Performance

Performance was my principle reason for upgrading and MultiMarkdown Composer 4 doesn’t disappoint. Where MMC 2 lagged something terrible once a document was longer than a few thousand words, MMC 4 is responsive and has handled everything I’ve thrown at it – including an exported copy older novel I wrote in markdown.

## User interface

Multimarkdown Composer 4 breaks from its older versions by adopting a single-window more aligned to the design ethics of Apple’s newer operating system. Gone are the floating panels and sheets of yesteryear.

MMC 4 adopts a fairly typical UI shared by many modern markdown editors on the Mac. It’s single-window UI makes use of panels, which as you’d expect can be, adjusted, collapsed or expanded as needed. They can even be swapped – but not detached.

The screenshot above shows all panels active, which I rarely use when drafting. Currently, it shows the default layout, which can be changed using the Window menu.

On the far left-hand side is Table of Contents panel which is also used for CriticMarkup and you’ll also not the search box there too.

On the far right-hand side is the reference panel, which contains a list of your references such as citations and footnotes.

Note, I discus the supporting panels in greater detail below.

### The Editor panel

The main editor is where you do your writing. As the name suggests, your writing is done in the MultiMarkdown dialect of John Gruber’s insanely popular Markdown syntax.

Note at the bottom, the Info panel which provides a real-time metrics for the number of words, characters, lines and paragraphs. The info panel can be toggled on or off as required.

The Editor can be configured using the Appearance tab in the application’s settings

The Appearance tab allows you to define default values for the theme, text size, font as well as the screen’s padding and so on.

You can also create your own theme, which I touch on below.

### The Preview panel

The Preview shows a real-time, rendering of your markdown document in HTML format. This panel can be scrolled independent of the editor, useful for referencing other parts of the document as you write.

In older versions of the application, the preview was quite sluggish with a noticeable lag in rendering the HTML. I’m pleased to report that in MMC 4 that is no longer the case, and on my 2015 MacBook Air1

The Preview panel is fully customisable using the Preview tab in the application’s settings.

You can change various behaviour, such are how and when the preview is updated and whether you want the view to synchronise with your typing.

You can also choose the theme your document is rendered in – this can also be overridden on a per-document basis using the View -> Preview CSS menu option.

And yes, you can easily create your own preview themes if you are handy with CSS.

### Keyboard shortcuts

Nothing chaps my rear like having to break my flow when I’m writing. Even though Apple computers have the best trackpads in the business, shifting from the keyboard to the mouse to activate a function sucks. Consequently, I will dismiss any editor that lacks decent keyboard shortcuts.

MMC, I’m happy to say, makes full use of keyboard shortcuts. Almost every feature of the application available at your finger tips with sane key combinations that don’t required digital gymnastics.

Using shortcuts you can toggle panels, apply inline markdown formatting, change view options and control track changes.

### Gesture support

Conversely, MMC lacks the gesture support to navigate panels like you find in Ulysses, not a deal breaker for me, but I do find it a little jarring when I swap between the two applications.

### Themes

Multimarkdown Composer comes with several themes for both the editor and the preview. As with my screenshot above, you can see that you can apply two different ones at the same time.

The preview theme is simply CSS used to render your document’s generated HTML. MMC 4 comes with four themes, Basic, CriticMarkup, GitHub and Pretentious. I’m my screenshot I’m using the GitHub theme.

The editor theme is a different animal completely. It controls the way your editor (the panel where you write) looks and unlike the preview panel is based on JSON format using simple key-value pairs to control how each element is rendered.

MMC 4 ships with half a dozen themes. In my example, I’m using Solarized Dark.

You can create your own easily enough and the format is thoroughly documented on the MMC support website. Just about every aspect of the panel window and the elements within can can customised.

## Reference and supporting panels

The standard upgrade unlocks the functionality of MMC’s supporting panels, including the table of contents (ToC), references and CriticMarkup (more on CriticMarkup below).

MultiMarkdown composer was the first markdown editor I’ve used to integrate a useful table of contents panel. In terms of functionality, it’s a lot like the Navigation panel in Microsoft Word.

The panel lists each heading of the document as a hyperlink. Sub-sections are nested under their parent heading using a collapsable tree.

I can’t overstate how useful this feature is, particular when drafting a particularly long blog post with lots of sections. Where I dinged iA Writer for cumbersome section navigation, MMC excels at breaking down large documents.

Aside from navigation, you can also use the ToC panel to restructure your document by simply dragging the elements from one position to another. This is an awesome feature, particular when you’re dealing with long documents with lots of headings.

Another thing I like about the TOC panel is the ability to navigate through the items (and thus your document) using the keyboard. Once the panel is in focus (either by mouse click or keyboard shortcut2 simple use the up and down arrows to navigate through the panel’s content.

MultiMarkdown itself is also one of the few markdown engines that can render a table of contents in the generated document. MMC has the feature built in.

Simply add the {{TOC}} directive to your document and it will be rendered in full as a unordered HTML list.

### References

The references panel is similarly useful for academic writers, or those of us who like to use footnotes3. The panel displays a list of your references. Double-clicking the item inserts the correct cross-reference link at your current insertion point using the correct markdown syntax.

## CriticMarkup

While markdown has become the de facto standard among writers writing for the web, its Achilles heel has always been collaborating with editors and reviewers. True, a power user could use a revision control system like Git, but that’s beyond the technical skill and patience of most writers and editors who’ve grown up using Microsoft Word.

CriticMarkup offers to change that, by providing a simple syntax to markup a plain-text document with comments, addition, deletions and substitutions. Where it falls short however, is it kind of sucks to write this syntax manually as I show below:


Deletion: {-- text marked to be deleted --}
Comment: {>>comment with attribution and date CB - 2018-02-08 12:40:31<<}
Highlight: {==highlighted text==}{>>CB - 2018-02-08 12:41:26<<}
Substitution: {~~ old ~> new ~~}



MultiMarkdown Composer certainly didn’t invent CriticMarkup but developer Fletcher Penny has certainly adopted the standard with aplomb. CriticMarkup support is built into the MultiMarkdown compiler and MultiMarkdown Composer takes it even further, using CriticMarkup to turn the app into a editorial powerhouse.

Buying the standard licence, unlocks the CriticMarkup panel.

CriticMarkup, gives MMC (automatic) features akin to track changes traditionally found in word processors such as Microsoft Word and Apple Pages.

Enabling the Track Changes option (View -> Track Changes), will automatically generate the syntax for you as you type.

However, there’s a slight gotcha – one that stumped me for several minutes. While enabling track changes automatically adds markup, you won’t see it action in the Preview of CriticMarkup panel unless the option is selected in the CriticMarkup settings tab.

Note the checked ‘Enable CriticMarkup Support’ if this is not selected you wont' see your changes live in the Preview or CriticMarkup panels – I should add, it’s not enabled by default CB - 2018–02–08 12:53:59.

The screenshot above shows the addition I made on the left (CriticMarkup panel) with syntax highlighting shown in both the editor (centre) and the preview (right.)

Returning the CriticMarkup settings window, you’ll also not the option to automatically accept or reject proposed changes from the preview and exported documents. You can also insert automatic comment attributes and a datestamp.

### Who is CriticMarkup for?

Realistically, a traditional editor or book publisher is not going to roll with CriticMarkup annotated markdown documents. That lot will still insist on using Word, which is remains the standard editorial tool – overwhelmingly so.

Still, CriticMarkup could still have a place in web publications which write their content in markdown and use that markdown to generate HTML either directly using a static site generator or to be imported into a content management system like Wordpress.

## Exporting

Like most markdown editors, MultiMarkdown Composer 4 offers the ability to export your text to common document formats, including Print/PDF, ePUB, OpenDocument and HTML as well as more specialised formats such as Latex and TextPack.

MultiMarkdown Composer is unique among many because the guy that built the app, also built the compiler (i.e. the bit of software used to convert markdown to the desired output).

### Quick copy export

One of the most useful features is the option to export a selected snippet or the entire whole document in a compiled format straight to the macOS clipboard. The feature is available from the Edit -> Copy As menu or by right-clicking a selection of text and choosing the format from the Copy-As option.

The supported formats include HTML, LaTex and Rich Text. You’ll note too that each option as a keyboard short, which is worth remember if you use this option frequently.

I often use the feature for sending email and importing chunks of text into Scrivener but its application can be used for a host of situations where you prefer to write in plain text/markdown but need to publish something quickly to a platform which requires formatted text.

### HTML

Given markdown is primarily used for web writing, you’d expect robust HTML support. MultiMarkdown exports to very clean HTML5.

One of my favourite features is the ability to reference an external stylesheet by referencing a URL in the document metadata like so:


CSS: http://example.com/styles.css



There’s even the option (in the Advanced Tab, pictured below) to embed the CSS into the compiled document, which is great for creating standalone documents that don’t have external dependencies.

You’ll note too in this menu the ability to include links to the MathJax and highlight.js CDNs to add mathematical diagrams and source code syntax highlighting to your exported HTML.

MMC can also read a relative link on your hard drive, however due to Apple’s sandboxing policies, you’ll be prompted to grant access to the directory containing the CSS file – the same applies for references images too.

### ePUB

ePUB is an essential part of my workflow, allowing me to carry documents to view on the go with my iPad mini, which is my preferred digital reader.

MMC produces perfectly acceptable ePUB3 files. My only criticism – and it’s a small one – is that internally the content is compiled to a single HTML file, which can reduce performance on older, less powerful e-readers. For that reason, I would suggest that for production purposes, you optimise the ePUB in an dedicated ePUB editor like Sigil before publication.

Unfortunately it doesn’t add a cover graphic. I’d like to see it render a referenced file linked from the metadata, for example:


Title: MultiMarkdown Composer Review
Author: Chris Rosser
Cover: cover.png



If you’d like to view the ePUB version of this post, click here.

### Print/PDF

Print/PDF support is basic at best and considering print/pdf support requires a paid upgrade I’m a little disappointed. Essentially what you get is a printout based on what’s in the preview panel. While it’s possible to customise the preview (using your own CSS stylesheet) there’s no means to customise headers, footers, page numbering, margins etc and you’re left to the mercy of the macOS print system.

To be honest, I get the feeling the developer never intended MMC for print production – unlike Ulysses and Ulysses which can produce excellent looking PDFs.

If print is important to you then look at using LaTeX (see below) or a third-party tool like Marked 2 or PrinceXML.

### Speciality formats

#### LaTeX

Writing in LaTeX is inhuman, but many academics, especially those dealing with lots of formula and calculations, find it essential. LaTeX is also used as an intermediate step for producing (very beautiful) PDFs for those with the patience to install and customise a full LaTeX distribution.

My own experience with this antiquated typesetting system is limited at best. My academic career ended 12 years ago and even then, I was an arts student and didn’t need to typeset formulae. As for PDFs, in this digital age I find myself creating them less and less for print-production purposes.

Still, if LaTeX is your thing, rest assured MMC has you covered.

#### Textpack

Textpack is an archival format developed to exchange markdown documents and any associated images in a zipped folder. TextPack is already supported by Ulysses, Bear Note and the aforementioned Marked 2.app.

I had high-hopes for TextPack as a delivery mechanism for my blog; I’ve even written a Python parser that sits around on my server waiting to receive a TextPack over SSH. However for some reason, MMC doesn’t conform exactly to the standard so I gave up in favour of using a simple zipped folder.

## Drafting with MultiMarkdown Composer

In my reviews of Ulysses and iA Writer, I praised both apps for their drafting chops. Each presents the user with a beautiful, almost Zen-like environment that cuts the clutter and emphasises focus.

So, how does MMC 4 compare as a drafting platform?

My initial answer is: it’s not bad out of the box, but you can make better through theming and learning the shortcuts.

Of all the markdown editors I’ve used, MMC is closest to the venerable text editor – the program you turn to when you just want to crunch text. That’s not to say its barebones or ugly – far from it – but you won’t find the Zen nirvana of Ulysses or the focused minimalism of iA Writer.

For drafting, especially very long-form writing (i.e. novels), I prefer Scrivener with its powerful organisational tools and its distraction-free mode.

MMC though is perfectly adequate for drafting mid-sized texts – like this 4000-ish word article. I wrote this whole piece in MMC, and I can’t really fault the experience. For anything less than 5000 words it’s great, which is why it’s my first choice when I’m writing for my blog.

For me, I treat MMC like a word processor for markdown: it is to markdown what Microsoft Word is to docx. And that’s okay…after all, it’s by the chap who developed the MultiMarkdown standard in the first place.

Beyond 5,000 words and I’d probably jump straight to Scrivener with it celebrated feature set for long-form documents. In this scenario, MMC 4 is where my document goes after I’ve drafted it in, and exported it, from Scrivener. MMC is where I add metadata, check my markdown syntax and prepare the document for export to various publication formats.

In this respect, I find that Scrivener and MMC 4 make natural companions. There’s been a long and healthy collaboration between the two developers to mutual benefit.

That said, there’s nothing to stop you writing in MMC. MMC can be customised quite a lot, using JSON-based themes, meaning you could easily craft an environment more akin to the writing editor in Ulysses or iA Writer.

Also, MultiMarkdown has another trick up its sleeve: document transfusion. This feature allows you combine multiple markdown documents using a simple reference as follows:

{{some_other_file.md}}


Documents references in this way will be compiled into the final output, meaning you could quite easily use MultiMarkdown to compose and build a very large project using an index file, for example:

Title: The Weaver's Boy
Author: Chris Rosser
CSS: book.css
Cover: cover.png

{{chpt_01.md}}
{{chpt_02.md}}
{{chpt_03.md}}
{{chpt_04.md}}
{{chpt_05.md}}
{{chpt_06.md}}
{{chpt_07.md}}



Each file can represent a chapter, allowing you to work on the manuscript in smaller chunks. What’s missing though is the ability to see these files in the preview – however I believe this feature is supported by the third-party Marked.app.

If the Project Management feature ever appears then presumably it would include some kind of project-level sidebar (like Scrivener’s Binder or the Library in iA Writer and Ulysses) allowing you to easily navigate the individual files from within MMC.

## What I’d like to see added

MultiMarkdown Composer 4 is a fantastic piece of software but there’s several features I’d love to see implemented. To put it bluntly, this is what it would take to make me consider using MMC as a complete drafting and editing platform, not merely a place to write blog posts and polish my small-medium markdown documents.

### Full regular expression support

For some bizarre reason, MMC doesn’t include full regex support, instead offering a bunch of pre-created patterns. Presumably this make it more accessible to beginners but I’d like to see much more on offer. If MMC wants by the text editor for markdown, then it needs more power. I shouldn’t have to switch to BB Edit just to run some regex.

### Content folding/collapsing

One feature I love about iOS markdown app, Editorial, is the ability to collapse entire sections of a document. This can make working with very large documents much easier by allowing you to focus in on the section you are editing.

### Linguistic focus

iA Writer and now Scrivener 3 have the ability to highly parts of grammar i.e: speech, nouns, verbs, etc. I find this extremely useful while editing, and given where I use MMC in my writing process, I’d love to see it adopt the feature.

### Project management

Traditionally, as with a text editor or word processor, MMC has allowed you to work only on a single document. Contrast that to Scrivener, which is a complete project environment that works on the concept of breaking a manuscript into smaller, more manageable parts and assembling them into a finished product.

I’ve already noted MultiMarkdown has the ability to stitch separate documents together using transclusion syntax. However, there’s no equivalent of Scrivener’s binder or the Ulysses/iA Writer library to manage individual documents. It doesn’t even have a file browser panel like you get with traditional text editors like Sublime Text or Gedit.

Luckily, the developer is interested in adding this feature to the pro version and needless to say I’ll be looking forward to its implementation.

## Conclusion

I gave up looking for the perfect markdown editor because I came to realise my workflow and my preferences as a writer are, and remain, imperfect. Once I accepted this, my decision became easier.

MultiMarkdown Composer 4 is not perfect. It doesn’t solve all my problems. It does however, perfectly suit the tasks I give it for a price I’m prepared to pay.

I am perfectly content with the standard upgrade for now, but will keep an eye on the development of the pro-features. Hopefully they pan out the way I want so this great piece of software can be even more useful to me.

## Support my site

If you think MultiMarkdown Composer is for you, and you’d like to support my site, please consider making your purchase using the affiliate link below.

1. Stock model with 8GB of RAM and an i5 CPU  ↩

2. Cmd 1 for left , Cmd 2 for the centre, Cmd 3 for the right–hand panel.  ↩

3. As I am wont to do.  ↩

##### Article Details

Published in Reviews

17 min read | 4043 words

##### Support my writing

If you think MultiMarkdown Composer is for you, and you’d like to support my site, please consider making your purchase using the link below.

Prefer another way to support my site?