I tried for the first time my package monaco in a RMarkdown document:
---
title: "Monaco in Rmarkdown"
author: "Stéphane Laurent"
date: "02/05/2022"
output:
html_document:
highlight: tango
theme: lumen
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(monaco)
```
## Monaco
```{r monaco}
contents <- c(
"Select [A]",
" ,[year]",
" ,[model]",
" ....",
"",
"from",
"(SELECT ....",
"Where [year] between 2010 and 2020 and model ='1A' and [A] between 11 and 22..."
)
monaco(contents, language = "sql")
```
There's a problem with the rendering:
The body is black, and this is my fault; here is an extract of the JavaScript file I wrote:
factory: function(el, width, height) {
if(HTMLWidgets.shinyMode) {
$(".monacoWidget").addClass("mWidget");
} else {
$("body").addClass("mWidgetBody");
}
The black background comes from this CSS class, mWidgetBody. So I should not add it to the body of the document when this is a RMarkdown (or Flexdashboard) document. But how can we know that in the HTMLWidgets JavaScript file?