宇宙搜索

最近做了很多第三方搜索服务的集成,现在包装成一个系列发上来显摆。教程都已经发在我的Github page,Artifact.me。暂时没有中文版,并有可能需要翻墙。

以下是目前写好的教程目录:

代码库:https://github.com/artchen/universal-search

演示:https://works.otakism.com/universal-search

使用演示站请点到为止,别发一堆请求把我的quota全用光了。

本来只是为了找Swiftype的替代品,做完了Google Custom Search的集成以后一鼓作气把现有的几种主要服务都研究了一把。所以就有了这个项目和这些教程。有现成插件的我都用了现成的,比如Algolia对接Hexo已经有hexo-algoliasearch存在。有些服务没有现成的插件,比如Azure Search,我就干脆连插件一起写了,比如hexo-azuresearch

本来还想支持百度的站内搜索,无奈幺蛾子实在太多,还必须用他们的js,最近把DNS搬到Cloudflare并且开启全站https以后干脆就没法爬我生成的index了。放弃。

前端UI是独立与所对接的服务的。换句话说不管用的是哪家的搜索,前端除了搜出来的结果有差别和Logo不一样以外,没有外观上的区别。

除了Hexo本地搜索以外,其他服务都会显示Logo在弹出dialog的底部。出于对(免费)服务提供者及其政策的尊重,请不要删掉这个Logo。

使用方法来说,最简单的如Google Custom Search,只要填写对自己的API Key就可以直接用。Algolia和Azure除了填API Key以外,需要在本地跑一下indexer来生成和上传网站索引,所以暂时只有Hexo能用,别的静态生成器如果有相对的插件的话说不定也可以用。

自以为这个插件多少还是有一点可取之处。各位请理性地根据网站的受众各取所需吧。

Hexo Theme Typescript

Hexo版的Typescript现在可以通过Github下载。

地址:https://github.com/artchen/hexo-theme-typescript

这里放一下中文简介。

必需的Hexo插件:

  • hexo-generator-tag
  • hexo-renderer-ejs
  • hexo-renderer-less
  • hexo-renderer-marked
  • hexo-pagination

编辑主题文件夹下的_config.yml文件来自定义。

编辑Hexo根目录下的_config.yml也需要一些做一些设置:

  • disqus_shortname属性设置成网站的disqus代号,如果不使用disqus请留空
  • theme属性设置成hexo-theme-typescript(如果你重命名了Typescript的主题文件夹,请修改成那个名字)

其他自定义:

  • 替换source/images/logo.png

搜索功能用swiftype实现,请去他们官网自行配置。

宅谈使用了Adobe Typekit提供的字体,如果你不用Typekit,可以在layout/_partial/head.ejs里删除相关代码。

请不要删除页面底部的作者信息和链接。

最后丢一张预览图:

Typescript Demo

希望各位喜欢。