All Projects → yonicd → Details

yonicd / Details

Licence: other
R Package to Create Details HTML Tag for Markdown and Package Documentation

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to Details

Pander
An R Pandoc Writer: Convert arbitrary R objects into markdown
Stars: ✭ 267 (+221.69%)
Mutual labels:  markdown, rmarkdown
Rmarkdown
Dynamic Documents for R
Stars: ✭ 2,319 (+2693.98%)
Mutual labels:  markdown, rmarkdown
Beautifyr
RStudio addin for formatting Rmarkdown tables
Stars: ✭ 77 (-7.23%)
Mutual labels:  markdown, rmarkdown
Samples Rmarkdown Metropolis
RMarkdown with Metropolis/Mtheme for Beamer
Stars: ✭ 51 (-38.55%)
Mutual labels:  markdown, rmarkdown
Jupytext
Jupyter Notebooks as Markdown Documents, Julia, Python or R scripts
Stars: ✭ 4,969 (+5886.75%)
Mutual labels:  markdown, rmarkdown
Markdowntemplates
✅🔻 A collection of alternate R markdown templates
Stars: ✭ 287 (+245.78%)
Mutual labels:  markdown, rmarkdown
Binb
Binb is not Beamer
Stars: ✭ 160 (+92.77%)
Mutual labels:  markdown, rmarkdown
Summarytools
R Package to Quickly and Neatly Summarize Data
Stars: ✭ 390 (+369.88%)
Mutual labels:  markdown, rmarkdown
Crisscross
A Markdown-centric template engine for batch offline document generation.
Stars: ✭ 18 (-78.31%)
Mutual labels:  markdown, rmarkdown
Xaringan
Presentation Ninja 幻灯忍者 · 写轮眼
Stars: ✭ 1,129 (+1260.24%)
Mutual labels:  markdown, rmarkdown
Markdownmonster
An extensible Markdown Editor, Viewer and Weblog Publisher for Windows
Stars: ✭ 1,203 (+1349.4%)
Mutual labels:  markdown
Gatsby Advanced Starter
A high performance skeleton starter for GatsbyJS that focuses on SEO/Social features/development environment.
Stars: ✭ 1,224 (+1374.7%)
Mutual labels:  markdown
Gotenberg Php Client
PHP client for the Gotenberg API
Stars: ✭ 80 (-3.61%)
Mutual labels:  markdown
Linuxcontainers.org
The linuxcontainers.org website
Stars: ✭ 76 (-8.43%)
Mutual labels:  markdown
Parvula
An extremely simple & flexible CMS generated from flat files with a complete RESTful API —
Stars: ✭ 76 (-8.43%)
Mutual labels:  markdown
Write With Me
Real-time Collaborative Markdown Editor
Stars: ✭ 81 (-2.41%)
Mutual labels:  markdown
Siyuan
📕 SiYuan is a local-first personal knowledge management system, support fine-grained block-level reference and Markdown instant-render editing.
Stars: ✭ 1,196 (+1340.96%)
Mutual labels:  markdown
Jsdoc To Markdown
Generate markdown documentation from jsdoc-annotated javascript
Stars: ✭ 1,199 (+1344.58%)
Mutual labels:  markdown
Markr
Minimalistic markdown editor for MacOS with live preview
Stars: ✭ 82 (-1.2%)
Mutual labels:  markdown
Hugo Vitae
Vitae is a blog theme for Hugo that focuses on your content.
Stars: ✭ 81 (-2.41%)
Mutual labels:  markdown

CRAN status downloads R-win build status R-mac build status R-linux build status Codecov test coverage Covrpage Summary

details

Suppose you’re opening an issue in GitHub and there’s a lot noisey logs that may be useful or you want to add the sessionInfo() to the end of the issue.

Rather than wrecking readability, wrapping it in a <details> tag is a great solution

<details>
 <summary>Summary Goes Here</summary>
 ...this is hidden, collapsable content...
</details>

Doing this manually every time is a pain.

details is a package lets you create and customize details blocks for markdown documents and Roxygen2 documentation within R.

Installation

CRAN

install.packages("details")

Dev

remotes::install_github("yonicd/details")

Markdown

Input

The function details::details can handle inputs

  • R object with supported classes:
    • character
    • data.frame
    • tibble
    • list
    • device (eg plots)
  • File paths will be identified internally and the lines will be read in automatically.

Output

