在RMarkdown中将CSS类添加到单个代码块中
是否可以将CSS类添加到特定代码块?
假定以下文件:
---title: "Untitled"
output: html_document
---
```{r cars}
summary(cars)
```
我想给标记为“ cars”的块提供特定的CSS类,例如.myClass
。有没有可能
```{r cars} {.myClass}summary(cars)
```
或者?我知道黑客喜欢将整个块包装在另一个<div>
。我对直接解决方案感兴趣。
回答:
class.source
并且class.output
选项将其他HTML类应用于源和输出块请参阅[knitr文档。 要添加myClass
到源块:
```{r cars, class.source='myClass'}summary(cars)
```
您可以使用fenced_code_attributes
pandoc的扩展名(用于向<pre>
标签添加属性,请参见此处)和一个knitr
输出hook添加类。
以下示例可以正常工作:
---title: "Untitled"
output:
html_document:
md_extensions: +fenced_code_attributes
---
```{r, include=FALSE}
knitr::knit_hooks$set(source = function(x, options) {
return(paste0(
"```{.r",
ifelse(is.null(options$class),
"",
paste0(" .", gsub(" ", " .", options$class))
),
"}\n",
x,
"\n```"
))
})
```
```{r cars, class="myClass1 myClass2"}
summary(cars)
```
编织此.Rmd
文件后,HTML
文档如下所示:
<pre class="r myClass1 myClass2"> <code>
summary(cars)
</code>
</pre>
该fenced_code_attributes
扩展是默认启用:在标准情况下,你并不需要包括线md_extensions:
+fenced_code_attributes在你的YAML
头。
我不知道是否使用更加直接的解决方案knitr
。
以上是 在RMarkdown中将CSS类添加到单个代码块中 的全部内容, 来源链接: utcz.com/qa/421485.html