如何激活全书本或页面本地书本搜索

时间:2018-07-21 14:01:25

标签: bookdown gitbook lunrjs

我无法调试从书本中生成HTML的原因

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

一些已发布的Rmarkdown书籍的行为有所不同。例如,单击R for Data ScienceAuthoring Books with R Markdown中的搜索图标会在Safari和Chrome浏览器目录上方的Safari中弹出搜索框,而CTRL-F会弹出本地页面搜索。没有箭头可以翻页显示结果---我需要使用键盘上的向上/向下箭头键。这种行为将比我已经能够实现的要好,但是我不知道要实现它需要包括什么。

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

来创建文档

> make doc/reference-manual/index.html

,索引将位于该位置。

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

我想说的是,“ bookdown :: serve_book();之后,“放大镜”(搜索工具)可以正常工作;它生成了一个html,它仍然可以正常工作,但是当html传输到github时,搜索工具以及箭头(轮播)键都消失了;这些键被一个有功能的浅色正方形代替,就像箭头变成了“透明”颜色一样。我已将style.css添加到github上的相应docs文件夹中。