Hao Zhu | c145088 | 2018-10-03 17:56:26 -0400 | [diff] [blame] | 1 | # Use Bootstrap Tables in gitbooks & epub |
| 2 | |
| 3 | ## Gitbook |
Hao Zhu | 6844920 | 2018-10-16 16:01:19 -0400 | [diff] [blame] | 4 | Most of `kableExtra` tricks will work in `bookdown` except those requiring [`bootstrap`](http://getbootstrap.com/). By default, `rmarkdown` won't load `bootstrap` for you on gitbook as it's not necesary. In `kableExtra`, I used the [bootstrap 3.3.7 customization tool](https://getbootstrap.com/docs/3.3/customize/) and made a customized css copy. You can load it by setting `options(kableExtra.html.bsTable = T)`. |
Hao Zhu | c145088 | 2018-10-03 17:56:26 -0400 | [diff] [blame] | 5 | |
| 6 | ```{r} |
| 7 | library(kableExtra) |
| 8 | options(kableExtra.html.bsTable = T) |
| 9 | |
| 10 | mtcars[1:5, 1:5] %>% |
| 11 | kable(booktabs = T) %>% |
| 12 | kable_styling( |
Hao Zhu | c859dba | 2018-10-03 18:05:55 -0400 | [diff] [blame] | 13 | bootstrap_options = c("striped","hover", "bordered", "condensed"), |
Hao Zhu | b809805 | 2018-10-08 16:57:43 -0400 | [diff] [blame] | 14 | latex_options = c("striped") |
Hao Zhu | c145088 | 2018-10-03 17:56:26 -0400 | [diff] [blame] | 15 | ) %>% |
| 16 | column_spec(1, color = "red") %>% |
| 17 | add_header_above(c(" ", "Group A" = 2, "Group B" = 3)) |
| 18 | ``` |
| 19 | |
Hao Zhu | b809805 | 2018-10-08 16:57:43 -0400 | [diff] [blame] | 20 | **One very important note** here is that by default bookdown loads the gitbook table css on start up. It has some conflicts with `bootstrap` tables. As a result, some features like `hover` won't be able to work by default. To solve this problem, you need to use the latest version of `bookdown` (version >= 0.7.21) and turn off the `table_css` option under `bookdown::gitbook` in `_output.yml` |
| 21 | |
| 22 | ``` |
| 23 | bookdown::gitbook: |
| 24 | table_css: false |
| 25 | ``` |
Hao Zhu | c145088 | 2018-10-03 17:56:26 -0400 | [diff] [blame] | 26 | |
| 27 | ## Epub |
Hao Zhu | 5250ab5 | 2018-10-23 15:25:14 -0400 | [diff] [blame] | 28 | Right now, it's impossible to load addition CSS through HTML dependency and this mechanism exists for a reason ( [See this issue I filed](https://github.com/rstudio/rmarkdown/issues/1457) ). You will have to manually load [this stylesheet](https://github.com/haozhu233/kableExtra/blob/master/inst/bootstrapTable-3.3.7/bootstrapTable.min.css) by putting it to a CSS file (such as "style.css") and load it in `_output.yml`. For example, |
Hao Zhu | c145088 | 2018-10-03 17:56:26 -0400 | [diff] [blame] | 29 | |
| 30 | ``` |
| 31 | bookdown::epub_book: |
| 32 | stylesheet: style.css |
| 33 | ``` |