蔚蓝触点 Azuretouch

Azuretouch
Touch your future

Gravatar 头像问题

我的 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;
    }
未经允许不得转载:蔚蓝触点 Azuretouch » Gravatar 头像问题

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址