August 3, 2021
There's plenty of libraries out there for turning markdown into HTML, but turning HTML into markdown is trickier.
Luckily I found Turndown, which is a fantastic JavaScript library for converting HTML into markdown.
To use it, first install Turndown:
npm install turndown
And then use it:
const turndown = require('turndown')
const turndownService = new turndown()
const markdown = turndownService.turndown('<p>Hello, <strong>world</strong></p>')
Calling the .turndown()
method and passing it an HTML string will return that HTML converted into markdown syntax.
There's a bunch of documented configuration options for Turndown. When I first used it, I found that the default markdown formatting settings were a bit strange. For example, headings are outputted in the setext style (===
on the line under the heading) instead of the atx style (preceding the heading with #
).
I used these configuration options to make Turndown's outputted markdown more what I expected:
const turndownService = new turndown({
headingStyle: 'atx',
hr: '---',
bulletListMarker: '-',
codeBlockStyle: 'fenced'
})
Tufts Meal Plan Wrapped
Mar 2, 2024
Building an e-ink picture frame that displays an iCloud photo album
Jan 9, 2024
2023 in review
Jan 5, 2024
Subscribe to my newsletter for a monthly round-up of new blog posts and projects Iām working on!