---
title: "Special Details"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{Special Details}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
```

```{r setup}
library(details)
```

You can wrap print methods of R objects in a `details` environment.

  1. [data.frame](#data.frame)
  1. [tibble](#tibble)
  1. [list](#list)
  1. [plots](#plots)
  1. [tables](#tables)
  
### data.frame

```{r}
 iris|>
  details::details(summary = 'data.frame')
```

### tibble

```{r}
 iris|>
  tibble::as_tibble()|>
  details::details(summary = 'tibble')
```

## list

```{r}
 list(a = 1,b = head(iris))|>
  details::details(summary = 'list')
```

## plots

Plots can be rendered and uploaded to [imgur](https://imgur.com) (default) or read in from a local path. In this example we use a local path in order to abuse the host site. 

```{r}

details(
  plot(x=mtcars$mpg,y=mtcars$wt),
  summary = 'plots',
  imgur = FALSE)

```

## tables

Tables can be wrapped in a details block by setting the `lang` to 'none'

```{r}
iris|>head() |>
  knitr::kable() |>
  details(
    summary = 'tables',
    lang = 'none'
)
```