R& Knitr html输出:创建折叠和扩展标题

时间:2013-12-20 08:24:40

标签: html css r knitr

用例

我经常使用R和Knitr来生成长html报告。报告使用markdown #语法包含标头。这些标题为读者的导航提供了良好的方向......

问题

......但报道有时会很长。从头到尾滚动需要很长时间。报告的读者在到达相关部分之前看到所有报告内容后感到恼火。

问题

有没有办法在Knitr中实现折叠和扩展标题元素? Example

要求

  • 默认情况下,标题应折叠。只需单击标题下方的内容即可展开。这将极大地帮助保持报告的外观小巧,便于快速导航。
  • 为了给读者反馈状态标题,它应代表它的状态。我建议使用Wikipedia中使用的机制(见上图)。

1 个答案:

答案 0 :(得分:4)

您可以使用Javascript使元素折叠。 jQuery JavaScript框架通过hideshow方法使这一点变得相当简单。

在包含Rmd模板的文件夹中,创建一个名为script的子文件夹,并将jQuery file保存在其中。 (不必在那里,但这是一个合理的标准位置。)

Rmd文件的顶部附近添加此代码。

<script type="text/javascript" language="javascript" src="script/jquery-1.10.2.min.js">
</script>

对于Markdown,结束标记必须为on a separate line

或者,如果您的报告主要在有互联网访问权限的计算机上阅读,则可以 should使用Google托管的jQuery版本。< / p>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" >
</script>

然后为折叠逻辑添加另一个脚本块。确切的实施取决于您;在互联网上有are lots of examples

使折叠/扩展逻辑变得简单的关键是确保您操作的元素具有一致的类(或其ID的模式)。