MultiMarkdown Composer Is My Markdown Based Text Editor
In the crowded field of Markdown based text editors, MultiMarkdown Composer (Composer) is a differentiated beast. For one, it is based on MultiMarkdown or MMD. MMD is a superset of the Markdown syntax, originally created by John Gruber. It adds multiple syntax features (tables, footnotes, and citations, to name a few). In addition, it outputs to various formats including HTML, PDF (by way of LaTeX), OPML, or OpenDocument (specifically, Flat OpenDocument or ‘.fodt’, which can in turn be converted into RTF, Microsoft Word, or virtually any other word-processing format). The original Markdown only outputs to HTML.
iA Writer is another product which supports MMD, with a few tweaks.
Secondly, Composer is designed for more than the individual document creation that most of the minimalistic Markdown based writing applications specialize in. This is an application which lends itself to the production of long form documents with images, tables, footnotes and citations if you so wish. It includes math support, automatic cross-referencing, glossary entries(LaTeX), and document metadata when you need it.
Conceptually, Composer is a Markdown based text-editor for writers who want to go beyond the constraints of the Markdown designed by Gruber.
If you look at the market of text editors, the two main categories were:
- Full featured text editors like BBEdit, Sublime Text 3, TextMate, and Atom. These products through extensions and plugins have the ability to handle every flavor of Markdown that you can throw at it. These are capable but complicated beasts.
- Minimalistic Markdown based text editors like iA Writer and Byword. These products support a subset of the functions of a text editor. Geared for writing Markdown, they concentrate on providing an optimized environment for writing in Markdown syntax with keyboard commands and syntax support being the focus.
We have a new category populated by MultiMarkdown Composer. With keybindings, macros and completions, Composer is in the middle of the two categories. Not as feature rich as the archetypical text editor, but not as feature deficient as the minimalistic text editor. With a detailed system of preferences, support for MathJax and CriticMarkup, text completions, and keybindings, Composer is positioned between the two extremes. The only competitor who might challenge Composer is Typora when the later comes out of beta. However, the wait for that seems interminable.
Changes in the Workflow
Readers of the blog know that my workflow consisted of writing and editing in iA Writer and managing files in Sublime Text 3. There have been two changes to the workflow. I have given up on managing my text files through a text editor. Don't need that. The Finder does a good job of that. So, iA Writer became the mainstay of my writing. It is a great Markdown based text editor. But Composer is better at certain things and has now joined the workflow. I now write in Composer and the final edit is done in iA Writer.
Composer provides the following advantages over iA Writer:
- Composer deals with multiple open files. Thanks to its support of the system tabs feature, I can have multiple documents open in tabs in a single window. Reduces clutter and makes it possible to have multiple documents easily accessible.
- Composer is more extendible than iA Writer. In fact, iA Writer by design is not extendible at all.
- Composer supports CriticMarkup.
- Composer supports Table of Contents (TOC) in its sidebar. This makes navigation simpler for large documents. Makes it possible to change the order of sections in documents by dragging and dropping sections into the desired order.
- Typewriter scrolling can be set for the spot you desire. iA Writer doesn't let you customize this.
- Text expansions make it possible to write with less effort.
- Composer keybindings let you make changes to existing keyboard commands and add your own keyboard commands.
- Theme support makes available other options beyond dark and white.
What are the advantages of iA Writer over Composer?
- One program. You can both write and edit here. Living in one program has certain advantages.
- Narrower focus. Which means a shorter learning curve.
- Editing component. Grammar check helps people like me write a tad better.
- Less options necessarily means less tweaking.
- Swiping to access the directory structure and preview is even easier than keyboard commands.
So, I switched the writing function to Composer. I have been writing in it for about a month now and I must say that I am falling in love with the application. It feels like an application designed by a writer of Markdown. And it is. Fletcher Penny the developer is also the man behind MultiMarkdown. He designed the markup language with inspiration from Gruber and he wrote the application MultiMarkdown Composer to write in it. There are little touches across the program which make it easy to write in Markdown and it is a pleasure to live in.
What Makes Composer Special?
What does MultiMarkdown Composer version 4 bring to the genre of Markdown based text editors that make it special?
You get to see the output of the file you are working on in real time. For those of you who are new to Markdown, this will show you exactly how your finished output will look. You can use custom CSS for the preview. Additionally you can turn off the MultiMarkdown Composer preview and use Marked 2 for previewing your document.
MultiMarkdown Composer supports themes and ships with a collection of themes. You can learn how to customize or create your own themes at MultiMarkdown Composer v4 Themes.
You can also go to my github repository of Composer themes, to download the initial work in progress on an iA Writer Dark and Light theme. I am going to post themes in this repository as I finish working on them. Keep a lookout for those.
Math and Other Esoteric Elements
When you type the first part of the syntax for Markdown, the application automatically completes the pair. You can also select text and type the first character of the Markdown syntax and the application surrounds the highlighted text with your Markdown code.
This is difficult to explain, so, I am going to quote from the MultiMarkdown Composer website:
"Years ago, Nick Gravgaard created a project that provided better tabstop support for certain editors, and that concept is supported in MultiMarkdown Composer. Rather than assigning a fixed number of spaces to a tab character, or a fixed width, tabs represent “columns” of text. Contiguous lines of text are examined to ensure that the columns are wide enough to contain the text in each line. This allows you to easily see your text the way it is meant to be seen, regardless of whether you use a monospace or proportional font."
You can learn more about Elastic Tabstops.
Easy Line Shifting
Menu commands with assigned keyboard commands lets you move highlighted lines of text up/down/left/right.
Conversion Between Markdown Block Types
I don't think any of the other Markdown editors do this.
You can take any text and easily add or remove Markdown markup. You can convert any instance of Markdown formatted text to Blockquote, or a Ordered List or an Unordered List, and so on. A convenient and useful feature.
Clean Up Imported Text
Composer has a slew of commands you can use to clean up text, as well as commands to clean up the formatting of Markdown and MultiMarkdown structures. This is another feature which I haven't seen in any other Markdown editor.
Composer helps you write by providing some formatting help. If you are writing an ordered list, Composer takes care of the numbers. If it is an unordered list, the bullets are taken care of by Composer. Have a link on the clipboard? Highlight the word you want to attach to the link and press ⌘V. Turns into a formatted Markdown link.
Composer generates a Table of Contents (TOC) sidebar from the headings in your document. Clicking on a heading takes you to that section in your document. You can search/filter based on content of the heading. Most importantly, you can drag and drop headings in the TOC sidebar to rearrange your document. Reminds me of Scrivener and its Binder.
Composer goes against the accepted ethos of minimalistic text editors in its handling of preferences. Most of the competition strive, sometimes going to extraordinary lengths, to keep its preferences to a minimum.
The logic being that if you give writers things to tweak, they will tweak things and not write. Composer shows a lot more respect to writers and gives you a full set of preferences to tweak and set up your text editor the way you want. It is a window into two facets:
- Composer supports MultiMarkdown and the MultiMarkdown specification is more comprehensive than Markdown.
- Composer is designed for the "serious" writer. And various incantations of said "serious" writer. It supports MathJax, and syntax highlighting for code on the one hand and then also supports CriticMarkup, and Table of Contents (TOC) on the other. It is a full-featured writing environment and not just a sheet to write a blog post in. The technical writer can use it to write github readme files and the non-fiction science writer can use it to write journal articles. The blogger can write in it and the novelist can write in it. The target audience is broader for Composer than its immediate competition.
Use Your Own Theme, Font and Typewriter Scrolling Point
Composer supports themes and you have the ability to control fully the user experience of writing in it. Two things I would like to point out that I am fond of. Composer lets you use your own font. I appreciate that. I like writing in DuoSpace and having that accessible to me in my text editor makes me happy.
Composer gives you the ability to specify where exactly you want the typewriter scrolling to be situated on the page. Most applications stick it in the middle. Ulysses gives you a variable spot and Composer lets you choose the exact spot you are comfortable in. Makes it a pleasure to write in.
Smart Pairs and Title Case Capitalization
The editing preference pane shows some nice features. Smart pairs lets you type the opening character of a pair and the application completes the pair. This is something I have in Sublime Text 3 but don't have in the minimalistic Markdown editors like iA Writer or Byword. Composer also lets me apply "Title Case" capitalization to headings automatically, giving me one less thing to worry about.
Adopt MultiMarkdown or Stick to Original Markdown
Composer lets you choose to stick to the Original Markdown specifications when you are writing or adopt the full suite of MultiMarkdown.
Choose Your Syntax
You get to, in Composer, choose the nature of the syntax you want to use for bold, italic, list markers and specify the behavior of tabs. Lets you stick to the syntax you are used to and not dictate a syntax to you.
CriticMarkup is a way for authors and editors to track changes to documents in plain text. As with Markdown, small groups of distinctive characters allow you to highlight insertions, deletions, substitutions and comments, all without the overhead of heavy, proprietary office suites.
Having it included in Composer makes it accessible and usable. It is a great system for tracking changes and incorporating editor comments.
Using Marked 2 and Synchronized Scrolling
Having the ability to use Marked 2 to preview the document is much appreciated. The built in preview is great but for those of us who use Marked 2, the integration with it is a favorite feature.
Another feature which I am fond of is Synchronized Scrolling. Specially useful in long documents, it helps to be able to see the finished document exactly where I am editing.
Footers and Headers on Printout
You have the option of adding headers and footers when you are printing your document. Makes the final printout look professional and neat.
Auto Save and Versions Support
Composer auto-saves your documents. So, that is one less thing for you to be worried about.
Along with auto-save, Composer supports the built-in macOS feature of Versions. That gives you the ability to go back to any state of the document you prefer. This is a feature it shares with iA Writer.
This is the kind of feature which shows the developers intention with the product. TextExpander is an application which lets you type in little snippets which get converted into stock text you have set up. It is a product which is probably the market leader in its space. It has the added advantage of being cross platform. Supported on both macOS and iOS it makes it possible for you to have the same expansions on all your devices. Composer introduces its own implementation of text expansion. It is not as full-featured as TextExpander but it lets you share expansions between devices (when MultiMarkdown Composer comes out with its iOS iteration). Another feature which is unique to Composer.
I use basic expansions from Alfred and detailed or form-filling expansions from Keyboard Maestro. I am looking forward to building my own expansions in Composer to increase my productivity when I am using it.
This is another feature which distinguishes Composer from the rest of the competition. Custom Key Bindings and Macros gives you the ability to string multiple actions together into one keyboard command. Through tweaking the .json files, this feature lets you change the default keyboard commands built into the application. It also lets you add your own commands which are not built into the application. To get a basic idea of what is possible in Composer, check out this github repository.
History Mode Undo
Composer goes beyond the system undo feature giving you something it calls History Mode Undo. History Mode Undo allows you to move backwards and forwards even if you typed something new in the meantime. In other words, it keeps all changes to the document until the document itself is closed. This is a great feature when you are editing your document.
The pricing of Composer is explained here.
Basically, the free version is somewhat hobbled. The Standard version removes these constraints and the Pro version includes automatic text expansion, custom keyboard shortcuts and custom macros, the ability to share configuration files, History Mode Undo and the ability to limit depth in the TOC.
Areas of Improvement
Composer is a mature product which makes writing in MultiMarkdown a breeze. However, it still has some areas it can improve:
- Give us a menu choice and a keyboard command for footnote. Even a completion macro will suffice. (Update: Fletcher Penny, the developer addressed this with Key Binding To Insert Footnote at End of Text. Thank you.)
- The help files need to be updated. There are elements presented which are not there in the application any more. For instance, the Assistants Preferences.
- Built in the grammar checking that iA Writer uses.
- History Mode Undo needs to have an UI to be perfectly usable.
This is the best Markdown based text editor in the market. If you are looking for a full-featured tool to address your text editing needs and you live in Markdown, you need to consider this product.
If you are not particularly geeky and are happy to avoid excessive customization, the Standard edition should suffice. But if the idea of total customizability along with History Mode Undo strikes you as features which you want to explore the Pro edition is recommended.
The developer provided the author with a free Pro edition for efficient bug-hunting during the beta phase of this product.
Composer is recommended without reservations. It is the editor I live in.
macosxguru at the gmail thingie