我尝试使用精美的新软件包bookdown
在RStudio中使用RMarkdown创建一本gitbook风格的书。请参阅here。
我的问题是关于创建custom blocks。文档中有一个示例如何在CSS文件中定义块样式:
div.FOO {
font-weight: bold;
color: red;
}
作者给出了一些块可能看起来像的例子。
AFAIK,没有关于如何使用图标定义此特定块的示例。我不太了解CSS,所以寻找我可以修改的东西。
我想像font awesome icons一样使用Leanpub创建一些特殊的侧边栏。任何有关创建此类内容的想法:
我想我需要复制fontawesome目录,指定包含的fontawesome css文件的路径(某处,不知道在哪里),并在我的<i>
定义中使用div
标记,例如,<i class="fa fa-comment"></i>
。关于如何实现这一点并不明确......或者它是否可行。
答案 0 :(得分:10)
感谢@Frank's tip(请参阅his solution使用本地图片),我能够提出以下建议。
我已将此添加到我的图书目录根目录中的style.css
文件中,基于此SO answer和this 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.
```