「Pixiv名畫師賞」第三十六期·December 2016

pixiv201612

本期的やじるし是一位脑洞绝妙的画师,强力推荐。

以上8位。ごゆっくり。

「Pixiv名畫師賞」第三十五期·November 2016

pixiv201611

以上9位。ごゆっくり。

「Pixiv名畫師賞」第三十四期·October 2016

pixiv201610

估算了存量和用量的比例, 这个从2013年5月启动,折射了我个人几年间的审美变迁的系列,大概还能继续一年左右。

以上8位。ごゆっくり。

宇宙搜索

最近做了很多第三方搜索服务的集成,现在包装成一个系列发上来显摆。教程都已经发在我的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能用,别的静态生成器如果有相对的插件的话说不定也可以用。

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

「Pixiv名畫師賞」第三十三期·September 2016

pixiv201609

珍惜最后一学期。

以上8位。ごゆっくり。

Google Custom Search and Excerpt for theme Typescript

总结一下最近对Typescript主题的更新。

因为Ghost本身没有搜索功能,之前包括我在内的很多用户都是用Swiftype提供的索引服务来做搜索。最近Swiftype业务调整,直接砍了免费版,收费版从每月$299起跳,一跃成为了贵族服务。所以我只能另寻出路。

Swiftype那个前端插件的体验我是相当喜欢的,所以这次决定在其基础上集成Google Custom Search Engine的JSON接口来拯救宅谈的搜索。

思路相当简单,取回JSON数据以后更新列表和metadata就是了。Demo看效果就用宅谈吧。源码也已经放到Github Repo,欢迎取用。

在typescript主题里Google Custom Search默认是启用的。顾虑墙的问题、有更好的解决方案或者单纯不想要的话可以在app.js里改option为false。

以后有空的话再做别的搜索服务的API吧,比如Bing。

接下来是很多用户要求的适合中文的截断功能。因为我不想改Ghost源码,所以在前端用regex暴力截了。如果觉得这种做法太简粗或者单纯不需要这个功能,改option为false即可。

此外我删除了位于post.hbs和page.hbs的Disqus代码。有些用户取用主题的时候没有更改这些文件,导致我的disqus crawler抓了很多别站的页面。今后请使用Ghost的code injection来嵌入第三方插件。对于Disqus来说,请在footer嵌入以下代码:

<script>
(function() {
var disqus_username = 'YOUR_DISQUS_USERNAME';
var d = document, s = d.createElement('script');
s.src = '//' + disqus_username + '.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
if ($('body').hasClass('post-template')) {
(d.head || d.body).appendChild(s);
}
})();
</script>

祝大家开学/开工愉快。

Update:

现在Hexo版也支持Google Custom Search。同时Hexo版加入了本地搜索功能,可以在_config.yml设置选择哪一种搜索。

「Pixiv名畫師賞」第三十二期·August 2016

pixiv201608

以上8位。ごゆっくり。

「Pixiv名畫師賞」第三十一期·July 2016

pixiv201607

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

希望各位喜欢。