Byron/pulldown-cmark-to-cmark

Empty lines and whitespace are not preserved

Open

#94 opened on Jan 6, 2025

 (5 comments) (0 reactions) (0 assignees)Rust (46 forks)auto 404
bughelp wanted

Repository metrics

Stars
 (60 stars)
PR merge metrics
 (Avg merge 35m) (1 merged PR in 30d)

Description

It appears that either pulldown-cmark or pulldown-cmark-to-cmark itself silently shrinks any number of consecutive empty lines into a single empty line, and also strips trailing whitespace. For example, for this file test.md

a     



b

When I run cargo run --example stupicat test.md I get

a

b

I see that in Options there are a number of tweaks to select the number of empty lines after a bunch of elements, but there is no option to preserve empty lines exactly as it was in the source document. (More generally I sought to preserve trailing whitespace after the end of each line as well: after the "a" above there are some spaces, but they are stripped in the output)

How easy would it be to workaround this? I mean, is this a limitation of pulldown-cmark itself (like, it throws away this information and there is no way to recover it), or just a missing feature in pulldown-cmark-to-cmark?

Contributor guide