A short blog (actually started as tweet but I couldn’t do it justice in 140 characters) to let you know about a new markdown editor that caught my attention this week called Abricotine.
Here’s the rub
For those of you who are markdown aficionados, you probably follow a similar search for the ultimate markdown editor that is elegant, frictionless, distraction-free; all while being powerful, feature-rich and endlessly extensible. Yeah, seems like a good way to procrastinate. Of late I’ve bounced between Github’s Atom and Microsoft’s surprisingly nice Visual Studio Code.
Unfortunately most markdown editors fall into one of two categories:
- Too cold. An editor that you write in, that can easily preview via a keystroke/menu click by opening a second window/pane to render your markdown text as an HTML page. This is nice as it allows a straightforward writing experience which stays true to what you are typing, but it isn’t particular intuitive to preview the formatting, causes a jarring switch of focus when you do, and uses double the real-estate causing your eyes to flit between the two.
- Too hot. An editor which transforms markdown as you type, replacing the text with the formatted rich text. This saves any need to switch to a different view and seems simple for new markdown users, but the problem is you lose the formatting immediately. This approach doesn’t make much sense to me as one of the primary reason I write in markdown is its portable nature. Open, save, edit anywhere – it’s just a text file, but it retains the bare minimum markup a writer needs while still being mostly readable in it’s raw format. For example, if I just wanted a quick way to bold a word without leaving the keyboard, I’d learn how to use ctrl+B. I use markdown because it’s easier to type than enclosing HTML tags, leaves the text easy to read, while keeping the formatting separate. To me, this is where the new inline editor in WordPress gets it wrong (also, online editors take time to build up trust – gmail’s editor is about the only one I’ll not worry too much about. Even then, if it’s more than a couple of paragraphs I reach for a real text editor). See the following animated gif to see what I mean about “too hot”.
I’ve seen some editors attempt to blend these approaches although up to now I find most don’t do it well. For example Visual Studio Code, has a strange mix of providing a rendered split window, but also tries to format things in the text entry pane but is limited by the single font size. It ends up with odd results such as applying bold and italics appropriately, but not strikethrough or underscores. Headings aren’t a larger size than body text, but a different colour – mix this with f.lux in the evening when writing and you’ll think things are very odd.
This is where Abricotine seems to get the balance right. It lets you see the formatting syntax and the resulting impact inline, without trying to hide or convert the syntax. It probably looks ugly if you’re not used to markdown, but for someone that writes that way I think it’s a perfect balance.
For example, inserting images via a URL works really nicely in practice, showing the image, while still retaining the link correctly in pure markdown whenever you move the cursor over that line or copy the text somewhere (click on the image below to see it larger – normal on the left, focus on the right).
Open, lots of flavours and potential
There are lots of other markdown editors out there, but unlike most of the new high-quality options Abricotine is open source (GPLv3), cross-platform (Windows, OS X and Linux) and developed in the open on its GitHub site.
There are a few minor rough edges and feature requests I discovered during my initial trials (based on build v0.2.2). This shouldn’t detract from how useful I’m already finding this tool, but I thought I’d list them here in case anyone from the project is listening – yes, I know I should file these on their GitHub site 😉
- Spell check underlining works, but there is no suggestions provided on right-click.
- No recently opened files list.
- I’d like to see tabbed documents.
- Some preferences are only changeable via the config.json file.
- Inserting a table via a menu is great (typing/inserting separators can be tedious in markdown), but the static menu options for this presently are limiting.
- There’s a nice link to quickly view the page in your browser – it would be great to have some easily editable CSS options for its format (and the export function): https://github.com/brrd/Abricotine/issues/28.
- I’d like to see the “save as” option suggest “.md” as the file’s extension.
- The help’s homepage link still points directly to the GitHub project, not their new website.
- The “Copy as html” option is an awesome idea for quickly grabbing sections of text, but it seems to do a regular copy at the moment.
- Word count would be a nice addition.
- Support for PDF exporting via the Pandoc library would be great.
- The ability to do full screen for distraction-free writing is super nice, and I like the default limit on characters per line, but this should probably be adjustable.
- Support for Grammarly/Hemingway type functionality, or ability to seamlessly integrate with either/both would be great. Not sure if they have public APIs for this.