Как сложить дословный текст (не код) в R bookdown? - PullRequest
0 голосов
/ 28 июня 2018

В моем документе я хочу показать некоторую информацию, используя блок `` `, например:

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

Для больших выходных блоков я хочу сложить их. Как это сделать? Похоже, что при поиске в Интернете все связанные темы касаются кода сворачивания, но я хочу свернуть не какой-либо код, а просто текст ...

Спасибо!

1 Ответ

0 голосов
/ 29 июня 2018

Вот очень простой способ реализовать следующее самостоятельно:

enter image description here

Вы можете найти весь необходимый код в следующем воспроизводимом документе 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, зависит от вас.

...