Most R Markdown users may know that code blocks can be folded in HTML output. Then @rkb965 asked a good question on how to fold messages and warnings. The answer was not clear to me in the beginning, but later I recalled a contribution by @atusy and came up with this solution:
---
title: "Test"
output:
html_document:
code_folding: show
---
```{r, setup, include=FALSE}
knitr::opts_chunk$set(
class.message = 'foldable fold-hide',
class.warning = 'foldable fold-hide'
)
```
```{r}
message('Hello message!')
warning('Hello warning!')
```
Basically if an output block (not necessary a source code block) has the class
foldable
and the code_folding
feature is enabled, the block will be
foldable. To apply this class to messages and warnings, we just need to set the
chunk options class.message
and class.warning
, respectively. The class
fold-hide
in the above example means messages and warnings will be hidden
initially. They could be unfolded if you click the button on the top right.