User Icons Testing
-
How will this work with plugins wanting to show a users' avatar?
-
The icons seem to be predominantly red in colour. Is the colour randomly generated?
-
Custom colors ftw. You should add the uid as a classname for custom colors with custom CSS.
Something like user-icon-[uid]
-
@julian you could get the colours to be more varied than that. In my project I used an MD5 hash of the person's username to get a hex colour that's highly likely to be unique. For ex:
$hash = md5( $username ); $hex_colour = substr( $hash, 0, 6 );
JavaScript obviously doesn't implement an
md5()
function but you could maybe use a library? -
@henrywright hell, you could just generate six random hex characters and you'd do fine.
-
@henrywright yeah, there's a chance, but it's rediculously small. You are 99.99999% likely to get a unique color.
-
@pitaj true but calling something like MD5 on a username string will ensure you get the exact same colour for a particular user each time. That's something that's important if you're doing this each time on the fly and not storing the generated image.
-
@henrywright said:
The icons seem to be predominantly red in colour. Is the colour randomly generated?
That's definitely unintentional, just luck
The reason why we select from a set list is mostly because not all colours look good as icons (e.g. pity the user who gets
#ff0000
background), and maybe half don't look good with white as the text colourThese are some fancy colours that I use... (the yellow one doesn't work so well as you can see, and I don't use the greys at all)
-
@julian Nice color selection.
-
@julian Thanks for explaining, that sounds reasonable to me!
Regarding the avatars on the users page https://community.nodebb.org/users
For me, it seems only some are loading. I see a lot of blank white space where an avatar should be. Also if I scroll down the page I see the mystery man instead of the new "letter" icon.
Is this just me? I'm currently using latest Chrome on Chrome OS.
-
@henrywright said:
Yup,
.user-icon
is the offending class andline-height
is the offending property.@pitaj @henrywright So yeah, changing this
line-height
to31px
fixes the issue. Fucking CSS, indeed. -
Thanks everybody for bug testing the user icons The branch was getting a little stale and I had to re-do bits and pieces of it as they conflicted with
master
User Icons have landed in
master
!Best of all, the user icons are all generated via CSS! No image processing required (though that was a possible avenue we considered but decided against).
Guide to implementing this in your own custom themes/plugins
forthcoming.https://community.nodebb.org/topic/6583/0-9-0-breaking-changes/12