diff --git a/docs/bookdown/search_index.json b/docs/bookdown/search_index.json
index cc6fb60..004b750 100644
--- a/docs/bookdown/search_index.json
+++ b/docs/bookdown/search_index.json
@@ -1,5 +1,5 @@
 [
-["index.html", "Using kableExtra in Bookdown Chapter 1 Introduction", " Using kableExtra in Bookdown Hao Zhu 2018-10-08 Chapter 1 Introduction If you have tried to use kableExtra in a bookdown project with mutltiple formats, you may have experienced some problems. For example, you might not be able to render HTML and PDF tables at the same time using the same piece of code. At the same time, you might start to wonder if it’s possible to create bootstrap style tables in gitbook. I will try to address these issues using this example. This book is hosted at https://github.com/haozhu233/kableExtra/tree/master/docs. You can download PDF &amp; EPUB to see the results of kableExtra in those formats using the same code. You can find the source code for this project at https://github.com/haozhu233/kableExtra/tree/master/docs. "],
+["index.html", "Using kableExtra in Bookdown Chapter 1 Introduction", " Using kableExtra in Bookdown Hao Zhu 2018-10-16 Chapter 1 Introduction If you have tried to use kableExtra in a bookdown project with mutltiple formats, you may have experienced some problems. For example, you might not be able to render HTML and PDF tables at the same time using the same piece of code. At the same time, you might start to wonder if it’s possible to create bootstrap style tables in gitbook. I will try to address these issues using this example. This book is hosted at https://haozhu233.github.io/kableExtra/bookdown/index.html You can download PDF &amp; EPUB to see the results of kableExtra in those formats using the same code. You can find the source code for this project at https://github.com/haozhu233/kableExtra/tree/master/docs. "],
 ["cross-format-tables-in-bookdown.html", "Chapter 2 Cross-format Tables in Bookdown 2.1 Use the “K-M” approach instead of “M-K” 2.2 Prepare Your Tables for Both Formats", " Chapter 2 Cross-format Tables in Bookdown Note that if kableExtra 0.9.0 doesn’t support the EPUB format. If you need to output tables in .epub, please upgrade to the dev version or version 1.0 on CRAN once it’s released. 2.1 Use the “K-M” approach instead of “M-K” Please read this chapter about the “K-M”/“M-K” approaches in bookdown: https://bookdown.org/yihui/bookdown/new-session.html To generate cross-format tables with kableExtra in a multi-format bookdown project, you will have to use the “M-K” approach by setting new_session: true in _bookdown.yml. Somehow the “M-K” approach, which merges chapters to a big Rmd and then renders, shares the global environment across formats. For now, I’m not sure if this is a bug or intended behavior. It might be fixable in the future but please don’t count on that. By setting new_session: true, we force R to use a new session for every chapter for different formats. In this way, tables are generated differently in different formats. Note that the “M-K” approach is slower than the “K-M” approach. At the same time, packages and data are not shared accross chapter. # Example _bookdown.yml book_filename: &quot;bookdown_example&quot; delete_merged_file: true new_session: true language: ui: chapter_name: &quot;Chapter &quot; 2.2 Prepare Your Tables for Both Formats In most cases, functions in kable and kableExtra use the same API to accomplish the same styling task in HTML and LaTeX. However, you also need some format specific settings so your tables will look good in both formats. Some common items here include the booktabs and longtable settings in kable and the bootstrap_options and latex_options in kable_styling. Here is an example for a table that will work in both HTML and LaTeX. library(kableExtra) options(kableExtra.html.bsTable = T) mtcars[1:5, 1:5] %&gt;% kable(booktabs = T) %&gt;% kable_styling( latex_options = c(&quot;striped&quot;), full_width = F ) %&gt;% column_spec(1, bold = T) %&gt;% add_header_above(c(&quot; &quot;, &quot;Group A&quot; = 2, &quot;Group B&quot; = 3)) Group A Group B mpg cyl disp hp drat Mazda RX4 21.0 6 160 110 3.90 Mazda RX4 Wag 21.0 6 160 110 3.90 Datsun 710 22.8 4 108 93 3.85 Hornet 4 Drive 21.4 6 258 110 3.08 Hornet Sportabout 18.7 8 360 175 3.15 "],
-["use-bootstrap-tables-in-gitbooks-epub.html", "Chapter 3 Use Bootstrap Tables in gitbooks &amp; epub 3.1 Gitbook 3.2 Epub", " Chapter 3 Use Bootstrap Tables in gitbooks &amp; epub 3.1 Gitbook Most of kableExtra tricks will work in bookdown except those requires bootstrap. 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 and made a customized css copy. You can load it by setting options(kableExtra.html.bsTable = T). library(kableExtra) options(kableExtra.html.bsTable = T) mtcars[1:5, 1:5] %&gt;% kable(booktabs = T) %&gt;% kable_styling( bootstrap_options = c(&quot;striped&quot;,&quot;hover&quot;, &quot;bordered&quot;, &quot;condensed&quot;), latex_options = c(&quot;striped&quot;) ) %&gt;% column_spec(1, color = &quot;red&quot;) %&gt;% add_header_above(c(&quot; &quot;, &quot;Group A&quot; = 2, &quot;Group B&quot; = 3)) Group A Group B mpg cyl disp hp drat Mazda RX4 21.0 6 160 110 3.90 Mazda RX4 Wag 21.0 6 160 110 3.90 Datsun 710 22.8 4 108 93 3.85 Hornet 4 Drive 21.4 6 258 110 3.08 Hornet Sportabout 18.7 8 360 175 3.15 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 &gt;= 0.7.21) and turn off the table_css option under bookdown::gitbook in _output.yml bookdown::gitbook: table_css: false 3.2 Epub Right now, it’s impossible to load addition CSS through HTML dependency (due to a setting in rmarkdown). I will file an issue in rmarkdown and see if this is something that can be changed. In the mean time, to use bootstrap tables in Epub, you will have to manually load this stylesheet by putting it to a CSS file (such as “style.css”) and load it in _output.yml. For example, bookdown::epub_book: stylesheet: style.css "]
+["use-bootstrap-tables-in-gitbooks-epub.html", "Chapter 3 Use Bootstrap Tables in gitbooks &amp; epub 3.1 Gitbook 3.2 Epub", " Chapter 3 Use Bootstrap Tables in gitbooks &amp; epub 3.1 Gitbook Most of kableExtra tricks will work in bookdown except those requiring bootstrap. 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 and made a customized css copy. You can load it by setting options(kableExtra.html.bsTable = T). library(kableExtra) options(kableExtra.html.bsTable = T) mtcars[1:5, 1:5] %&gt;% kable(booktabs = T) %&gt;% kable_styling( bootstrap_options = c(&quot;striped&quot;,&quot;hover&quot;, &quot;bordered&quot;, &quot;condensed&quot;), latex_options = c(&quot;striped&quot;) ) %&gt;% column_spec(1, color = &quot;red&quot;) %&gt;% add_header_above(c(&quot; &quot;, &quot;Group A&quot; = 2, &quot;Group B&quot; = 3)) Group A Group B mpg cyl disp hp drat Mazda RX4 21.0 6 160 110 3.90 Mazda RX4 Wag 21.0 6 160 110 3.90 Datsun 710 22.8 4 108 93 3.85 Hornet 4 Drive 21.4 6 258 110 3.08 Hornet Sportabout 18.7 8 360 175 3.15 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 &gt;= 0.7.21) and turn off the table_css option under bookdown::gitbook in _output.yml bookdown::gitbook: table_css: false 3.2 Epub Right now, it’s impossible to load addition CSS through HTML dependency (due to a setting in rmarkdown). I will file an issue in rmarkdown and see if this is something that can be changed. In the mean time, to use bootstrap tables in Epub, you will have to manually load this stylesheet by putting it to a CSS file (such as “style.css”) and load it in _output.yml. For example, bookdown::epub_book: stylesheet: style.css "]
 ]
