Using Markdown with WordPress

Since writing this article, Michel Fortin has announced that he is going to stop including WordPress plugin functionality in Markdown Extra. Click here to read a more recent article that explains how to cope with this news.

I’ve noticed that I’ve been getting hits for Markdown-related searches on Google, ever since I wrote a blog post about the browser extension called Footnotify. When I saw Footnotify I instantly knew I wanted to have that functionality on my own website, and so I started searching for a WordPress plugin that provided footnotes. Eventually, I decided that it would be worth using Markdown to achieve this effect, after seeing the footnotes on Daring Fireball, and set about getting this arranged.

The first step was finding a way to install Markdown on WordPress1. I searched on the website for an extension to do this, but couldn’t find an ‘official’ one, so I searched on Markdown-Discuss (the mailing list set up by John Gruber) to see whether I was mistaken. It turned out I was, although the plugin that I’d recommend isn’t listed on the WordPress website: since WordPress is based in PHP, and since Michel Fortin has written Markdown Extra for PHP, one can just download PHP Markdown Extra from his website and upload it to WordPress as a plugin.

A screenshot of an FTP client displaying the file path of PHP Markdown Extra in my WordPress configuration.

The process is easy. Once the zip file has downloaded, simply unzip it. You’ll be presented with a folder containing three files: two in .text format (one of the accepted file extensions for plaintext files that contain Markdown syntax) and one PHP file. I renamed the folder to php-markdown-extra and then uploaded it to my WordPress installation (the filepath is wordpress/wp-content/plugins). WordPress then sees this as a plugin, and so you’re ready to roll!

But what should you use to edit your Markdown text? Initially, I tried a Mac app for Markdown called Valletta, which didn’t impress me. One of the key features of Markdown that I adore is its ability to turn -- into — and turn 'typewriter quotation marks' into ‘typographic quotation marks’. Valletta doesn’t implement this part of Markdown, so I don’t recommend it. However, the beauty of Markdown is that it’s just plain text with specific syntax, and so you can feel free to use the plaintext editor of your choice. Personally, I flit between Textwrangler, on the Mac and Notepad++, on Windows. Both apps can be configured to highlight Markdown syntax2, and I’m actually using TextWrangler to write this post.

A screenshot of this article, being rendered by Elements, the iOS plain text editor.

Although I don’t use a specific app on my computers, I have found a rather good app on my iPhone. An iOS app by the name of Elements, it started life as a simple plaintext editor that supported Dropbox as a filesystem, but has since gained the ability to preview Markdown-formatted text and also copy the HTML generated as a result, for use in other apps.3 Elements is really good in a variety of ways: Dropbox sync is chief amongst them, but the ability to choose what file extension you give to Markdown files is also a very nice touch. It allows you to choose which folder on your Dropbox you want to synchronise4, too. Find it on the App Store here (£2.99/$4.99).

Lastly, let’s return to Footnotify. Markdown Extra allows for easy footnote creation, and Footnotify complements this brilliantly — I use both the Chrome extension and the JavaScript that provides the overlays on this blog. It will work whether you’re using Markdown on your blog directly or generating footnotes on your own. If you like what it’s doing for your browsing experience on my blog, you should definitely download it and give it a try with your own website!

I am glad that I got the desire to try Markdown because I feel it really has enhanced my writing. For me, the main benefits are the syntax, which makes certain tasks (bullet points, linking, footnotes) much easier. For the reader, the better formatted text brings something to the design of the website, whereas the footnotes mean that my frequent desire to wander off the topic is nowhere near as aggravating as it might be. I’d definitely recommend Markdown to anyone who writes online, even if it’s relatively infrequently.

  1. If you’re using, installing plugins is not possible and so this won’t apply to you — sorry! However, you can still use a Markdown app to export HTML and paste it into WordPress, so keep reading. 
  2. Notepad++ may need you to roll a user-defined language definition, but there are such things available online. There’s even this handy article on how to generate HTML from Markdown
  3. I mostly use this feature when posting to my LiveJournal, but if you’re running a blog then it will also be very useful! 
  4. I have all my text files in a folder called PlainText, named after the free editor that also syncs with Dropbox. I recommend that one, if you’re just looking for an editor without Markdown editing. Find it on the App Store here (free). 

Messages Beta on OS X: Return of the error

In my last post I described an issue I’d been having with iMessage, delivery confirmations and Messages on OS X. I fixed the issue by deactivating iMessage in the OS X client, and I thought that was the end of the issue, but I was wrong, because this morning, the same ‘Not Delivered’ messages came back with a vengeance. Now, I am a little obsessive-compulsive and these messages really annoy me,1 so naturally I wanted to get to the bottom of this once and for all.

