在我的文档中,我想使用```块显示一些信息,例如:
```
bruin@c7 ~ $ cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
bruin@c7 ~ $
```
对于较大的输出块,我想将它们折叠。怎么做?在网上搜索似乎所有相关主题都是关于 code 折叠的,但是我要折叠的不是任何类型的代码,只是简单的文本...
谢谢!
答案 0 :(得分:2)
这是一个很容易实现自己的方法:
您可以在以下可复制的RMD文档中找到所需的所有代码:
---
title: "Hide Verbatim Blocks"
author: "Martin Schmelzer"
date: "June 22, 2018"
output: html_document
---
<style>
.fold-btn { float: right; }
</style>
<script type="text/javascript">
$(document).ready(function() {
$(".fold").prepend("<button class=\"fold-btn\">Unfold</button>");
$(".fold").children("code").toggle();
$(".fold-btn").on("click", function() {
if($(this).text() === "Fold") {
$(this).text("Unfold");
} else {
$(this).text("Fold");
}
$(this).next("code").toggle("linear");
})
});
</script>
# Rmd file
```{fold}
bruin@c7 ~ $ cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
bruin@c7 ~ $
```
在JS部分中,我们仅向每个标记有类fold
的块添加一个按钮。之后,我们将onClick
事件添加到所有这些按钮。单击按钮后,其文本应在 Fold 和 Unfold 之间切换。并且相应的代码容器也应切换其可见性状态。打开文档时,每个标记有fold
的块都将折叠。
如何使用CSS设置按钮样式由您决定。