att / rcloud.flexdashboard

flexdashboard from an RCloud notebook
Other
4 stars 10 forks source link

handle R chunks in markdown/rmarkdown cells the same as R cells? #8

Closed gordonwoodhull closed 8 years ago

gordonwoodhull commented 8 years ago

Currently they cause the page to blank out, which is confusing for anyone who is working with flexdashboard examples from the web or RStudio.

This can also happen if an R cell is joined into a Markdown cell.

Additionally, changing a cell from Markdown to RMarkdown causes layout issues

If possible, it would be better to concatenate all R/Markdown/RMarkdown cells sort of "blindly" and uniformly.

I admit I haven't looked deeply into the flexdashboard format to understand why these things are happening.

gaborcsardi commented 8 years ago

Currently they cause the page to blank out, which is confusing for anyone who is working with flexdashboard examples from the web or RStudio.

Is this the flexdashboard.html page? Or in the notebook?

This can also happen if an R cell is joined into a Markdown cell.

I am not sure why you would do that. As I see it, a flexdashboard notebook consists of

Additionally, changing a cell from Markdown to RMarkdown causes layout issues

Is this the flexdashboard.html page? Or in the notebook?

If possible, it would be better to concatenate all R/Markdown/RMarkdown cells sort of "blindly" and uniformly.

Sure, that's almost what is happening, but I think I skip Rmd cells. It is a 10 sec change to include them, so I'll do this later today. (Even if I think this is not a good idea. :)

gordonwoodhull commented 8 years ago

I guess it is different perceptions of what a notebook is. My view is that a notebook is always just a big chunk of interactive Markdown, and the cells are a convenience to allow executing parts of the notebook out of order, and easy rearrangement.

So the RCloud interface tries to present a notebook both as a list of cells, and as a unified document. It isn't perfect, and it isn't where we started, but that's the goal.

If you click the join command between a Markdown cell and an R cell, the R gets appended as a backtick-quoted chunk in the Markdown cell. Same result with the R cell first, except that the R chunk is prepended to the Markdown.

IMO these shouldn't have any effect on the flexdashboard output.

Also IMO pasting a bunch of markdown into a markdown cell should have the same flexdashboard output as converting it to a series of markdown and R cells.

gordonwoodhull commented 8 years ago

Thanks for rolling with me on the Rmd cells. I don't consider them to be any different from the Markdown cells, except that they use a remarkably heavyweight renderer. 😛

gordonwoodhull commented 8 years ago

Both issues were with the flexdashboard.html output.

I agree that the layout problems were probably skipping over RMarkdown cells.

I am no longer able to repro the problem with joining to plain Markdown cells, and pasting to a single Markdown cell also works fine now. So I think I must have mixed up RMarkdown with Markdown cells.

FWIW, flexdashboard.html appears to be just rmarkdown.html - if you leave off the YAML configuration, you get a decent rmarkdown rendering of the notebook with notebook layout. I don't think there's any point in advertising that, but it's something to ponder.

gaborcsardi commented 8 years ago

I changed the Rmd export to include Rmarkdown cells.

It actually includes all cell types as well, e.g. python, and assumes that they are code. E.g. a Python cell is converted to a code chunk with header {python}.

I think the frankenpage problem must be fixed in rcloud.support, by putting the HTML output in an iframe. Unless you have another idea.

So I guess we can close this issues now?

gordonwoodhull commented 8 years ago

Yep, the frankenpage problem is in rcloud.rmarkdown, att/rcloud#2338