如何允许使用键盘箭头键无缝导航书本?

时间:2019-03-27 14:02:15

标签: r r-markdown bookdown

假设您正在阅读已与bookdown一起出版的在线图书。例如,让我们使用手册本身:

bookdown: Authoring Books and Technical Documents with R Markdown

如果在窗口的主要内容(文本)中单击指针以使其聚焦,则可以使用向上箭头向下箭头键导航页面文本。此外,您可以使用左箭头右箭头键导航到新页面。

但是,一旦导航到新页面,焦点将不再位于页面的主要内容(文本)中。您仍然可以使用左/右导航到新页面,但不能使用上/下导航文本(没有很多 tab shift + tab 体操)。

是否可以将默认重点放在新页面导航到正文上?这是预定设置还是其他设置?

2 个答案:

答案 0 :(得分:2)

您可以使用includes选项来实现。请执行以下步骤:

  1. 在根文件夹(带有activeBlock.html的文件夹)中创建一个名为_output.yml的文件。将以下内容复制并粘贴到其中。
<script type="application/javascript">
  window.onload = function() {
    document.querySelector(".page-wrapper").focus();
  };
</script>
  1. 修改_output.yml使其如下所示
bookdown::gitbook:
  includes:
     in_header: activeBlock.html
  css: style.css
  config:
    toc:
      before: |
        <li><a href="./">A Minimal Book Example</a></li>
      after: |
        <li><a href="https://github.com/rstudio/bookdown" target="blank">Published with bookdown</a></li>
    download: ["pdf", "epub"]
bookdown::pdf_book:
  includes:
    in_header: preamble.tex
  latex_engine: xelatex
  citation_package: natbib
  keep_tex: yes
bookdown::epub_book: default

您可以根据需要修改_output.yml,但重要的是保留

  includes:
     in_header: activeBlock.html

这样做是为了使我们编写的自定义JavaScript包含在本书<head>版本的html中。该脚本的目的是在加载html页面之后将重点放在相关元素上。

答案 1 :(得分:1)

这是 bookdown I just fixed it在开发版本on Github中的错误:

remotes::install_github('rstudio/bookdown')