slickR with Iframes

library(slickR)

Iframes

Since the carousel can accept any html element we can place iframes in the carousel.

There are times when you may want to put in different DOMs rather than an image in slick.

Using slideType you can specify which DOM is used in the slides.

For example lets put the help Rd files from ggplot2 into a slider using the helper function getHelp.

Dont forget to open the output to a browser to view the iframe contents

Function to fetch help files as HTML


get_help <- function(fn,pkg){
 
  ff <- get('index.search',envir = asNamespace('utils'))(
    topic = fn, 
    paths = find.package(pkg),
    TRUE)
  
  path    <- dirname(ff)
  dirpath <- dirname(path)
  pkgname <- basename(dirpath)
  RdDB    <- file.path(path, pkgname)
  
  paste0(
    utils::capture.output({
      tools::Rd2HTML(
        Rd = get('fetchRdDB', envir = asNamespace('tools'))(RdDB, basename(ff))
      )
    }),
  collapse='\n')
  
}

Retrieve help from stats


help_files <- lapply(
    ls("package:stats",pattern = '^r')[-1],
    get_help,
    pkg = 'stats')

Create IFRAME slick


slickR::slickR(help_files,
               slideType = 'iframe',
               height = 400,
               width='95%') + 
  settings(dots  = TRUE, 
           slidesToShow   = 2, 
           slidesToScroll = 2)