The function details::details can output the result to

  • console (default)
  • clipboard via clipr
  • file.editor useful when clipr not available

Examples

One the most popular uses for details is to paste the sessioninfo at the bottom of a GitHub issue.

library(details)

sessioninfo::session_info()%>%
  details::details(summary = 'current session info')
current session info
 Session info ────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 3.6.3 (2020-02-29)
 os       macOS Catalina 10.15.7      
 system   x86_64, darwin15.6.0        
 ui       RStudio                     
 language (EN)                        
 collate  en_US.UTF-8                 
 ctype    en_US.UTF-8                 
 tz       America/New_York            
 date     2021-01-13                  

 Packages ────────────────────────────────────────────────────────────────
 package     * version    date       lib source                          
 assertthat    0.2.1      2019-03-21 [1] CRAN (R 3.6.0)                  
 callr         3.5.1      2020-10-13 [1] CRAN (R 3.6.2)                  
 cli           2.2.0      2020-11-20 [1] CRAN (R 3.6.2)                  
 clipr         0.7.1      2020-10-08 [1] CRAN (R 3.6.2)                  
 covr        * 3.5.0      2020-03-06 [1] CRAN (R 3.6.0)                  
 covrpage      0.1        2020-12-12 [1] local                           
 crayon        1.3.4      2017-09-16 [1] CRAN (R 3.6.0)                  
 curl          4.3        2019-12-02 [1] CRAN (R 3.6.0)                  
 desc          1.2.0.9000 2020-09-28 [1] Github (r-lib/desc@c175259)     
 details     * 0.2.2      2021-01-14 [1] local                           
 diffobj       0.3.2      2020-10-05 [1] CRAN (R 3.6.2)                  
 digest        0.6.27     2020-10-24 [1] CRAN (R 3.6.2)                  
 ellipsis      0.3.1      2020-05-15 [1] CRAN (R 3.6.2)                  
 evaluate      0.14       2019-05-28 [1] CRAN (R 3.6.0)                  
 fansi         0.4.1      2020-01-08 [1] CRAN (R 3.6.0)                  
 fs            1.5.0      2020-07-31 [1] CRAN (R 3.6.2)                  
 git2r         0.27.1     2020-05-03 [1] CRAN (R 3.6.2)                  
 glue          1.4.2      2020-08-27 [1] CRAN (R 3.6.2)                  
 highr         0.8        2019-03-20 [1] CRAN (R 3.6.0)                  
 htmltools     0.5.0      2020-06-16 [1] CRAN (R 3.6.2)                  
 httr          1.4.2      2020-07-20 [1] CRAN (R 3.6.2)                  
 knitr       * 1.30       2020-09-22 [1] CRAN (R 3.6.2)                  
 lazyeval      0.2.2      2019-03-15 [1] CRAN (R 3.6.0)                  
 lifecycle     0.2.0      2020-03-06 [1] CRAN (R 3.6.0)                  
 magrittr    * 2.0.1      2020-11-17 [1] CRAN (R 3.6.2)                  
 MASS          7.3-51.5   2019-12-20 [1] CRAN (R 3.6.3)                  
 memoise       1.1.0      2017-04-21 [1] CRAN (R 3.6.0)                  
 pillar        1.4.7      2020-11-20 [1] CRAN (R 3.6.2)                  
 pkgconfig     2.0.3      2019-09-22 [1] CRAN (R 3.6.0)                  
 pkgdown       1.4.1      2019-09-15 [1] CRAN (R 3.6.0)                  
 png           0.1-7      2013-12-03 [1] CRAN (R 3.6.0)                  
 processx      3.4.5      2020-11-30 [1] CRAN (R 3.6.2)                  
 ps            1.5.0      2020-12-05 [1] CRAN (R 3.6.2)                  
 purrr         0.3.4      2020-04-17 [1] CRAN (R 3.6.2)                  
 R6            2.5.0      2020-10-28 [1] CRAN (R 3.6.2)                  
 rematch2      2.1.2      2020-05-01 [1] CRAN (R 3.6.2)                  
 remotes       2.2.0      2020-07-21 [1] CRAN (R 3.6.2)                  
 rex           1.1.2      2017-10-19 [1] CRAN (R 3.6.0)                  
 rlang         0.4.9      2020-11-26 [1] CRAN (R 3.6.2)                  
 rmarkdown     2.5        2020-10-21 [1] CRAN (R 3.6.3)                  
 rprojroot     2.0.2      2020-11-25 [1] Github (r-lib/rprojroot@5bafca9)
 rsconnect     0.8.16     2019-12-13 [1] CRAN (R 3.6.2)                  
 rstudioapi    0.13       2020-11-12 [1] CRAN (R 3.6.2)                  
 sessioninfo   1.1.1      2018-11-05 [1] CRAN (R 3.6.0)                  
 stringi       1.5.3      2020-09-09 [1] CRAN (R 3.6.2)                  
 stringr       1.4.0      2019-02-10 [1] CRAN (R 3.6.0)                  
 testthat    * 3.0.0      2020-10-31 [1] CRAN (R 3.6.2)                  
 tibble        3.0.4      2020-10-12 [1] CRAN (R 3.6.2)                  
 vctrs         0.3.5      2020-11-17 [1] CRAN (R 3.6.2)                  
 waldo         0.2.3      2020-11-09 [1] CRAN (R 3.6.2)                  
 whisker       0.4        2019-08-28 [1] CRAN (R 3.6.1)                  
 withr         2.3.0      2020-09-22 [1] CRAN (R 3.6.2)                  
 xfun          0.19       2020-10-30 [1] CRAN (R 3.6.2)                  
 xml2          1.3.2      2020-04-23 [1] CRAN (R 3.6.2)                  
 yaml          2.2.1      2020-02-01 [1] CRAN (R 3.6.0)                  

