Kunde21 / markdownfmt

Like gofmt, but for Markdown.
MIT License
55 stars 7 forks source link

Do not delete soft lines (optionally?) #29

Closed karelbilek closed 1 year ago

karelbilek commented 3 years ago

Currently we put together newlines. That is

foo bar
baz baz

will be formatted as

foo bar baz baz

This is basically correct.

A conforming parser may render a soft line break in HTML either as a line break or as a space.

https://spec.commonmark.org/0.29/#soft-line-breaks

However, as the spec says also,

A renderer may also provide an option to render soft line breaks as hard line breaks.

I have now saw an issue in one project where those soft lines were actually interpreted as hard lines, and this option was "on by default", so these soft lines were actually important. (Related to https://github.com/nhn/tui.editor/issues/1347 )

We can see goldmark for inspiration; goldmark has option WithHardLines for renderer; we can copy that directly almost.

karelbilek commented 3 years ago

sorry, it is WithHardWraps

https://github.com/yuin/goldmark/blob/da9729d1345128edf7c0a411b0912b61582f915b/renderer/html/html.go#L88-L89

bwplotka commented 3 years ago

Or we could actually automatically tell what max char length should it be (:

karelbilek commented 3 years ago

Taking max width and breaking on that is a different thing from preserving current lines.

Both would be fine :P

I'm now kind of busy, PR welcome :D

abhinav commented 1 year ago

Looks like this is done with #36? Should this issue be closed?

abhinav commented 1 year ago

Done in #36