当前位置: 首页 > 面试题库 >

在RMarkdown中将CSS类添加到单个代码块中

沈树
2023-03-14
问题内容

是否可以将CSS类添加到特定代码块?

假定以下文件:

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


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

我想给标记为“ cars”的块提供特定的CSS类,例如.myClass。有没有可能

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

或者?我知道黑客喜欢将整个块包装在另一个<div>。我对直接解决方案感兴趣。


问题答案:

编辑:此功能是knitr v.1.16(05/18/17)中引入的,class.source并且class.output选项将其他HTML类应用于源和输出块请参阅[knitr文档。 要添加myClass到源块:

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

启发这些class.source选项的先前答案
您可以使用fenced_code_attributespandoc的扩展名(用于向<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



 类似资料:
  • 问题内容: 我正在使用wtforms(和flask)生成动态表单。我想向正在生成的字段中添加一些自定义的CSS类,但是到目前为止,我一直无法这样做。使用在这里找到的答案,我尝试使用自定义小部件来添加此功能。它的实现方式与该问题的答案几乎完全相同: 在View中,我这样做是为了创建字段(ClassedTextField是从表单导入的,而f是基本表单的实例): 表单的其余部分均已正确创建,但此jinj

  • 问题内容: 有没有一种方法(或编辑器)可以让我从源文件(例如* .java)中链接图像/文件/ http链接,有点像富文本文档? 这样,在阅读代码时,我可以快速查看附加的图像(增强注释),而不用打开浏览器等。 问题答案: Javadocs是HTML,因此您可以在其中嵌入图片: Eclipse会很高兴在javadoc视图中或将鼠标悬停在注释上时向您显示图像。其他IDE可能会或可能不会这样做。 显然,

  • 问题内容: 我正在研究django中的模型系统如何工作,我注意到一些我不理解的东西。 我知道您创建了一个空文件来指定当前目录是一个包。并且您可以在其中设置一些变量,以便import *正常工作。 但是django添加了一堆from … import …语句,并在中定义了一堆类。为什么?这不仅会使事情看起来凌乱吗?是否有需要此代码的原因? 问题答案: 当导入包含它的包(目录)时,所有导入都可用。 例

  • 问题内容: 我正在使用一个Android应用程序,该应用程序加载HTML页面并在Web视图中显示它。问题是我想添加我的自定义CSS(加载的HTML没有任何CSS或指向CSS的链接)。如何使用jsoup将自定义css添加到HTML代码中?我无法修改html。Webview之后如何打开它?谢谢 问题答案: 几种方法。您可以用来将HTML附加到元素上。 或者,用于向现有元素添加属性。这是一个添加到所有链

  • 问题内容: 现在,我正在通过jquery加载iframe: 我有一个自定义样式表,希望将其应用于该页面。iframe中的页面不在同一域中,这就是为什么它很棘手的原因。我找到了允许您添加单个标签但不能添加整个样式表的解决方案。 编辑: 有问题的页面通过Mobile Safari 加载,因此跨域策略不适用。 问题答案: 基于解决方案您已经找到了如何将CSS应用于iframe?: 或更多jqueryis

  • 我向每个Wordpress菜单项添加了类,但它们没有出现在代码中。 我的菜单: 我的职能。php包括 所以我有 但是没有我在Wordpress管理菜单中添加的任何类。为什么呢?