公告 下线 Gravatar 头像功能,改由 letter_avatar 代替,并且没上传头像不允许发帖了

huacnlee · 2015年10月28日 · 最后由 hw676018683 回复于 2015年11月02日 · 9097 次阅读

Gravatar 之前一直是由 Ruby China 的服务器做反向代理来实现的,但实际上偶尔存在一些稳定性问题,比如今天; 另外其实我们一直很想设定一个限制:没头像不允许发帖! 而 Gravatar 带来的问题是,从程序上无法检测用户到底有没有头像。

鉴于上面的原因,我们讨论决定还是去掉 Gravatar,改用 Discourse 那样基于账号名称生成默认头像的方式,这个是用 letter_avatar 来实现的,原理和昨天我实现的验证码功能类似,调用 ImageMagick 生成图片。

然后,新的规则

  • 如果你没有在 Ruby China 的个人设置页面上传头像,你将无法发布新话题

PS: 新调整的头像,文字有点歪,下个发布修正一下... 😄

支持。除了文子头像有点略丑之外挺好的

建议文子头像使用同一一种背景颜色,否则反而降低了正常头像的识别度

#2 楼 @psvr 就是为了让没头像的能够区别开,所以才有不同的颜色,不然一眼望过去,看起来都是同一个人

赞,letter_avatar 现代多了。

:plus1: :plus1: :plus1:

#4 楼 @kgen 和你的比那个现代 😄

7楼 已删除

刚开始看到好多没头像的,还以为是我自己的网络问题嘞。。。 原来的头像找不到了,就用了现在的,感觉自己帅帅的~~~

打开首页,我还以为被什么牛逼的团队刷屏了,感觉文字头像还是挺酷的,简单大气。

吓得赶紧看了下自己头像

太棒了, 原本以为是自己太帅头像显示不出来

我觉得 letter_avatar 默认的就挺好。

文字头像挺好看的 👍

16楼 已删除

那么我叫 Daniel,我的头像不就是 头文字D 嘛?

我发现了这个..@huacnlee

我更喜欢 ruby_identicon 这个 gem ^_^

https://github.com/chrisbranson/ruby_identicon

哈哈哈 头文字 A 到头文字 Z 都有了

上传头像,直接服务器报错。

#6 楼 @huobazi 嗯,的确我这个现代多了,哈哈~ 我也是那年被 Jony Ive 掰弯了才设计了这么个 Avatar 的。

@huacnlee 有个小 bug,未登陆情况下右边侧栏有上传头像的功能,如下图:

于是就把我的 gravatar 头像给砍了……

默默的把默认的上传了😂

我加了个判断,如果有头像,就不显示这个提示了。

can create 有两个条件,头像是其中一个。

+    <% if current_user && !current_user.avatar? %>
     <div class="panel panel-default clearfix">
         <div class="panel-body">
             <p><%= t('topics.have_no_avatar')%></p>
             <%= link_to t('common.upload'), edit_user_registration_path, class: 'btn btn-warning btn-block' %>
         </div>
     </div>
+    <% end %>

字母挺好看的,就不上传了

我试试看我有没有上传头像

头像上传两次的话,『我的主页』的 link 进去头像不会刷新,需要 ctrl+r 刷新页面才回显示第二次上传的头像

#31 楼 @ywjno ruby-china 的 头像上传会同名覆盖,会这样的。

太过分了

话说那个 “高级会员” 是干什么的?新的会员分级制度?

找头像好麻烦

支持

大家都有头像了,倒感觉页面有点乱了 不知道其他人有没有这种感觉?

头像测试 XDDDD

我觉得自己搭反代挺好的啊,做个缓存,头像没有的问题,以及加载转圈的问题都好了,也没有用户再吐槽了。

proxy_cache_path /disk3/gravatar_cache levels=1:2 keys_zone=gravatar:10m inactive=7d max_size=2g ;
    server{
     listen  80;
     listen  443 ssl;
     ssl_certificate      /usr/local/tengine/conf/ssl.crt;
     ssl_certificate_key   /usr/local/tengine/conf/ssl.key;
     ssl_protocols        TLSv1 TLSv1.1 TLSv1.2;
     ssl_ciphers          'AES128+EECDH:AES128+EDH:!aNULL';
     server_name gravatar.oschina.net ;
     location / {
     expires      30d;
     valid_referers none blocked *.oschina.net localhost;
     if ($invalid_referer) {
      rewrite ^/  https://git.oschina.net/logo.gif;
      }
      proxy_cache gravatar;
      proxy_cache_valid 200 302 1h;
      proxy_cache_valid 404 1m;
      add_header X-Cache "$upstream_cache_status";
      proxy_redirect off;
      proxy_pass              https://en.gravatar.com;
      proxy_set_header Host  $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Accept-Encoding "";
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto https;
      proxy_set_header User-Agent $http_user_agent;
     }
     access_log off;
     error_log /dev/null;
    }

你说的这个 “今天出现的稳定性问题” 具体是什么问题呢?说不定以后也会碰到,可以预防下 :)

测试看看头像

试试头像 @huacnleehttps://ruby-china.org/tuliang 的头像下面文本显示错了 怎么变成 “企业 HR” 了

#45 楼 @huacnlee

以前用 github 登陆,我记得是有头像的,现在是必须登录后,上传头像?

而且在上传头像后,看了下之前发过的帖子,头像已更正过来,而回复依旧是字母头像

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册