如何在 R bookdown 中逐字折叠文本(不是代码)?

How to fold verbatim text (not code) in R bookdown?

在我的文档中,我想使用```块显示一些信息,例如:

```
bruin@c7 ~ $ cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
bruin@c7 ~ $
```

对于大输出块,我想折叠它们。怎么做?在网上搜索似乎所有相关主题都是关于 code 折叠,但我想要折叠的不是任何类型的代码,只是简单的文本...

谢谢!

这里有一个非常简单的方法来实现以下内容:

您可以在以下可复制的 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 部分,我们简单地向每个标有 class fold 的块添加一个按钮。之后我们将 onClick 事件添加到所有这些按钮。单击按钮时,其文本应在 FoldUnfold 之间切换。相应的代码容器也应该切换其可见性状态。打开文档时,每个标有 fold 的块都会折叠。 如何使用 CSS 设置按钮样式由您决定。