自动折叠 R Bookdown 网站的侧边栏
Automatically collapsing sidebar of R Bookdown website
阅读我的 Bookdown 项目的人不要跳过章节,这一点很重要。虽然它在文档中有明确说明,但通过自动折叠侧边栏进一步阻止这种情况将非常有帮助 :o)
根据 this Github issue 没有默认的显式选项可以做到这一点,但是还有其他方法吗?
欢迎使用 Whosebug!
使用例如在 bookdown::gitbook 上的 Chrome 的 inspect feature 您会看到 <body>
之后 DOM 中的第一个元素是 <div>
,其中 [=45= 】 全书。此 <div>
有多个 class,其中之一是 with-summary
,这是您要删除的那个。
我认为最快的方法是使用 jquery:
设置一个HTML文件
header.html
<script>
window.addEventListener("DOMContentLoaded", function(){
$("div").first().removeClass("with-summary");
});
</script>
在
中使用 YAML 选项 includes
将文件包含在文档 header 中
.Rmd
---
title: "My Title"
output:
bookdown::gitbook:
includes:
in_header: header.html
---
页面加载后,jquery 函数将选择 DOM 中的第一个 <div>
元素并删除 class。请注意,如果用户也导航到另一章,这将隐藏边栏。
阅读我的 Bookdown 项目的人不要跳过章节,这一点很重要。虽然它在文档中有明确说明,但通过自动折叠侧边栏进一步阻止这种情况将非常有帮助 :o)
根据 this Github issue 没有默认的显式选项可以做到这一点,但是还有其他方法吗?
欢迎使用 Whosebug!
使用例如在 bookdown::gitbook 上的 Chrome 的 inspect feature 您会看到 <body>
之后 DOM 中的第一个元素是 <div>
,其中 [=45= 】 全书。此 <div>
有多个 class,其中之一是 with-summary
,这是您要删除的那个。
我认为最快的方法是使用 jquery:
设置一个HTML文件
header.html
<script> window.addEventListener("DOMContentLoaded", function(){ $("div").first().removeClass("with-summary"); }); </script>
在
中使用 YAML 选项includes
将文件包含在文档 header 中.Rmd
--- title: "My Title" output: bookdown::gitbook: includes: in_header: header.html ---
页面加载后,jquery 函数将选择 DOM 中的第一个 <div>
元素并删除 class。请注意,如果用户也导航到另一章,这将隐藏边栏。