Gravatar(Globally Recognized Avatar)是一项用于提供在全球范围内使用的头像服务。只要在 Gravatar 的服务器上上传了自己的头像,便可以在其他任何支持 Gravatar 的博客、论坛等地方使用它。(Wikipedia)

由于某种奇妙的原因,现时 Gravatar 官方服务器在国内已被封锁,方式为 DNS 污染。按默认配置会严重影响网站的访问体验。所以建议修改 Gravatar 源为国内源。

替换 Gravatar 源

全局 Gravatar 源有以下两种修改方法:

宏定义设置

打开网站根目录下的 config.inc.php ,添加如下宏定义:

/** 更换 Gravatar 源 */
define('__TYPECHO_GRAVATAR_PREFIX__', 'https://dn-qiniu-avatar.qbox.me/avatar/'); 

修改实现函数

打开网站目录下的 ./var/Typecho/Common.php ,可以看到头像地址拼接实现方式如下:

public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
    if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
        $url = __TYPECHO_GRAVATAR_PREFIX__;
    } else {
        $url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com';
        $url .= '/avatar/';
    }

    if (!empty($mail)) {
        $url .= md5(strtolower(trim($mail)));
    }

    $url .= '?s=' . $size;
    $url .= '&r=' . $rating;
    $url .= '&d=' . $default;

    return $url;
}

将两个 gravatar.com 的地址换为国内源链接即可,注意链接拼接的格式。

Gravatar 国内源

发文时可用的国内源地址:

https://cdn.v2ex.com/gravatar

http://dn-qiniu-avatar.qbox.me/avatar

https://gravatar.loli.net/avatar

https://dn-qiniu-avatar.qbox.me/avatar

本博客使用的是七牛云的源,响应速度较快,但是由于缓存可能显示的是之前的头像。

Handsome 主题修改 Gravatar 源

自定义主题需要修改在主题中使用的 Gravatar 源,Handsome 主题可在后台外观设置“评论设置 -> 默认gravatar头像”中修改评论的默认头像;在“速度优化 -> gravatar镜像源地址”中设置 Gravatar 镜像源。

QQ 邮箱解析头像

由于国内 Gravatar 未得到广泛使用,大多邮箱没有对应头像,很多博客采用 QQ 邮箱解析 QQ 头像的方式。具体实现方法其他博客有很多相关内容,我尝试使用了一下发现其实现方式为拼接如下 URL:

https://q2.qlogo.cn/g?b=qq&nk=xxx&s=100

其中 xxx 为明文传输的 QQ 号码,100为图像尺寸(支持40,100,640等)。若使用此种方式,只需查看头像的 URL 便可得知发布者 QQ,不利于隐私保护,故本站没有采用这种方案。

Last modification:August 6, 2021
如果觉得我的文章对你有用,请随意赞赏