[1] /Library/Frameworks/R.framework/Versions/3.6/Resources/library

You can also use the knitr chunk engine that is shipped with details to created outputs in Rmarkdown documents.

```{details, echo = FALSE, details.summary = 'current session info'}
sessioninfo::session_info()
```
current session info
 Session info ────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 3.6.3 (2020-02-29)
 os       macOS Catalina 10.15.7      
 system   x86_64, darwin15.6.0        
 ui       RStudio                     
 language (EN)                        
 collate  en_US.UTF-8                 
 ctype    en_US.UTF-8                 
 tz       America/New_York            
 date     2021-01-13                  

 Packages ────────────────────────────────────────────────────────────────
 package     * version    date       lib source                          
 assertthat    0.2.1      2019-03-21 [1] CRAN (R 3.6.0)                  
 callr         3.5.1      2020-10-13 [1] CRAN (R 3.6.2)                  
 cli           2.2.0      2020-11-20 [1] CRAN (R 3.6.2)                  
 clipr         0.7.1      2020-10-08 [1] CRAN (R 3.6.2)                  
 covr        * 3.5.0      2020-03-06 [1] CRAN (R 3.6.0)                  
 covrpage      0.1        2020-12-12 [1] local                           
 crayon        1.3.4      2017-09-16 [1] CRAN (R 3.6.0)                  
 curl          4.3        2019-12-02 [1] CRAN (R 3.6.0)                  
 desc          1.2.0.9000 2020-09-28 [1] Github (r-lib/desc@c175259)     
 details     * 0.2.2      2021-01-14 [1] local                           
 diffobj       0.3.2      2020-10-05 [1] CRAN (R 3.6.2)                  
 digest        0.6.27     2020-10-24 [1] CRAN (R 3.6.2)                  
 ellipsis      0.3.1      2020-05-15 [1] CRAN (R 3.6.2)                  
 evaluate      0.14       2019-05-28 [1] CRAN (R 3.6.0)                  
 fansi         0.4.1      2020-01-08 [1] CRAN (R 3.6.0)                  
 fs            1.5.0      2020-07-31 [1] CRAN (R 3.6.2)                  
 git2r         0.27.1     2020-05-03 [1] CRAN (R 3.6.2)                  
 glue          1.4.2      2020-08-27 [1] CRAN (R 3.6.2)                  
 highr         0.8        2019-03-20 [1] CRAN (R 3.6.0)                  
 htmltools     0.5.0      2020-06-16 [1] CRAN (R 3.6.2)                  
 httr          1.4.2      2020-07-20 [1] CRAN (R 3.6.2)                  
 knitr       * 1.30       2020-09-22 [1] CRAN (R 3.6.2)                  
 lazyeval      0.2.2      2019-03-15 [1] CRAN (R 3.6.0)                  
 lifecycle     0.2.0      2020-03-06 [1] CRAN (R 3.6.0)                  
 magrittr    * 2.0.1      2020-11-17 [1] CRAN (R 3.6.2)                  
 MASS          7.3-51.5   2019-12-20 [1] CRAN (R 3.6.3)                  
 memoise       1.1.0      2017-04-21 [1] CRAN (R 3.6.0)                  
 pillar        1.4.7      2020-11-20 [1] CRAN (R 3.6.2)                  
 pkgconfig     2.0.3      2019-09-22 [1] CRAN (R 3.6.0)                  
 pkgdown       1.4.1      2019-09-15 [1] CRAN (R 3.6.0)                  
 png           0.1-7      2013-12-03 [1] CRAN (R 3.6.0)                  
 processx      3.4.5      2020-11-30 [1] CRAN (R 3.6.2)                  
 ps            1.5.0      2020-12-05 [1] CRAN (R 3.6.2)                  
 purrr         0.3.4      2020-04-17 [1] CRAN (R 3.6.2)                  
 R6            2.5.0      2020-10-28 [1] CRAN (R 3.6.2)                  
 rematch2      2.1.2      2020-05-01 [1] CRAN (R 3.6.2)                  
 remotes       2.2.0      2020-07-21 [1] CRAN (R 3.6.2)                  
 rex           1.1.2      2017-10-19 [1] CRAN (R 3.6.0)                  
 rlang         0.4.9      2020-11-26 [1] CRAN (R 3.6.2)                  
 rmarkdown     2.5        2020-10-21 [1] CRAN (R 3.6.3)                  
 rprojroot     2.0.2      2020-11-25 [1] Github (r-lib/rprojroot@5bafca9)
 rsconnect     0.8.16     2019-12-13 [1] CRAN (R 3.6.2)                  
 rstudioapi    0.13       2020-11-12 [1] CRAN (R 3.6.2)                  
 sessioninfo   1.1.1      2018-11-05 [1] CRAN (R 3.6.0)                  
 stringi       1.5.3      2020-09-09 [1] CRAN (R 3.6.2)                  
 stringr       1.4.0      2019-02-10 [1] CRAN (R 3.6.0)                  
 testthat    * 3.0.0      2020-10-31 [1] CRAN (R 3.6.2)                  
 tibble        3.0.4      2020-10-12 [1] CRAN (R 3.6.2)                  
 vctrs         0.3.5      2020-11-17 [1] CRAN (R 3.6.2)                  
 waldo         0.2.3      2020-11-09 [1] CRAN (R 3.6.2)                  
 whisker       0.4        2019-08-28 [1] CRAN (R 3.6.1)                  
 withr         2.3.0      2020-09-22 [1] CRAN (R 3.6.2)                  
 xfun          0.19       2020-10-30 [1] CRAN (R 3.6.2)                  
 xml2          1.3.2      2020-04-23 [1] CRAN (R 3.6.2)                  
 yaml          2.2.1      2020-02-01 [1] CRAN (R 3.6.0)                  

