README.md

codefolder

CRAN
status Lifecycle:
experimental Travis build
status

The goal of codefolder is to provide “aftermarket” code-folding capabilty for bookdown and distill. The operative code is based on this Stack Overflow answer by Sébastien Rochette.

Installation

You can install the delevopment version of codefolder from GitHub with:

# install.packages("devtools")
devtools::install_github("ijlyttle/codefolder")

Example

This is a quick way to enable code-folding, for an entire page, on a page-by-page basis.

The idea is to put an Rmd-chunk near the top of a page. When rendered, the chunk places a button in the right margin which can be used to show or hide code.

There is a function each for Bookdown and Distill. The main argument is init, which indicates if you want, initially, to "show" or "hide" the code. The other arguments are query, the CSS selector for to match the code elements, and the style to the button.

Bookdown:

```{r codefolder, echo=FALSE, results='asis'}
codefolder::bookdown(init = "hide")
```

Distill:

<aside>
```{r codefolder, echo=FALSE, results='asis'}
codefolder::distill(init = "hide")
```
</aside>

If you like, you can create these as RStudio code snippets for markdown. I use cfb and cfd as my short-codes.

It will be up to you to add some CSS according to your tastes.

Code of Conduct

Please note that the ‘codefolder’ project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.



ijlyttle/codefolder documentation built on Nov. 5, 2019, 2:18 p.m.