Icarus用户指南 - 站内搜索插件

本文介绍Icarus支持的站内搜索插件的安装配置。

本文同时提供以下语言的翻译:English。

访客点击导航栏上的搜索按钮即可打开搜索框。 除百度搜索外,搜索框也可以用键盘打开,并用Esc关闭,详见快捷键。

Algolia

安装指南 在线预览
  1. 在Hexo站点的根目录安装hexo-algolia插件。

  2. 注册并登录Algolia。 首次登录控制面板(Dashboard)时点击页面上的“创建索引”(Create Index)按钮。 然后,输入“索引名称”(Index name)并点击“创建”(Create)完成索引创建。

    创建索引 - Algolia
  3. 下一步,点击左侧导航栏上的“API密钥”(API Keys),复制页面上的“应用ID”(Application ID)和“仅限搜索的API Key” (Search-Only API Key)。 打开Hexo站点根目录下的站点配置文件_config.yml,填入上面复制的信息到hexo-algolia插件的配置中。

    API密钥 - Algolia

    例如,下面的Algolia索引信息:

    Algolia索引信息
    1
    2
    3
    Algolia索引名称: My-Hexo-Site
    Application ID: ABCDEFGHIJKL
    Search-Only API Key: 7b08fca7d42412cee901a25643124221

    对应的站点配置为:

    _config.yml
    1
    2
    3
    4
    algolia:
    applicationID: ABCDEFGHIJKL
    indexName: My-Hexo-Site
    apiKey: 7b08fca7d42412cee901a25643124221
  4. 回到Algolia控制面板的“API密钥”(API Keys)页面并切换到“所有API Keys”(All API Keys)标签页。 点击“新建API Key”(New API Key)按钮。 在弹出的“创建API Key”(Create API Key)对话框中,在“索引”(Indices)处选择你在第2步中创建的索引。 然后,“ACL”项中添加addObject,deleteObject,listIndexes, deleteIndex。 点击“创建”(Create)完成密钥的创建。 复制刚刚创建的API Key,例如727fbd8c998fe419318fa350db6793ca。

    创建API密钥 - Algolia
  5. 打开一个Windows命令行(CMD)或Linux/macOS终端并切换当前目录到你的Hexo站点的根目录。 设置环境变量HEXO_ALGOLIA_INDEXING_KEY为上一步中创建的API Key。 hexo-algolia插件上传网站索引时会用到这个变量。

    Windows下:

    Windows命令行(CMD)
    1
    2
    C:\Users\you> cd path/to/your/hexo/site
    C:\Users\you> set HEXO_ALGOLIA_INDEXING_KEY=727fbd8c998fe419318fa350db6793ca

    Linux/macOS下:

    Linux/macOS终端
    1
    2
    $ cd path/to/your/hexo/site
    $ export HEXO_ALGOLIA_INDEXING_KEY="727fbd8c998fe419318fa350db6793ca"

    然后,运行下面的命令来清理站点并上传网站索引到Algolia:

    Windows命令行(CMD)或Linux/macOS终端
    1
    2
    $ hexo clean
    $ hexo algolia
  6. 最后,在主题配置中设置搜索引擎为Algolia:

    _config.icarus.yml
    1
    2
    3
    search:
    type: algolia
    excerpt: excerpt # 可选填,默认为`excerpt`

    excerpt是Algolia记录中的一个属性名,这个属性的内容会作为每条搜索结果的预览文字。 如果你的记录把文章正文存在其他属性中,请设置这一项。 搜索结果中的标题和预览文字都以纯文本显示,并高亮匹配到的词: 自hexo-component-inferno 4.2.0起,预览文字中的HTML标签会被去掉,记录中的其他HTML会被转义,而不会被渲染。

百度搜索

安装指南

  1. 打开主题配置文件并设置搜索为百度搜索:

    _config.icarus.yml
    1
    2
    search:
    type: baidu

    百度搜索会把访客带到百度网站上搜索你的站点,搜索范围限定为站点配置文件_config.yml中url设置的域名。 请确认url是你的站点地址。 百度搜索的搜索框不支持快捷键。

谷歌自定义搜索

谷歌现在似乎把这项服务称为Programmable Search Engine(可编程搜索引擎),因此它的页面可能与下面的截图不同。
安装指南 在线预览
  1. 登录你的谷歌账户并访问Google CSE来创建自定义搜索。 在“需要搜索的站点”(Sites to Search)中填入你的Hexo站点域名。 在“语言”(Language)选择框中选择正确的语言。 然后填写自定义“搜索引擎名称”(Name of the search engine)。 点击“创建”(Create)按钮完成引擎的创建。

    创建自定义搜索 - Google CSE
  2. 然后,点击页面上的“添加到你的站点”(Add it to your site)右侧的“获取代码”(Get code)按钮。 从HTML代码中复制cx的值,填入对应的主题配置项中。

    获取代码 - Google CSE

    例如,下面的HTML代码:

    Google CSE HTML代码
    1
    2
    <script async src="https://cse.google.com/cse.js?cx=012345601234560123456:abcdefghijklmn"></script>
    <div class="gcse-search"></div>

    对应下面的主题配置:

    _config.icarus.yml
    1
    2
    3
    search:
    type: google_cse
    cx: 012345601234560123456:abcdefghijklmn

Insight

安装指南

  1. Insight为本站默认的站内搜索引擎。 你可以通过下面的主题配置来启用它:

    _config.icarus.yml
    1
    2
    3
    search:
    type: insight
    index_pages: true # 可选项,默认为`true`。设置为`false`时从搜索结果中排除所有页面(page)
  2. Insight不需要任何外部服务。 生成网站时,它会把文章、页面、分类和标签的文字保存到content.json文件中,搜索框会下载这个文件并在浏览器中搜索。 自hexo-component-inferno 4.2.0起,搜索关键词按纯文本匹配,不再被当作正则表达式;搜索结果也会被转义,以纯文本显示。 你还可以用↑和↓选择搜索结果,按Enter打开它。

快捷键

除百度搜索外,上面所有的搜索插件都支持下面的快捷键:

  • /:打开搜索框。正在输入框、文本框或其他可编辑内容中输入时除外。
  • Ctrl + K(macOS上为⌘ Command + K):打开搜索框,正在输入时也可以使用。
  • Esc:关闭搜索框,焦点会回到打开搜索框之前的位置。

用Tab等方式让导航栏上的搜索按钮获得焦点时,不会打开搜索框;请在按钮上按Enter或空格,或者点击它。 用Tab等方式把焦点移出已打开的搜索框时,搜索框会关闭。

文章内容有误?请点击此处提交修改。
作者

PPOffice

发布于

2024-06-22

许可协议

CC BY-NC-SA 4.0

正在加载贡献记录…