Как использовать Docker для конвертации Rmarkdown в HTML? - PullRequest
0 голосов
/ 15 мая 2019

Как преобразовать следующие test.rmd, используя Docker, в вывод в виде .html документа?

Я не могу найти короткий и простой пример здесь, не требуя установки RStudio в док-контейнере.

test.rmd

---
title: "Test"
author: "John Doe"
date: "5/15/2019"
output:
  html_document:
    theme: lumen
---

## R Markdown

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

## Scatter Plot

```{r}
library(ggplot2)

ggplot(mpg, aes(displ, hwy, colour = class)) + 
  geom_point()
``

1 Ответ

2 голосов
/ 16 мая 2019

Вот ответ для вас (с двумя исправлениями / изменениями), основанный на контейнере Rocker, который я сделал для Rmd и который я имел локально. Это довольно минимально: R плюс rmarkdown плюс полный стек LaTeX (этот аспект имел для меня значение, возможно, не для вас) и немного больше, но ggplot2. Вы можете загрузить его со стандартной docker pull rocker/r-rmd из учетной записи Rocker в Docker Hub .

Мне пришлось внести два изменения в ваш Rmd-файл. Во-первых, я добавил недостающую третью метку в последней строке. Затем мне также пришлось удалить тему просвета. Это может прийти из другого пакета - я не помню. После этого следующая команда добивается цели (и ваш пример - сохранить как file.Rmd):

docker run --rm -ti -v${PWD}:/work -w/work \
    rocker/r-rmd Rscript -e 'rmarkdown::render("file.Rmd")'

Вывести журнал на мой ящик

edd@rob:~/git/stackoverflow/56157292(master)$ docker run --rm -ti -v${PWD}:/work -w/work rocker/r-rmd Rscript -e 'rmarkdown::render("file.Rmd")'


processing file: file.Rmd
  |................................                                 |  50%
  ordinary text without R code

  |.................................................................| 100%
label: unnamed-chunk-1

output file: file.knit.md

/usr/bin/pandoc +RTS -K512m -RTS file.utf8.md --to html4 --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash+smart --output file.html --email-obfuscation none --self-contained --standalone --section-divs --template /usr/lib/R/site-library/rmarkdown/rmd/h/default.html --no-highlight --variable highlightjs=1 --variable 'theme:bootstrap' --include-in-header /tmp/Rtmp6683qu/rmarkdown-str1417442cc.html --mathjax --variable 'mathjax-url:https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'

Output created: file.html
edd@rob:~/git/stackoverflow/56157292(master)$

Рендеринг вывода

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...