quantizor / markdown-to-jsx

🏭 The most lightweight, customizable React markdown component.
https://markdown-to-jsx.quantizor.dev/
MIT License
1.96k stars 169 forks source link

Double line breaks (\n\n) are not converted properly #580

Open sdeep27 opened 3 months ago

sdeep27 commented 3 months ago

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.

vincentDen commented 3 months ago

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

zaadevofc commented 2 months ago

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 🤩