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.

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, Typed from Realmac Software) and iOS (Editorial from OMZ Software, Byword from Metaclassy, and others).


Bare Bones Software’s BBEdit 10

I’ve been waiting with great impatience for BBEdit 10 to be available from the Mac App store since July 19, when I read this enticing review by Adam Engst of TidBITS. Today, Apple approved BBEdit 10 for the Mac App store, and I’ve been benefitting from the re-design and new features already. Note that BBEdit 10 requires Snow Leopard or Lion, and Intel processors.

BBEdit is a text editor. It’s the more powerful version of the excellent and free Text Wrangler. BBEdit has features that TextWrangler lacks, like very powerful tools for HTML and CSS, though I suspect BBEdit is still used largely by programmers writing code, I’ve been using BBEdit for HTML since 1997.

I spend much of my day in BBEdit, since it’s so flexible and while it’s extremely powerful, BBEdit doesn’t get in my way when I simply want to write. I now use BBEdit even when I’m not writing HTML, just because it’s so very useful. You can remove various sorts of invisible leftover binary or odd characters, you can covert to ASCII, the Search and Replace features are very powerful, easy to use, and include GREP.

The first thing I noticed is that the Preferences have been completely overhauled; they’re compact and better organized; it’s much easier to find where a particular setting lives. Some of the more obscure Preference settings have been removed from the GUI, but you can still set them via Terminal, via Help –> BBEdit Help –> Expert Preferences.

Other items have been moved to the new BBEdit Settings window; you’ll find Settings under the Application menu (that is the BBEdit menu) in BBEdit. This is where your FTP/SFTP accounts and paths (Bookmarks in BBEdit parlance) are stored, as well as Search/Replace patterns you reuse, and your HTML Sites information.

New features include support for DropBox; that means you can create an Application Support folder in DropBox and move the BBEdit folder from ~/Library/Application Support/ to ~/Dropbox/Application Support/. That way you can share your templates, text factories, snippets etc. across all the Macs on which you use BBEdit. Packages, a related new feature, makes it easy to share ancillary files with collaborators via DropBox.

Another really cool new feature is the ability to edit files from a Zip archive, including using Search and Replace, and save them back to the archive. That’s nice, but what makes it a cool new feature is that ePub (or ePUB as Adobe would have it) books are really a collection of text and HTML/CSS files in a Zip archive. BBEdit 10 can edit those files inside the Zip. That’s very very cool.

Image of the HTML palettes in BBEdit 10In terms of HTML specific new features, there’s a popover that lists the attributes of a specific tag, and which allows you to choose all the attributes for the given tag. If you control-click a tag in your document, you can choose to Edit Markup, and display the popover. For those new to BBEdit, that image to the left shows two of the BBEdit Palettes associated with HTML and CSS. There’s also an exceedingly convenient Entities palette.

The re-design of the Document Window and the addition of a Project window, which allows you to group related files together are both very interesting; I previously turned off the option for the document drawer; it annoyed me, terribly, but the new Document Window is worth a look, and the Project Window might actually save me time and help with organization, especially with the use of the Scratchpad, a global note pad that has all sorts of use in terms of cleaning up text before HTMLing it, or stashing bits of CSS.

That said, I’m Profoundly Not Happy about the absence of the Phrase palette. I miss the easy select-text-and-click access to Em and Strong, but I’m absolutely beside myself at the absence of the Cite tag. Yes, I know, it’s still there in the Markup menu, but honestly, as a book-and-scholarship writer and blogger, I need easy, efficient access to Cite.

Normally, BBEdit is $49.99. Right now, until October 20, 2011, you can buy a new license for $39.99. I note that the educational price I paid for BBEdit Pro in the 1990s and first half of this decade was between $75.00 and $90.00. Anyone who purchased BBEdit 9 after 1 January 2011 is eligible for a free upgrade. If you’re a long term user of BBEdit you can still upgrade directly from Bare Bones Software, otherwise, you can buy BBEdit 10 from the MacApp Store. I suggest, if you’re new to BBEdit and cautious, that you might want to download and use the free 30 day trial of BBEdit 10 first.


