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