markdown-to-jsx
markdown-to-jsx copied to clipboard
Double line breaks (\n\n) are not converted properly
If i write a text string "Hello\n\nHow are you?"
I expect:
Hello
How are you?
Instead markdown-to-jsx converts it to: Hello How are you?
I am specifically using this with a streaming response from an AI LLM which outputs line breaks as \n and usually \n\n between paragraphs but it is markdown-to-jsx is not conserving it. If I try to replace instances of \n with < br / > tag it will create the line break properly but it will break markdown elsewhere in the output.
I fixed it with the option forceInline along with the css property white-space: pre-wrap :
import MarkdownToJsx from 'markdown-to-jsx'
<span style={{ whiteSpace: 'pre-wrap' }}>
<MarkdownToJsx
options={{
forceInline: true,
}}>
{"Hello\n\nHow are you?"}
</MarkdownToJsx>
</span>
I don't really know why does this work tho
I fixed it with the option forceInline along with the css property
white-space: pre-wrap:import MarkdownToJsx from 'markdown-to-jsx' <span style={{ whiteSpace: 'pre-wrap' }}> <MarkdownToJsx options={{ forceInline: true, }}> {"Hello\n\nHow are you?"} </MarkdownToJsx> </span>I don't really know why does this work tho
thank for save my work, thats work 🤩
Unfortunately if you do forceInline: true this disables all block rendering like tables and lists. Would be good if there was a better workaround/fix