[1] /Library/Frameworks/R.framework/Versions/3.6/Resources/library

There are a number of objects that can be placed in a details block other than a character object. An example of a object is a device output such as a plot

details(plot(x=mtcars$mpg,y=mtcars$wt), summary = 'My plot')
My plot


Package Documentation

Many times in documentation there is a lot to say, but you do not want to overwhelm the user.

To solve this we can use folding blocks in the documentation (which are then rendered into pkgdown website automatically)

Setup

To make it easy to set up the DESCRIPTION file of your package so you can use details macros run the following :

use_details('PATH_TO_DESCRIPTION_FILE')

This will append three elements to the DESCRIPTION file

  • Imports: details
  • RdMacros: details
  • Roxygen: list(markdown = TRUE)

Usage

You can use this feature by wrapping documentation with the macros

\foldstart{[SUMMARY TEXT]}

#' DOCUMENTATION
#' ...
#' DOCUMENTATION

\foldend

The SUMMARY_TEXT is optional, where the folded block will have a header of SUMMARY TEXT.

The default will display details.

These folded blocks can be inserted anywhere in the documentation, eg @description, @param, @details, @return, ….

Vignettes

More information can be found in the articles of the package site.

  • Creating a sessioninfo to paste into Github, Stackoverflow or Community Sites.
  • Customizing the details output
  • What R objects details can handle
  • Using the details knitr chunk engine
  • Using details in Roxygen2

Code of Conduct

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].