If you look through the archives of Savage Minds you will find a lot of posts that are seemingly unformatted. Most of these are by Rex, who was an early fan of Markdown, a “a text-to-HTML conversion tool for web writers” developed by John Gruber. Unfortunately, the plugin we were using to make those posts appear pretty was sucking up a lot of server resources so we disabled it until we could find something better. There are probably better options out there now, but we haven’t looked at them. I personally write my blog posts in raw HTML and never saw the advantage of learning Markdown… until now.
Before I go on, a word of warning. Usually I only write my “Tools We Use” posts about software I feel confident about. That means it is bug-free, already has all the promised features, and can be easily used even by those who are less tech-savvy (with a bit of effort). However, some (but not all) of the tools discussed in this post aren’t really ready for prime time.
So what changed? Why did I come around to Markdown (MD)? Well, the main thing for me was my discovery of FoldingText. I know a lot of academics, Rex included, really like Scrivener (“the first and only word processing program designed specifically for the messy, non-linear way writers really work”), but despite trying really hard to like it, it just never “clicked’ for me. Mainly because I don’t like how it works as an outliner. FoldingText, on the other hand, is a great outliner. Yes, the current version is still missing some important features one would expect from an outliner, but I already love it. In this post I will write a bit about why I like FoldingText so much, as well as some of the other MD tools I’ve found helpful, including a way of writing powerpoint-style presentations in MD, and a new proposed syntax for annotating documents in MD. All this and more after the fold…
What is especially useful about FoldingText is that it is ideal for taking a large chunk of unstructured text (like my reading notes or an academic paper) and turning it into an outline. For example, the following block of text:
Consuetudium lectorum Mirum est notare. Eodem modo typi qui nunc nobis videntur parum clari fiant sollemnes in futurum? Assum Typi non habent claritatem insitam est usus legentis in iis. Claritatem Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius Claritas est etiam. Nam liber tempor cum soluta. Est etiam processus dynamicus qui.
Can quickly be turned into something like this:
Consuetudium lectorum Mirum est notare.
- Eodem modo typi qui nunc nobis videntur parum clari fiant sollemnes in futurum?
- Assum Typi non habent claritatem insitam est usus legentis in iis.
- Claritatem Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius Claritas est etiam.
- Nam liber tempor cum soluta. Est etiam processus dynamicus qui.
I find that much harder to do with traditional outliners. [NOTE: It seems that the SavageMinds CSS doesn't currently support nested outlines, so this demo didn't quite come out as I expected it to...]
The second great feature of FoldingText is the ability to focus on a particular part of your outline at a time. You can do this in two ways: either by collapsing entire sections of the outline so you only see the parts you are working on, or by zooming in on a particular section, hiding everything above it in the outline hierarchy.
The third great feature of FoldingText is how it handles MD syntax. You only see the “code” when you are editing that particular block of text, the rest of the time it appears as WYSIWG. For instance, to bold text in MD, you would write
**bold** but in FoldingText you will only see the asterisks when you click on the word (or phrase) which is in bold, the rest of the time you will only see bold text. I wish all MD editors worked like this!
Finally, I’m excited about features which aren’t yet implemented in the current version of FoldingText, like the ability to add tags to items in the outline and, eventually, to then have filters that only show those items containing specific tags. My only worry about FoldingText is that it is still a bit buggy with its existing feature-set and the developer seems overly ambitious in the number of features he wishes to add. Still, as it is now, I already find it very useful. Especially when combined with Remark, which I will discuss next.
Remark describes itself as “A simple, in-browser, Markdown-driven slideshow tool targeted at people who know their way around HTML and CSS” and offers a number of great features including: MD formatting, intelligent scaling (so your slides look good no matter the resolution of your device), and support for smart phones and pads, (i.e. swipe to navigate slides). As the bit about it being for “people who know their way around HTML and CSS” suggests, it isn’t for everyone, but with a little tweaking, you can take your FoldingText outline and simply plug it into Remark to get a Powerpoint-style presentation of your slides. I know not everyone approves of Powerpoint, but sometimes you need to create some quick and dirty lecture notes and this is the fastest way I’ve found of doing so. I’m working on an AppleScript to convert a FoldingText document to a Remark HTML file. I haven’t gotten very far yet, but it should be easy enough to do.
As a result of using these tools, I’ve jumped head first into the world of MD apps for iOS and OS X. Of course, since MD is basically plaintext, you can use anything, even a command line text editor, to edit it. Still, I’m happiest when I have nice tools to work with and I thought I’d share some of my favorites below:
- Marked is an OS X app which allows you to preview MD documents as fully formatted HTML files. It allows you to customize the CSS as you like and offers numerous options for exporting the file. Even better, the preview will update when you update the document, so you can use it alongside your favorite plain text editor, including FoldingText.
- Byword is what I’m using to write this post. It is an elegant plain text editor for OS X and iOS. It does a great job of focusing your attention on what you are writing, getting rid of any other distractions. Although I prefer the OS X version. On the iPad, I use other tools (see below).
- TextDrop is a browser-based notepad app which formats files in MD, syncs with Dropbox, and works on any platform. Especially useful is the ability to search within a folder. If you are familiar with Notational Velocity, or nvALT, the concept is fairly similar.
- Notesy is similar to TextDrop, but it is an iOS app. You can configure it to sync to the same folder as TextDrop.
- Nebulous Notes is another great iOS MD editor with Dropbox integration.
- Drafts is a “text capture” app – you presented with a new blank document when you launch it, and then you can send the text you enter anywhere you like: Twitter, Facebook, email, calendar, reminder, etc. The point being that you focus on writing first, and think about what you want to do with the text afterwards. Very useful, and it supports MD formatting as well. (The latest version also lets you create “Dropbox Actions” such as appending your text to a document in Dropbox.)
- Day One is a journal application for iOS and OS X. I find this so useful for fieldwork that I was considering writing a separate blog post on it. Especially nice (for fieldworkers) is that it can send you reminders when it is time for you to write a journal entry. It also allows MD formatting, tagging, and has a neat quick-entry box that lives in your Mac menubar.
- Markdown Service Tools “is a collection of OS X Services to make creating Markdown-formatted text that much easier.” These allow you to convert MD text to formatted text in any OS X app which supports System Services. You can even assign them hotkeys.
- Markdown Here is similar to Markdown Service Tools, but designed especially for Gmail. There are plugins for Chrome, Firefox, Thunderbird and Postbox.
- Markdown Link Generator is a Chrome plugin to copy a link to the current web page in MD format. (Very useful in preparing this post!)
Using plain text files so extensively over the past few months, I recently discovered an important limitation to MD. Namely, there is no way to easily annotate documents. What I’ve been doing is using PDF PROvider on my iPad to convert plain text files to PDFs, and then annotating them in GoodReader. However, I kept thinking that it would be even better if I could do this in plain text. But adding new standards is no easy thing. You need to make sure that they don’t conflict with existing extensions to MD, and you need to make tools so that people can use them. Fortunately, just this past week, the Critic Markup Language Proposal was announced. It is very well thought out, and the next version of Marked may include support for it. I would love to see this get adopted more widely.
Finally, a word of warning. At some point in the life of an academic paper you eventually need to turn in a manuscript that is either a fully formatted PDF or Word document. I’ve discovered that moving from a MD plain text file to such a document is not an easy matter. It isn’t like LaTeX which is designed with that in mind. It was designed as quick and dirty way to write HTML in plain text, and even extensions like MultiMarkdown don’t do enough to compensate for that. I’m still experimenting with this, but so far I’ve ran into a few hiccups, like the inability to translate MD headers, blockquotes, etc. into “styles” as understood by my word-processor. Nonetheless, I still love working in MD at the early stages of writing as the simplicity of a plain text editor forces me to focus on the content of what I’m writing and not on how it appears on the page. That can come later.
UPDATE: Konrad Lawson on using Markdown and Mdpress for Presentations
UPDATE: The latest version of FoldingText (1.2) fixes most of the problems that made me hesitant to recommend it. Also, I’ve finished working on an initial draft of my AppleScript to generate Remark presentations from FoldingText. I’ve posted the script, along with documentation, to the Remark Wiki.