With the demise of BBEdit Lite, I’m looking for other free or under $20.00 basic HTML editors I can use with students. Taco HTML, from Taco Software is a free OS X HTML Editor. It has syntax coloring, an attractive, fairly self explanatory interface (a good thing, since there’s no built in Help). The basic HTML tags (paragraph, link, bold, italic, rules,line breaks, super and sub scipt, strikethrough) are available from a pop down “Quick Insert” menu. It supports syntax coloring, and new files open with the basic HTML tags required for any page already in place.

The Insert menu gives you access to more sophisticated tags, including Font, Image, Image Map, Table, List (ordered and unordered, but not definition), and Meta. The Insert menu also includes an Advanced Tag Insert command, which presents you with a clickable list of pretty much all the other standard HTML tags (it includes a “close tag” check box to automatically add the close tag where appropriate).

More sophisticated features include syntax coloring, a powerful multi-file Find, Code clips, which allow you to save bits of HTML (or text) and add them to a menu for convenient insertion. It also includes syntax checking, and Unicode support. There’s a nifty Color wizard in the Insert menu that either offers the hex code for a color, or lets you enter the hex code to see what color it describes. There’s also an Image Map wizard, with support for circle, polygon and rectangle slices.

Preferences, and a customizeable toolbar allow you to adjust Taco HTML to suit your person preferences, including support in the Preview command for a wide variety of browsers, and an ability to add others.

It’s an attractive, rather elegant little editor; I plan on using it for a while, but I think I can recommend it to students or others learning HTML on OS X, or those who want a good editor that’s affordable and not bloated. I wish it the developer had included spell checking (perhaps implementing the spell check so that it ignored any text between angles brackets).

The Demise of BBEdit Lite

Bare Bones software, makers of excellent Mac software, have retired the free BBedit Lite text editor. I initially learned to create HTML files using BBedit Lite, which was a truly “bare bones” text editor, with no HTML tools per se but excellent tools for working with ASCII files. I’ve long since upgraded to BBEdit, now at version 7.0.2 with all sorts of nifty tools for HTML and CSS, and Perl and just about everything else you’d want, as well as great ASCII and Unicode tools.

BBEdit lite was retired today in deference to Bare Bone’s latest product, TextWrangler, which features a reduced feature compared to BBEdit , and a reduced price, at $49.00. I’ve not looked at it yet (I will) but I’m very disappointed in Bare Bones’ decision to drop BBEdit Lite. I am sure TextWrangler is nifty, but it’s too much money for me to ask students to pay while they learn to write HTML. BBEdit lite was perfect for that, and better than than SimpleText. BBedit “Pro” as it used to be called is fabulous, but not really affordable or appropriate for my students. I’ll look around for something else since I wanted to use BBEdit Lite next quarter.

Arachnophilia, my preferred free tool for writing HTML on Windows is now a Java app; I’ll keep on eye on it to see when it starts being Mac friendly. And the excellent Dorie Smith has a list of “Budget Web Software” here, though it’s a bit out of date, it’s still useful. Then there was a long discussion of HTML editors for beginners a while ago up at MacInTouch. But BBedit Lite really was perfect, and I’m seriously dissappointed at Bare Bones decision to drop it.

Update: here

Text Tools for HTML

I’m old fashioned in a lot of ways. I use a text editor, BBEdit 6.5, to be precise, for my HTML (and for javascript and perl). There’s a version of BBedit, BBedit Lite, that’s free, and supports OS 9.x and OS X, and I started with it. My friend Nicholas Urfé swears by TexEdit Plus accompanied by Dean Allen’s Scripted Writing for the Web AppleScripts (yes, Apple Script is Mac only–including Mac OS X). I have them both on my list of things to look at.

But if I weren’t one of the fortunate users of the blessed Celtic computer, I’d use Arachnophilia by Paul Lutus for html under Windows. He’s announced that he’s rewriting Arachnophilia in Java2, to make it platform neutral because it “is immoral to write programs that only run on Windows.” That’s right—he’s asking users to boycott Microsoft. The new version of Arachnophilia is still CareWare.