我的 Gitlab 和 Blog 中的头像都是使用 Gravatar,但是 Gravatar 的访问总是差强人意。看来要手动换成国内镜像了。
顺便说一下,duoshuo 的镜像我也打不开,索性就全用 v2ex 的了。。
Gitlab
#找到配置文件
vi /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
#修改头像链接
#plain_url: # default: http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon
plain_url: http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon
#然后执行
gitlab-ctl restart
gitlab-rake cache:clear RAILS_ENV=production
或
#编辑配置
vi /etc/gitlab/gitlab.rb
#修改链接
gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'
gitlab_rails['gravatar_ssl_url'] = 'https://cdn.v2ex.com/gravatar/%{hash}?s=%{size}&d=identicon'
#然后执行
gitlab-ctl reconfigure
gitlab-rake cache:clear RAILS_ENV=production
Typecho
在 Typecho 的程序目录下找到文件 Common.php
,修改里面的相关函数
/**
* 获取gravatar头像地址
*
* @param string $mail
* @param int $size
* @param string $rating
* @param string $default
* @param bool $isSecure
* @return string
*/
public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
$url = __TYPECHO_GRAVATAR_PREFIX__;
} else {
$url = $isSecure ? 'https://cdn.v2ex.com/gravatar/' : 'http://gravatar.duoshuo.com/avatar/';
}
if (!empty($mail)) {
$url .= md5(strtolower(trim($mail)));
}
$url .= '?s=' . $size;
$url .= '&r=' . $rating;
$url .= '&d=' . $default;
return $url;
}