How I use Markdown with WordPress
There are a lot of plugins for WordPress to use MD, but most of them were too complicated for my liking. And they didn’t support GitHub’s syntax. So I ended up writing a small Rack app with Sinatra that uses Redcarpet to parse my blog posts.
- When I save a post, WP sends a POST request to my Heroku app.
- Heroku parses the data and returns it to WP
- WP saves the parsed MD into
post_contentand the raw MD into
- When I edit a post, WP grabs the content from
The Rack App
I’ve uploaded my Rack app to GitHub so you can see the whole thing, but here’s the important stuff.
As you can see the code is dead simple. It just grabs the content passed in
$_POST['markdown'] (from a PHP perspective) and returns the rendered Markdown.
All we do is override the functionality of WP to parse the post content before it is saved and grab the MD when we edit a post.
The code probably needs to be put into a plugin so it works with all themes, but I put it into my
functions.php file. It’s also important to note that the PHP is based on Mark Jaquith’s Markdown on Save.