Markdown and Me

As part of my determination to come up with a cleaner less keystroke-intensive workflow for all my writing, I’m taking a hard look at Markdown.

markdown_mark
Dustin Curtis’ Markdown Mark

I first heard about Markdown back in 2004. I’d been blogging for a few years, and and hand-coding HTML. I came to HTML with surface familiarity with SGML in a library and deep familiarity with WordPerfect and WordStar. I’d been following Dean Allen’s development of Textile, and using Brad Choate’s MT-Textile plug-in for MovableType. John Gruber of Daring Fireball (one of the blogs that introduced me to blogging) created Markdown (with assistance from Aaron Swartz) as a way to format text for the Web without having to delve into HTML. In 2004 Gruber wrote about Markdown:

Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).

One of the virtues of Markdown is that it is easy to use, and easy to remember. In Markdown, you use *for bold*, _ for italic_. Headings are marked by a leading *for the largest heading, **for the next size down, ***for the next level. The tags are easier to remember and shorter than those for HTML. They’re minimalist, and less likely to obscure text and slow down writing or editing.

John Gruber thoughtfully provides simple to understand Markdown syntax documentation.

When I discovered that Gruber’s Markdown Perl scripts worked with MovableType (this blog ran on MovableType then), I installed it and used it for a while. When I moved from MovableType, I stopped actively using Markdown, but I remained interested in both Markdown and Textile (and even used TextPattern Dean Allen’s CMS bases on Textile). But recently, I became much more actively interested in Markdown for a couple of reasons.

First, TidBITS, the publishers of Take Control ebooks, started  using Markdown as part of it’s work flow for creating Take Control ebooks. Next, Michael Cohen asked me to find a way to support Markdown in his WordPress Blog. He had become accustomed to writing in Markdown because of Take Control books. Secondly, publisher of The Magazine and smart tech writer Glenn Fleishman relied on Markdown format to produce The Magazine. Glenn’s enthusiasm about Markdown got me looking at Markdown much more closely than, say, learning enough Markdown to work on Wiki documents intended for internal documentation.

Why Use Markdown

  • A Markdown file is liquid data; it’s going to be easy to convert in the future, just as it is easy now to covert Markdown formatted text files to HTML, RTF, .Doc, or .PDF.
  • Markdown means fewer keystrokes than HTML. That means less keyboarding and no reaching for a palette or button to click. The longest tag I know of is three characters in a row.
  • Markdown lets you use HTML as needed, without having to do anything exotic involving obscure technical feats or escape codes.
  • Markdown may be easier to implement than HTML when writing on an iPad. At least that’s my current theory.
  • Markdown allows you to concentrate on the text as content, rather than the text as document.

Last year I wrote a long essay (eventually published by Boing Boing) that I initially drafted in Markdown, then hand-converted to HTML. I know, now, that there were better ways to do that, but I used BBEdit for the Markdown version and for the conversion to HTML, so it was relatively trivial to do. BBEdit not only fully supports Markdown as a language, it was one of the first applications Gruber provided Markdown tools for. The current version of BBEdit (11.0.2) has built in support for Markdown (including the ability to Preview Markdown files in BBEdit and customizable syntax coloring). And using Markdown in documents destined for the Web doesn’t mean I can’t simply insert any HTML I need that isn’t covered by Markdown tags.

For any markup that is not covered by Markdown’s syntax, you simply use HTML itself. There’s no need to preface it or delimit it to indicate that you’re switching from Markdown to HTML; you just use the tags.— John Gruber

If you want more BBEdit Markdown support, Watts Martin has created a nifty BBEdit Markdown Extension Package that builds on the work of John Gruber and Aaron Swartz, and adds some additional commands, not the least of which are Transformation commands to convert Markdown to HTML, HTML to Markdown, and Markdown to BBCode. There’s a catch to using Markdown in BBEdit; you have to set Markdown as a Language in BBEdit’s Preferences, and you need to use “.md” and “.mdown” as file name suffixes/extensions.

I’m going to spend a few weeks or months deliberately using Markdown as much as possible. I’ve installed Watts Martins Markdown Extension Package in BBEdit. WordPress via a Jetpack plugin supports Markdown, and there are a number of dedicated Markdown editors for OS X (Markdown Pro from RADSense Software, Mou from 25.io, Typed from Realmac Software) and iOS (Editorial from OMZ Software, Byword from Metaclassy, and others).

 

Workflow Changes

Given the release of Yosemite for OS X and iOS 8, I’m taking the opportunity to re-examine and revise my writing workflow. I write a great deal, not only books and articles for publishers, but blog posts and email. I am an Admin for a number of large Websites. Two of the Websites include not only site Admin, but Managing Editor tasks, including answering questions from readers and general user support for contributors. Both of these involves email either to individuals or to one of several private email lists. One of the Websites, Absolute Write, requres a fair amount of user / member  support, including writing (and answering) FAQs, emails, private email lists, local message systems, and the Absolute Write Website and blog.

And then there are the Websites I admin for various writers, and my own Websites.

It’s a lot of daily writing. And it’s fairly constant throughout the day (and night).

I have some workflow tools in place:

  • I use TextExpander on all my iOS and OS X devices, and it’s a huge labor and keystroke saver.
  • I use filters or “Rules” in Mail.app, but even so, I receive around 175 emails from individuals a day, and send about that many or more. ( I’m increasingly considering an alternative to mail.app, at least on iOS, just to reduce main-management frustrations.)
  • I use custom scripts and and droplets for many of my frequent tasks.

These are some of the changes I’m considering:

  • I generally draft my shorter articles and blog posts in BBEdit using HTML. I’m going to look more closely at using Markdown, especially because Markdown is thriving on iOS and BBEdit has built in support for Markdown.
  • I already use iOS a great deal for email triage (especially via my iPhone); I’d like to do more with email on iOS, especially responding to email on the iPad.
  • I’d like to try writing more of my shorter pieces on iOS. I can write longer pieces on the iPad more easily now with the Brydge + iPad keyboard.
  • I do a lot of writing in Google Docs/Google Drive, but for book-length pieces Google Docs is not optimal. I’d like to move to Apple’s Pages as my primary word processor, particularly given the newly released version of Pages with collaboration and sharing via the Web/iCloud and Pages for iOS, as well as on OS X.

I’m sure I’ll discover more ways to improve my workflow as I continue.