[knitr] Correctly write markdown content to rmd intermediate on windows#7126
Merged
[knitr] Correctly write markdown content to rmd intermediate on windows#7126
Conversation
On Windows `markdown` content parsed by Quarto from .qmd file is passed to R part of code base as a single string using windows EOL (`\r\n`). Previously, using base::write() was writing an empty line between each original linebreak because it is based on `cat()` and does write linebreak for `\r` and `\n`. We need the rmd intermediate as close as possible to the input .qmd
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On Windows
markdowncontent parsed by Quarto from .qmd file is passed to R part of code base as a single string using windows EOL (\r\n). Previously, using base::write() was writing an empty line between each original linebreak because it is based oncat()and does write linebreak for\rand\n. We need the rmd intermediate as close as possible to the input .qmdOpening this PR to run tests but I believe this will be ok and this change is for the best.
Example
Take this simple .qmd
What Quarto is passing to R is this markdown content
Note the
\r\n.This would be the content of
.rmarkdownintermediate used byrmarkdown::render()- see all the new lines.I am surprised that this is has not create any issue, probably because we only
knit()using rmarkdown but still.This PR fix this on the R side by making sure we write
markdownthe right way in the .rmarkdown input file.We could also normalize
markdownto have only\nand no\r\nEOL.