Convert HTML to Markdown
One of my biggest mistakes with this blog was not finding a WordPress plugin that would allow me to write my posts with markdown; to this day I still need to write posts in "Visual" mode and then manually convert the post to HTML for "Text" mode. One of these days I want to convert existing posts to Markdown and then enable a plugin that will convert Markdown to HTML. This painful process made me ask myself: is there a way I can use Node.js JavaScript to convert HTML to Markdown? There is, and it's called Turndown by Dom Christie.
Convert HTML to Markdown with Node.jsStart by installing Turndown:
yarn add turndown
Then use Turndown's simple API to convert HTML to markdown:
var TurndownService = require('turndown'); var turndownService = new TurndownService(); var markdown = turndownService.turndown(`Title
DavidWalsh.Name is awesome!
`); /* Title ===== [DavidWalsh.Name](https://davidwalsh.name) is awesome! */
You can use the interactive Turndown demo to experiment with its capabilities. Turndown has a number of options and allows you to use filters to keep elements you believe could be at risk for improper conversion.
Most developers look for a Markdown to HTML solution so it's rate to find myself in a position to need to convert HTML to Markdown. I look forward to migrating my site's content to Markdown so that writing posts is much less stressful in the future!
Hi David,
there’s even more you can do with it!
We explored it in a hackathon:
Exporting content from Confluence using its ReST api and feed the markdown to a static site generator (like Netlify or Hapi.js).
Was quite fun :-)
Sadly I can’t share details because of work during business hours :-(
Cheers
André
Jetpack includes an option to write posts using Markdown. https://jetpack.com/support/markdown/