A Better Technique for Blogging and Writing – Markdown

I want to introduce you to a new method of writing for your blog that uses a different way of thinking about your content. In the blog post on the EtherealMinds Eleven Rules of Design Documentation you might remember the following rules:

  • Rule 8 – A Design never needs more than four levels of headings.
  • Rule 4 – A bullet point should always be used instead of paragraph.
  • Rule 3 – Never write a paragraph when a bullet point will do.

With this in mind, I’ve been searching for tools that allow me to do blogging with less friction. For example, when I try to write in Microsoft Word there is so much screen clutter and distraction that it’s impossible to use effectively. It wants constant fiddling and updating to keep it looking straight. And trying to paste that into WordPress is …. well, painful. I’ve been fiddling around with a markup language called MARKDOWN for quite some time. (( http://daringfireball.net/projects/markdown/ )) Intuitively, I knew that it was something that I needed but was unable to ‘grip’ how to make good use of it. More recently, I’ve been using a more developed version MultiMarkdown (( http://fletcherpenney.net/multimarkdown/ )) which is much more effective and useful for technical blog writing since it adds support for tables and references. As part of an ongoing search for better writing programs I found nvALT.†nvALT delivers in preview mode for Markdown. nvALT is a fork of an open source text editor Notational Velocity for OSX that provides very low friction note taking – it’s so easy to use that it should need no explanation. And it’s free. Everyone who is using a MAC should be using this program.

Explaining Markdown

Markdown is an attempt to “markup” text in a way that it can be interpreted into HTML. If you know much about HTML you’ll know that it looks horrendous when you have a lot of high density content. Markdown is used to provide markup for plain text that look more human. The purpose here is to explain Markdown which is very useful for blogging and updating wiki sites(( I’m a big believer in using Wiki’s for network documentation )). Let me demonstrate this rather than explain it.

Lets create a Heading and a Paragraph

markdown-1.jpg The top windows shows the text you typed, and the bottom window shows the result of that formatting. Now, instead of typing something, then selecting a style, and moving to the next line I just typed what I wanted with a simple, obvious set of tags.

Lets try some different Heading Levels

markdown-2.jpg You can see that we have three levels of heading, plus some bold and italic text. And I’ve never let my fingers stop typing. No breaks, just writing.

Bullet Points and Numbered Lists

Oh you are going to love this because this is almost the best feature. Almost. Check this out: markdown-3.jpg You can see that a simple asterix/star with a space creates a bullet point. And a number with a full stop, ANY NUMBER, creates a numbered list. You can drag the lines around and they will automatically renumber. markdown-4.jpg Now let’s get the HTML for loading into your WordPress blog with the example (with content from the next section on tables) markdown-5.jpg and now the window shows you the HTML source for that table: markdown-8.jpg And that’s exactly what you want for writing blog posts. Now you can paste that HTML directly into the WordPress window and publish your blog post.

It’s all about Plain Text

All this writing in is plain text. You can write with notepad on windows, or textedit on OSX. Or any of your favourite text editor. And the text is READABLE. Unlike HTML markup which clutters the screen and distracts you from the content. And WORD does the same thing. It’s the content that matters, not the program that creates the material. You might also want to think about how this text will look in twenty years because you will still be able to read it with any editing tool that you want.

Tables – hard in HTML, better in Markdown

So let’s look at making tables. This isn’t so easy because building HTML tables is difficult. But if you have ever worked with Wiki Markup language for documentation, you will at least be familiar with the idea. markdown-5.jpg The ‘|’ symbols show the structure of the cells in the table. When you are blogging, the theme of your WordPress blog determines what the table looks like. For example, on EtherealMind the current format of the table output looks like this. markdown-5.jpg

The EtherealMind View

Lots of people tell me that writing the content for a blog is hard. Using nvALT solves a lot of the problem by creating the HTML automatically. I’d like to see a lot more people blogging and sharing, so hopefully this gives you some advice on a better way to do it. I hope it helps. If you would like to blog on http://etherealmind.com then get in touch via contact page and lets talk about what you would like to share.

Other Posts in A Series On The Same Topic

  1. Low Level Design - Think about the next step (18th March 2011)
  2. A Better Technique for Blogging and Writing - Markdown (15th December 2010)
  3. EtherealMinds Eleven Rules of Design Documentation (16th November 2010)
  • http://www.globalconfig.net Brandon Carroll

    Haha. I’ve been working on a post similar to this. I’ve switched to markdown as well and I use a combination of Markdown in Textmate that has a bundle to convert to html as well as the Markdown plugin for wordpress. I write in Markdown using Mars Edit for the blog. And textmate for anything that I convert to PDF. I then convert to HTML using Textmate and create the PDF from PDFpen. Its a system that works well for me. Easy to edit and so on. I’ve even used Writeroom for some of my blogging just to get all the distractions out of the way. Maybe I’ll still blog my workflow. :) Great post Greg!

    • http://etherealmind.com Greg Ferro

      I’ve installed MultiMarkdown to Marsedit which gives tables and references on the preview screen which is a super help. I’l switch between MarsEdit, nvALT, BBedit and Scrivener for writing according to what I’m doing.

      For example, Scrivener for large topics where I need to gather research material and write using Markdown. Because Scrivener can export in DOC / PDF / HTML it’s a great tool for larger work.

      nvALT is best for blog posts where you have, say, less than 500 words and somewhat simpler content.

      I look to MarsEdit for inserting images and other rich context but still using Markdown there.

      So our approaches are almost identical I think.

  • http://tcam-interrupt.blogspot.com JL

    Awesome, this is just the type of thing I was loking for.

  • http://www.networklife.net Ben

    I need the same tool for Windows !
    It’s true that making the Test to HTML transformation is a wast of time and is a barrier for many bloggers.

  • http://www.idealnetworkengineer.com Rowell

    Great tool! I’ve been struggling a little with the blogging technical topics so this makes things flow a lot easier. Funny how we never get away from using plain text.

  • Pingback: OS X: Comparing Microsoft Word Documents in Kaleidoscope on Mac OS X — EtherealMind