用例
我使用 R 和 Knitr很多生成长 html 报告。报告使用 markdown #
语法包含标题。这些标题为读者的导航提供了良好的方向...
问题
...但是报告有时会变得很长。从头到尾滚动需要很长时间。报告的读者在到达相关部分之前看到所有报告内容会感到恼火。
问题
有没有办法在 Knitr 中实现折叠和展开的标题元素?
要求
- 默认情况下,标题会被折叠。只有点击标题下方的内容才会展开。这将极大地有助于使报告在外观上保持小巧,并有助于轻松快速地导航。
- 为了向读者提供状态反馈,标题应代表其状态。我根据 Wikipedia 中使用的机制推荐一些东西(见上图)。
最佳答案
您可以使用 Javascript 使元素折叠。 jQuery
JavaScript 框架通过 hide
和 show
方法使这相当容易。
在包含您的 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
版本。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" >
</script>
然后为折叠逻辑添加另一个脚本 block 。确切的实现取决于您;那里are lots of examples在互联网上。
使折叠/展开逻辑简单的关键是确保您正在操作的元素具有一致的类(或它们的 id 的模式)。
关于html - R&Knitr html输出: Create collapsing and expanding header,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20699178/