Now, as you may or may not be aware, the Messages beta updates its dock badge to reflect the number of unread iMessages even when it’s not running. As a result of this, I decided to run the app just to doublecheck it hadn’t done anything since I had quit it the night before.

Guess what I found?

If your guess was that the app had re-enabled iMessage with my Apple ID without my permission and thus resulted in the renaissance of the issues that I thought I had fixed, you guessed correctly – well done. If this happens again, I will be forced to uninstall the Messages beta permanently!

  1. And, given that I never delete messages on my iPhone, they will continue to do so until the end of time. 

Messages Beta on OS X

UPDATE: If you’d like to find out more about the ongoing saga that is my relationship with this app, check out my follow-up post.

I’ve decided to try to make more posts on here about technology (including reviews of apps I use regularly on my iPhone and my iMac), but I have so far spectacularly failed to do so (or, indeed, to blog much at all). I should let you know, though, that I have been using Google Chrome ever since the previous entry and it’s working out great for me. Although, I must confess, recent news of Firefox’s resurgence has reached my ears and I’m glad they’re back on form and doing well.

Today I’m going to talk to you all about Messages. For those that don’t know, Messages is a free public beta currently available from Apple for OS X. As Macworld has reported, it’s the replacement for iChat, and it brings iMessage to OS X as part of Apple’s continued drive to bring iOS features ‘back to the Mac’.

The single window view in Messages for OS X.
The single window view in Messages for OS X.

Messages is great. I love the single-window interface (foreshadowed by Bjango), which is sleek and works very well.1 I’m also a massive fan of being able to send iMessages from my Mac, since typing on a real keyboard is nicer than typing on my iPhone and long iMessage conversations can be a drag. However, last night, I tried to send an iMessage from my Mac and it told me it couldn’t be delivered. I tried resending, but no dice, so I went to bed and tried to send it from my iPhone. This also gave me that red text, but the recipient, España, responded anyway, so I assumed it was just iMessage playing up. España said the same was happening to her, and so we both power cycled our iPhones and reactivated iMessage to no avail. Eventually we switched to Twitter’s Direct Message service (which is what we used for a long time before Apple invented iMessage) to avoid the annoying error messages.

Not Delivered abounds in iOS
Not Delivered abounds in iOS

Fast forward to this morning and I awake to texts from my correspondent that she was able to text a different friend of hers without issue. Now, España lives in the United States, and I am British, so I wondered whether it might be a trans-Atlantic issue. Texting two British friends promptly cured me of that notion, since messages to both were reported not delivered but were responded to with bleary-eyed questions.

The fact was that the messages had gotten through but myself and everyone I texted was having errors. Nobody else seemed to be having trouble with anybody else. This forced me to conclude that iMessage must be having issues with me, or with my Apple ID.

Then it hit me that I still hadn’t looked at Messages on OS X. I don’t have an iPad so that’s the only other place I can use iMessage, and, when I checked, no iMessages had synced with my iMac since I’d had my very first refusal of delivery. Trying to send messages to the same people from my Mac resulted in radio silence and when I followed up, not one of those messages had arrived.

The reason I was getting Not Delivered errors was because the messages weren’t being delivered. But they were failing to get to my Mac, not failing to get to the intended recipient. The reason that others were having trouble was because they weren’t getting a delivery confirmation from every device my Apple ID was registered on. Disabling my account in the Messages beta fixed the issue.

Messages for OS X is still a beta, and that shows throughout the app, whether it’s the problem outlined here or the fact that the dock badge bears no relationship whatsoever with the messages that are actually unread. Apple need to think about the best way to indicate that a message has only reached one of a recipient’s devices, since Not Delivered is an unhelpful error message when you know it’s untrue. I must confess that, right now, I’m not sure whether the obvious benefits to having iMessage available from your workstation outweigh the multiple teething problems the app has.

  1. If I’m honest, I’m not always a huge fan of single-window views: For instance, take Adium, the popular IM client for OS X based on the same open-source libraries as Pidgin. The contact list is separate which means the user can easily see who is online and who is not – this is obviously not required for iMessage, but for traditional IM services I prefer Adium’s approach. 

Google Chrome and download management

This marks the first blog entry on this website that isn’t related to fan writing, but is more about technology and my experiences with it. I want to write about my struggles with technology here, partly for my own benefit (so that, if I come across a problem again down the line, I can just look on my blog for the answer!), partly to solicit help from others, but mostly because I sincerely hope it might be interesting. Let me know what you think!

