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).

 

Movabletype Spam Vulnerability

Six Apart has provided a fix for a potential Spam vulnerability in MovableType’s “Email this to a friend” feature. You can read about the fix, and download it, here.

If you haven’t already installed Jay Allen’s MT-Blacklist anti-comment spam plug-in, go here and install it at the same time as the MovableType fix.

Movable Type

I’ve moved to a new ISP/host, I’ve installed MovableType, and I’ve imported my old entries from Radio Userland. Then, I’ll take a look at configuring and customizing templates and such. In otherwords, please bear with me while I figure things out.

I used W. Kearney’s export.root, a plugin for Radio to create a text file that uses the Blogger API, a format MovableType can import. W. Kearney has instructions on his download page for using his plugin.

Next, I’ll take a look at configuring and customizing templates and such. In otherwords, please bear with me while I figure things out. Thus far, it’s been easier to install and configure MovableType than it was when I first tried Radio.

Moving to MoveableType

No, I’ve not quit blogging about Instructional Technology, I’ve just been distracted with one thing and another. I’ve returned to technical editing; one of the books I worked on, Dennis Cohen and Bob Levitus’ excellent
iLife Bible
, is out. I’ve been teaching, first composition, and now, English 10A, English Medieval and Renaissance literature, 800-1660. That’s a fair amount of blogging time right there. Secondly, I realized that I really don’t want to keep using Radio Userland. It’s just too awkward, clumsy, and crude. It has almost no real documentation, certainly not the sort you’d expect from a commercial product, it frequently fails to perform various tasks related to server communication with Userland, it’s unbelievably slow, it has an astonishingly poor interface, and it doesn’t even attempt to follow the basic HIG guidelines from Apple, or intelligent web interface design. Since I serve from my own domain, Radio really isn’t worth another $40.00 renewal fee, particularly since the support is non-existent. Userland hasn’t fixed long term bugs, and promised features from a year ago are still not implemented.

Given the elegant interfaces possible with Apple’s Cocoa tools (take a look at Nisus Writer Express, or Brent Simmons NetNewsWire, or even the somewhat quirky Mac OS X-only iBlog), I see no reason to stick with Radio. Indeed, the new Blogger supports Safari, is simple to set up, and though Blogger lacks Categories, it’s superior in every other way to Radio. Yes, I know, Blogger isn’t a news aggregator, but Radio doesn’t approach the efficiency, ease of use, and sheer elegance of NetNewsWire (which now also posts to Blogger, Bloxom, LiveJournal, and MoveableType).

I’m going to install Sixapart‘s MoveableType, and eventually, I’ll probably try Rael Dornfest’s Bloxom, which looks intriguingly spare. Then of course, I hope to be able to try Dean Allen’s interesting TextPattern, and then there’s the intriguing possibility of TypePad, also from Sixapart, the makers of MoveableType.

In the meantime, I’ll still be posting to DigitalMedievalist: Scela, and to my class blog. I’m going to be trying a new ISP as well, so wish me luck.