add PDF vignette to CRAN
diff --git a/inst/doc/use_kable_in_shiny.Rmd b/inst/doc/use_kable_in_shiny.Rmd
new file mode 100644
index 0000000..c2af6bf
--- /dev/null
+++ b/inst/doc/use_kable_in_shiny.Rmd
@@ -0,0 +1,60 @@
+---
+title: "Use kable in Shiny"
+output: html_document
+vignette: >
+ %\VignetteIndexEntry{Use kable in Shiny}
+ %\VignetteEngine{knitr::rmarkdown}
+ %\VignetteEncoding{UTF-8}
+---
+
+```{r setup, include=FALSE}
+knitr::opts_chunk$set(echo = TRUE)
+```
+
+Since the output is just HTML, it's very easy to use `kable` and `kableExtra` in the Shiny environment. For example:
+```{r, eval = FALSE}
+library(shiny)
+
+ui <- fluidPage(
+
+ # Application title
+ titlePanel("mtcars"),
+
+ sidebarLayout(
+ sidebarPanel(
+ sliderInput("mpg", "mpg Limit",
+ min = 11, max = 33, value = 20)
+ ),
+
+ mainPanel(
+ tableOutput("mtcars_kable")
+ )
+ )
+)
+
+server <- function(input, output) {
+ library(dplyr)
+ library(kableExtra)
+ output$mtcars_kable <- function() {
+ req(input$mpg)
+ mtcars %>%
+ mutate(car = rownames(.)) %>%
+ select(car, everything()) %>%
+ filter(mpg <= input$mpg) %>%
+ knitr::kable("html") %>%
+ kable_styling("striped", full_width = F) %>%
+ add_header_above(c(" ", "Group 1" = 5, "Group 2" = 6))
+ }
+}
+
+# Run the application
+shinyApp(ui = ui, server = server)
+
+
+```
+
+You can copy/paste the code above or simply run:
+
+```{r, eval=FALSE}
+shiny::runGist("https://gist.github.com/haozhu233/9e675e1a8a1bb4744f9ebc9246a2366b")
+```