| --- |
| title: "Contributing Additional HTML Table Themes to kableExtra" |
| output: html_document |
| --- |
| |
| ```{r setup, include=FALSE} |
| knitr::opts_chunk$set(echo = TRUE) |
| ``` |
| |
| The latest version of `kableExtra` allows users to use some alternative |
| table themes, in addition to the default `bootstrap 3` theme. See the [Alternative themes](https://haozhu233.github.io/kableExtra/awesome_table_in_html.html#Alternative_themes) section for details. Here is a simple guide on how to add new themes to this package. |
| |
| To add a new theme, you only need to do two things: |
| |
| 1. Design some CSS for tables using frontend playground tools such as [jsfiddle](http://jsfiddle.net) and import them to [this file](https://github.com/haozhu233/kableExtra/blob/master/inst/lightable-0.0.1/lightable.css) |
| 2. Create a corresponding function in [R/light_themes.R](https://github.com/haozhu233/kableExtra/blob/master/R/light_themes.R) |
| |
| Why it works? `kable_styling` works by adding corresponding bootstrap table classes to the html object. This time, instead of adding a bootstrap table class, we can choose to add a css class we defined. On the other hand, our css file gets loaded to either the rmarkdown environment or R console as a regular `htmlDependency()` when the tables get printed. |