html-to-mrkdwn-ts is a fast HTML to Slack flavored markdown converter.
<yarn|npm|pnpm> html-to-mrkdwn-ts
import htmlToMrkdwn from 'html-to-mrkdwn-ts'
const html = `
<div>
<h1>A Title</h1>
<a href="https://foo.bar">
<img src="https://foo.bar/baz.jpg" alt="baz" />
</a>
</div>`
htmlToMrkdwn(html)
// {
// image: 'https://foo.bar/baz.jpg',
// text: '*A Title*\n\n<https://foo.bar|baz>'
// }
under the hood html-to-mrkdwn-ts uses node-html-markdown so you can pass an additional options as a second argument:
htmlToMrkdwn(html, { strongDelimiter: '**' })
see available options