bookdown - 如何激活 bookdown 的全书范围或页面本地搜索

标签 bookdown gitbook lunrjs

我无法调试为什么从我的 bookdown 生成 HTML

  1. 仅在 Chrome 上显示搜索按钮(在 Firefox 或 Safari 中不显示),
  2. 即使 CTRL-F 在 Chrome 中执行任何操作,也不会执行任何操作,并且
  3. 当我使用 CTRL-F 时,仅搜索本地页面而不是整个书籍。

一些已出版的 Rmarkdown 书籍的行为有所不同。例如,单击 R for Data Science 中的搜索图标和 Authoring Books with R Markdown Safari 中会在 Safari 和 Chrome 中的目录上方弹出一个搜索框,而 CTRL-F 会弹出本地页面搜索。没有用于翻阅结果的箭头——我需要使用键盘上的向上/向下箭头键。这种行为会比我能够实现的更好,但我不知道需要包含什么才能实现它。

我的例子是书的长度,但它都在 stan-dev/stan repo on GitHubdevelop 分支上。 。如果您克隆该存储库,则可以使用

制作文档

> make doc/reference-manual/index.html

索引将位于该位置。

编辑:我尝试将 bookdown::gitbook 配置替换为手册中配置的精确副本,但它仍然没有生成有效的搜索按钮。

最佳答案

bookdown的gitbook格式中搜索是通过lunr.js实现的,并且不依赖外部搜索服务。您的图书内容将写入本地 JSON 文件,当您在搜索框中键入内容时,lunr.js 将查询该文件。

对您问题的简短回答是,您需要通过 HTTP 服务器提供图书服务(因为您的浏览器无法通过 file:// 协议(protocol)读取 JSON 文件)。一种方法是 bookdown::serve_book()

关于bookdown - 如何激活 bookdown 的全书范围或页面本地搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51456794/

相关文章:

javascript - 无法从数组中获取对象进行显示

r - 从.rmd编织到Word时如何格式化表格表格(带书本)

r - 如何重新缩放 bookdown/rmarkdown 网站的本地镜像?

html - 如何增加 bookdown 中侧边栏菜单的宽度

html - 如何在不引用和更改 HTML 版本标题的情况下列出 Bookdown 中的所有引用书目条目?

authentication - 如何管理使用 GitBook 创建的书籍的访问权限?

linux - CentOS7如何保留程序?

json - Jekyll 搜索 Lunr JS,不工作