knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = FALSE )
library(snapper) library(shiny)
snapper
can be used in only UI part of the shiny app in its simplest form.
snapper::load_snapper()
snapper::preview_button(ui = '#NAME',previewId = "previewImage")
snapper::snapper_div(id = "previewImage")
snapper::download_button(ui = '#NAME')
html2cavnas
configuration settingssnapper::config()
# Define UI ui <- fluidPage(id = 'page', # load snapper into the app load_snapper(), titlePanel("Hello Shiny!"), sidebarLayout( sidebarPanel(id = 'side', # add id to side panel sliderInput("obs", "Number of observations:", min = 0, max = 1000, value = 500), # add a download button for the side panel by id snapper::download_button(ui = '#side', label = 'Download Side Panel', filename = 'side_panel.png'), # add a preview button for the side panel by id snapper::preview_button(ui = '#side', previewId = 'preview_side', label = 'Preview Side Panel'), # add a preview button for the main panel by id snapper::preview_button(ui = '#main', previewId = 'preview_main', label = 'Preview Main Panel') ), # Show a plot of the generated distribution mainPanel(id = 'main', # add id to main panel plotOutput("distPlot"), # create a div that will display the content created by preview_side shiny::tags$h3('Preview Side Panel'), snapper::snapper_div(id = 'preview_side'), # create a div that will display the content created by preview_main shiny::tags$h3('Preview Main Panel'), snapper::snapper_div(id = 'preview_main') ) ) )
server <- function(input, output) { output$distPlot <- renderPlot({ hist(rnorm(input$obs)) }) }
shinyApp(ui, server)
Default:
knitr::include_graphics('../man/figures/shinyAce.png')
Saved Image:
knitr::include_graphics('../man/figures/shinyAce_snap.png')
Different Mode:
knitr::include_graphics('../man/figures/shinyAce_python.png')
Different Theme:
knitr::include_graphics('../man/figures/shinyAce_chrome.png')
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.