Oct 8 2015
jQuery-based Local Search Engine for Hexo

    jQuery-based Local Search Engine for Hexo

    早在我最初从 Ruhoh 迁移博客到 Hexo 时,我就有动手写一个本地的搜索引擎的想法。比起使用第三方服务的站内搜索,本地搜索引擎有几个好处:

    1. 更可靠。不用担心由于某些显而易见的原因导致第三方服务不可访问。
    2. 速度更快。不管是 Google 还是 Swiftype ,第三方搜索服务的加载速度总是比较慢,影响浏览体验。
    3. 定制性更强。由于是自己写的插件,检索的具体策略、界面样式都可以自己定义,满足极客们 Bigger than Bigger 的需求。

    这个想法起初是受了 Christian Fei 的 Simple Jekyll Search 启发。在了解了它的原理后,我认为在 Hexo 上实现一个本地搜索引擎并不复杂。大致的思路是:

    • 写一个 generator ,生成站点所有文章的索引数据;
    • 当在搜索框中输入关键词时,触发 Javascript 的特定函数,在这个索引数据里头检索包含该关键词的文章;
    • 利用 jQuery 在页面中动态插入检索结果。
Read More

Aug 1 2013
Alternative Video Source According to IP Address

    我在撰写上篇博文的时候遇到了一个有趣的问题:如何根据ip所在地选择视频源?

    由于你很了解的一个原因,国外流行的视频网站(e.g.YouTube)在国内一般不能访问。为了同时照顾大陆和其他国家地区的视频观看者,@李扬彦博士把我们的视频分别上传到了优酷和YouTube上。于是,作为一名勤奋勇敢的大陆人民(我自豪!),我当然是优先选择嵌入优酷上的视频。但我随后又萌生了一个念头:如果访问者是个外国朋友,访问优酷不一定能像 YouTube 般顺畅(尤其是前者还有万恶的30秒广告!)。能否根据ip所在地的不同,让ip地址不在中国的朋友使用YouTube上的视频源呢?

    于是我就基于 jQuery 和 AJAX 写了这个插件。思路很简单:

    1. 默认先加载优酷上的视频;
    2. 读取访问者的ip信息,判断其所在的国家(或地区);
    3. 如果所在地不是地大物博,千秋万代的大陆地区,就自动将视频源切换到YouTube上;
    4. 用户还可以通过下方的选择按钮切换视频源。
Read More

© 2016 Joseph Pan with help from Hexo and .