I have recently been looking at switching my default browser from Mozilla Firefox to Google Chrome. I am a Mac user, and I have two Macs – a MacBook from 2007 and an iMac from 2010, both running Mac OS X 10.7 (Lion). For some reason, on my MacBook, Firefox 5 was horrendously unstable and would regularly crash (Firefox 6 is better, but I’ve still seen the SBBOD way more than I should), and so I began to use Chrome as a solution until Firefox was updated to work properly with my MacBook. As a result, Chrome now occupies the position of default browser; Firefox no longer even resides on the Dock!

There is something making me hesitant, when it comes doing the same with Chrome on my iMac, however. I’ve been using Firefox for a long time (since before Firefox 1.0, in fact) and, before Firefox, I was a Mozilla Suite user. But the brand loyalty isn’t the problem – Chrome has impressed me enough with its adoption of Mac-like UI features to convince me to switch. It was updated with support for Lion’s full-screen mode quickly after Lion’s release, which is a Godsend on my MacBook’s 13″ screen. On my 21″ screen, as well, the fact it maximises to the content displayed (as any other Mac app would) rather than the window (which is what Firefox insists on doing) is a really nice feature. I would dearly like to take the plunge and move to Chrome, so what’s stopping me?

Well, in a word, add-ons. I have many add-ons for my Firefox browser. I have a plugin that brings Safari’s PDF reader interface over to Firefox. I have a plugin for an app called 1Password, which allows me to access all my login data for every website I visit. I have the FlashGot and NoScript plugins, which allow me, respectively, to use the download manager of my choice and block Tynt (the only reason I have NoScript). I also use the Camelizer, which allows me to see graphs of Amazon products’ pricing over time at the click of a toolbar button. And Easy YouTube Video Downloader adds download links to all YouTube videos, allowing me to easily archive content I like.

So, what does Chrome offer? Well, the 1Password team offer Chrome support, so that’s that sorted. The Camelizer isn’t available for Chrome, but their website does the same job, so that’s something I can live without. As Freddie points out in the comments, the Camelizer is available on Chrome, and the UI is actually improved over Firefox. NoScript isn’t available; but Tynt now allow you to opt out of their service from your browser, which is a little less elegant but achieves exactly the same task. Easy YouTube Video Downloader is an available Chrome extension, and I now have it installed. And Chrome has its own PDF reading feature, so I don’t need to hack in the Safari functionality as I do in Firefox.

What does this leave? FlashGot. There’s no FlashGot equivalent for Google Chrome. I currently use FlashGot to feed downloads to Speed Download from Yazsoft. Speed Download is supposed to be able to work with Google Chrome, without FlashGot. However, this involves totally uninstalling the app (using the company’s provided uninstaller) and then reinstalling it, which I dutifully did. Not only did that not fix the problem, it actually introduced a new one – the preference file on my Mac which told Speed Download it had been paid for was removed by the uninstaller, and because I purchased it in a MacHeist bundle, I could not reregister (the developer isn’t keen on those users that didn’t pay very much for his software, which does rather beg the question why he made it available in the bundle in the first place). Cue a trawl through Time Machine to find and restore the appropriate system files to their pre-uninstallation state (for the curious, if you restore com.yazsoft.SpeedDownload.plist both to /Library/Preferences and to ~/Library/Preferences, the app should be satisfied you bought it).

So, FlashGot is unavailable and Speed Download appears to be very tempramental in its support for Chrome. What does that leave me with? Well, I remembered using Leech (from ManyTricks) once upon a time, at which point I promptly Googled it. Turns out that changes in Lion and WebKit mean that, not only does it not support Chrome, but it doesn’t even support Safari any more. And, a perusal of the Speed Download forums revealed that they’re having exactly the same issue – both download managers are only compatible with Firefox at this point (through FlashGot).

So where does this leave me? Well, it means it’s almost impossible to switch to Chrome, from my perspective. I rely on my download manager, and without it I’m unlikely to switch on my desktop computer. But then, I had a stroke of inspiration – if I just put the Speed Download icon on my Dock, I can just drag links to it. This is my current solution to the lack of integration, but some download sites work in such away that this is not a perfect fix to the problem. Yazsoft say they are working on a major new release of Speed Download to get around the problems that Safari 5.1 has introduced for their app. Maybe that will mean that they introduce proper Chrome functionality, rather than the existing solution which seems only to work for a lucky few.

For now, I will be using Chrome, on a trial basis, on my iMac. If I can get by with dragging downloads to the Dock, and the lack of proper integration proves not to be too annoying, then I’ll stick with the browser and hope that Speed Download 6 features better Chrome support. It’s actually rather exciting; it’s been so long since I switched browser that it’s quite nice to have a change!