很多地方都需要用户上传头像,因为各种原因,用户不会上传头像。为此谷歌等甚至想出了用字母来作为用户头像的方法。于我而言,我是不会上传一个让我尴尬的照片的。之前我的头像是用汇编指令拼出来的我之前的用户名,现在我不用那个用户名了,用什么作头像变成一个非常重要的问题。

今天偶然发现,Irreal网站的作者在disqus上的头像是自己网站的二维码,我的blog是向Irreal学习的,所以嘛,我也要用二维码作为在disqus上的头像。

于是问题转化为如何生成二维码。与其依赖那些花里胡哨的网站(用网站是不可能用网站的……),自己生成二维码是必须的。如果您是我网站的访客可能会注意,我用了hexo-helper-qrcode在每个页的分享功能中加入了二维码生成,而这个插件使用的是qr-image。如何用这个Node.js的包来生成二维码呢?

包的所在目录里运行Node.js,然后执行下面的代码生成二维码。

1
2
3
var qr = require('qr-image');
var qr_png = qr.image('https://chriszheng.science/', {type: 'png', size: 6, margin: 0});
qr_png.pipe(require('fs').createWriteStream('url.png'));

效果如图

网站地址的二维码