在RStudio的预订中创建自定义块

时间:2016-03-29 19:32:41

标签: css r rstudio bookdown

我尝试使用精美的新软件包bookdown在RStudio中使用RMarkdown创建一本gitbook风格的书。请参阅here

我的问题是关于创建custom blocks。文档中有一个示例如何在CSS文件中定义块样式:

div.FOO {
  font-weight: bold;
  color: red;
} 

作者给出了一些块可能看起来像的例子。

enter image description here

AFAIK,没有关于如何使用图标定义此特定块的示例。我不太了解CSS,所以寻找我可以修改的东西。

我想像font awesome icons一样使用Leanpub创建一些特殊的侧边栏。任何有关创建此类内容的想法:

enter image description here

我想我需要复制fontawesome目录,指定包含的fontawesome css文件的路径(某处,不知道在哪里),并在我的<i>定义中使用div标记,例如,<i class="fa fa-comment"></i>。关于如何实现这一点并不明确......或者它是否可行。

1 个答案:

答案 0 :(得分:10)

感谢@Frank's tip(请参阅his solution使用本地图片),我能够提出以下建议。

我已将此添加到我的图书目录根目录中的style.css文件中,基于此SO answerthis specific example

.rmdcomment {
  padding: 1em 1em 1em 4em;
  margin-bottom: 10px;
  background: #f5f5f5;
  position:relative;
}

.rmdcomment:before {
    content: "\f075";
    font-family: FontAwesome;
    left:10px;
    position:absolute;
    top:0px;
    font-size: 45px;
 }

我从this FontAwesome cheatsheet获得了评论图标的值f075

然后我下载了CSS toolkit from FontAwesome并将font-awesome.min.css文件复制到我的图书目录的根目录中。我将以下内容添加到我的output.yml文件中(在我开始使用的模板中,style.css, toc.css已经存在):

bookdown::html_book:
  css: [style.css, toc.css, font-awesome.min.css]

最后,我使用type选项将代码块插入到我的Rmd文件中:

```{block, type='rmdcomment'}
Some text for this block. Some text for this block. Some text for this block. Some text for this block. Some text for this block. Some text for this block.
```

enter image description here