gpt4 book ai didi

css - 将 CSS 类添加到 RMarkdown 中的单个代码块

转载 作者:技术小花猫 更新时间:2023-10-29 10:20:20 27 4
gpt4 key购买 nike

是否可以将 CSS 类添加到某个代码块?

假设有以下文件:

---
title: "Untitled"
output: html_document
---


```{r cars}
summary(cars)
```

我想给标记为“汽车”的 block 指定一个 CSS 类,例如.myClass .有没有可能像

```{r cars} {.myClass}
summary(cars)
```

还是这样?我知道黑客喜欢将整个 block 包装在另一个 <div> 中.我对直接的解决方案很感兴趣。

最佳答案

编辑:此功能在 knitr v.1.16 (05/18/17) 中引入
class.sourceclass.output选项将额外的 HTML 类应用于源和输出 block (参见 knitr documentation)。
添加myClass来源 block :

```{r cars, class.source='myClass'}
summary(cars)
```

以前的回答启发了 class.source选项(参见 here )
您可以使用 fenced_code_attributes 添加一个类pandoc 的扩展(旨在向 <pre> 标签添加属性,参见 here )和 knitr output 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 header 。

我不知道是否有更直接的解决方案使用 knitr .

关于css - 将 CSS 类添加到 RMarkdown 中的单个代码块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37944197/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com