Rosey / markdown-draft-js

A tool to convert content created in DraftJS to markdown and vice versa.
https://rosey.github.io/markdown-draft-js/
MIT License
318 stars 69 forks source link

draft-to-markdown mistranslates spaces #150

Open Mark-Buxbaum opened 3 years ago

Mark-Buxbaum commented 3 years ago

Minor bug in draft-to-markdown: If you have a inline style that only surrounds spaces, the generated markdown misplaces the "close" token.

For example, if your text is hello there and the space in between the words hello and there has an inline-style of bold, the translated markdown is hello **there**.

I have a one-line fix for this. Add the boldfaced line below. (This fragment starts at draft-to-markdown.js:310) if (character !== ' ' && markdownToAdd.length) { markdownToAdd = markdownToAdd.filter(function(item) { return item.style.offset + item.style.length !== characterIndex }); markdownString += markdownToAdd.map(function (item) { return item.value; }).join('');

The filter keeps only the markdownToAdd elements that are not closed already.