Typecho评论换Gravatar镜像源以及优先解析QQ头像


技术233 阅0 评

Gravatar镜像源:

https://gravatar.pho.ink/avatar/
https://cdn.v2ex.com/gravatar/
https://gravatar.zeruns.tech/avatar/
https://gravatar.loli.top/avatar

集成gravatar和QQ头像的镜像源
https://gravatar.fanfuns.com/avatar/
https://cravatar.cn/avatar/

方法一

可以使用https://cravatar.cn/ ,里面有文档。次方法比较简单。也可以换其他Gravatar镜像源

将以下代码加到站点根目录的 config.inc.php 中即可:

/**
 * 替换Gravatar头像为Cravatar头像
 *
 * Cravatar是Gravatar在中国的完美替代方案,你可以在https://cravatar.cn更新你的头像
 */
define('__TYPECHO_GRAVATAR_PREFIX__', 'https://cravatar.cn/avatar/');

方法二

当你想用【自建Gravatar镜像源+QQ头像】时,可以使用以下方法。

[quote color="info"]此教程载自【浅小沫的博客】,转载请注明出处。[/quote]

在typecho根目录 /var/Typecho/Common.php 文件,注释掉大约在第 1010 行至第 1028 行的代码

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

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

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

    return $url;
}

取而代之的是下面的代码(用的是 v2ex 和 zeruns's Blog 的镜像源,比较稳定快速)

public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
$reg = "/^\d{5,11}@[qQ][Qq]\.(com)$/";
if (preg_match($reg, $mail)) {
$img = explode("@", $mail);
$url = "https://q1.qlogo.cn/g?b=qq&nk={$img[0]}&s=100";
} else {
if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
$url = __TYPECHO_GRAVATAR_PREFIX__;
} else {
$url = $isSecure ?  'https://gravatar.fanfuns.com/avatar/' : 'https://gravatar.zeruns.tech/avatar/';
// $url .= '/avatar/'; 这一行暂时用不到,先注释掉
}
if (!empty($mail)) {
$url .= md5(strtolower(trim($mail)));
}
$url .= '?s=' . $size;
$url .= '&r=' . $rating;
$url .= '&d=' . $default;
}
return $url;
}

此代码设定为优先解析 QQ 头像,以及 Gravatar 使用国内镜像源

最后更新 2024-03-10
评论 ( 0 )
OωO
隐私评论