【发布时间】:2018-09-30 09:34:20
【问题描述】:
在为学生准备教程时,我需要一种方法来隐藏可折叠面板中的内容,单击按钮即可显示这些内容。我已经使用下面的代码让它工作了。 RMarkdown 文件如下所示:
---
title: Collapsible Panel
output:
html_document:
theme: flatly
highlight: tango
---
<p>
<a class="btn btn-primary" data-toggle="collapse" href="#collapseExample1" role="button" aria-expanded="false" aria-controls="collapseExample1">
Click For Answer
</a>
</p>
<div class="collapse" id="collapseExample1">
<div class="card card-body">
```{r}
hist(1:10)
```
</div>
</div>
渲染后是这样的:
这行得通!我还可以通过控制块选项来控制是否必须显示 代码 和/或 结果。
但是,这并不是最优的,因为所有原始 html 的代码都是混乱和丑陋的。多次复制粘贴并不理想。每次使用此代码块时,使用的 ID collapseExample1 都必须是唯一的。
有没有办法把这个块打包成一个可重用的单元,比如一个函数之类的?我正在考虑类似于 R 函数的东西,我可以在其中传递要评估的代码(或不需要评估的代码)、块选项(eval、echo、results 等)和面板的状态(打开/关闭)。
collapsible_panel(code=NULL,echo=TRUE,results="show",state="closed")
在这一点上,我有很多不清楚的问题。我可以在 R 块中运行 R 块吗?也许我需要使用子 Rmd 文件?我需要编写一些自定义 javascript 吗?
【问题讨论】:
-
另一种方法是使用标签,例如问答。
标签: r r-markdown