Я разработал отчет, в котором интенсивно используются функции RMarkdown v2, особенно функция добавления классов CSS и идентификаторов в html-документы, чтобы иметь больший контроль над выводом с использованием таблиц стилей. Я хочу отправить эти отчеты в теле электронного письма. Я пытался сделать это с помощью send.mail (mailR). Согласно их файлу readme на gitgub (https://github.com/rpremraj/mailR/blob/master/README.md)
mailR в настоящее время не поддерживает разрешение встроенных изображений, закодированных с использованием схемы URI данных. Вместо этого используйте обходной путь ниже:
Во-первых, создайте HTML-файл из терминала R (здесь важно то, что параметры не включают base64_images --- см.? Markdown :: markdownHTMLOptions):
library(knitr)
knit2html("my_report.Rmd", options = "")
Теперь вы можете отправить получившийся HTML-файл через mailR ...
Проблема в том, что knit2html, похоже, все еще использует RMarkdown v1, который не поддерживает синтаксис для добавления классов css и идентификаторов в документы. Есть ли какой-либо другой обходной путь, например, с использованием rmarkdown :: render и каким-то образом проходя через параметр options? Или есть сроки, когда knitr сможет использовать RMarkdown v2?
Это можно воспроизвести следующим образом:
ExampleStyles.css
.GreenItalic {
font-style: italic;
color: green;
}
Пример.Rmd
---
output: html_document
css: ExampleStyles.css
---
# Heading { .GreenItalic }
При вязании (рендеринге) с использованием RStudio результат такой, как ожидалось. Заголовок выделен курсивом и зеленым цветом.
Для отправки по электронной почте можно использовать следующий код:
library(mailR)
library(knitr)
ReportName <- "Example"
knit2html(paste0(ReportName, ".Rmd"), options = "", styles = "ExampleStyles.css")
send.mail(from = "[email protected]",
to = "[email protected]",
subject = "Subject",
html = TRUE,
inline = TRUE,
body = paste0(ReportName, ".html"),
smtp = list(host.name = "smtp.gmail.com", port = 465, user.name = "RTestingTesting", passwd = "Password", ssl = TRUE),
authenticate = TRUE,
send = TRUE)
Однако в этом случае на выходе будет Заголовок {.GreenItalic} черным шрифтом без курсива. Насколько мне известно, это связано с тем, что knitr использует RMarkdown v1.
select all
в обработанном HTML-коде, а затем вставить его в электронное письмо? - person Paul James   schedule 11.09.2015