]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/todo/avatar.mdwn
modular, not replacement
[git.ikiwiki.info.git] / doc / todo / avatar.mdwn
index 3a4e64b95243af244e13a850f60607f22b15bf1c..91f924fa126fd25f296de803d8830d4627d4ddb4 100644 (file)
@@ -1,42 +1,65 @@
 [[!tag wishlist]]
 
 It would be nice if ikiwiki, particularly [[plugins/comments]]
 [[!tag wishlist]]
 
 It would be nice if ikiwiki, particularly [[plugins/comments]]
-supported user avatar icons.
+(but also, ideally, recentchanges) supported user avatar icons.
 
 Idea is to add a directive that displays a small avatar image for a user.
 
 Idea is to add a directive that displays a small avatar image for a user.
-Pass it the email address, openid, or wiki username of the user.
+Pass it a user's the email address, openid, username, or the md5 hash
+of their email address:
 
        \[[!avatar user@example.com]]
        \[[!avatar http://joey.kitenet.net/]]
        \[[!avatar user]]
 
        \[[!avatar user@example.com]]
        \[[!avatar http://joey.kitenet.net/]]
        \[[!avatar user]]
+       \[[!avatar hash]]
 
 These directives can then be hand-inserted onto pages, or more likely,
 
 These directives can then be hand-inserted onto pages, or more likely,
-included in eg, a comment post via a template. Possibly included in a
-recentchanges page item via that template too?
+included in eg, a comment post via a template.
+
+An optional second parameter can be included, containing additional
+options to pass in the 
+[gravatar url](http://en.gravatar.com/site/implement/url).
+For example, this asks for a smaller gravatar, and if a user does
+not have a gravatar, uses a cute auto-generated "wavatar" avatar.
+
+       \[[!gravatar user@example.com "size=40&default=wavatar"]]
+
+The `gravitar_options` setting in the setup file can be used to
+specify additional options to pass. So for example if you want
+to use wavatars everywhere, set it to "default=wavatar".
 
 The avatars are provided by various sites. For email addresses, it uses a
 [gravatar](http://gravatar.com/). For a wiki username, the
 user's email address is looked up and the gravatar for that user is
 displayed. (Of course, the user has to have filled in their email address
 
 The avatars are provided by various sites. For email addresses, it uses a
 [gravatar](http://gravatar.com/). For a wiki username, the
 user's email address is looked up and the gravatar for that user is
 displayed. (Of course, the user has to have filled in their email address
-on their Preferences page for that to work.)
+on their Preferences page for that to work. Also, when the user changes
+their email address in Preferences, the gravatar won't change until the
+wiki is rebuilt.)
 
 For openid, openavatar sucked and is now dead. So we need to use an email
 address instead, I guess. Problem is that the email address of a given
 openid is only known when that user is logged in and making a change.
 And we don't want to leak an openid user's email into a page either.
 Hmm. Suppose the gravatar hash could be calculated from the email address
 
 For openid, openavatar sucked and is now dead. So we need to use an email
 address instead, I guess. Problem is that the email address of a given
 openid is only known when that user is logged in and making a change.
 And we don't want to leak an openid user's email into a page either.
 Hmm. Suppose the gravatar hash could be calculated from the email address
-and embedded instead of the openid?
+and embedded instead of the openid? That would work for comments,
+but not if the directive were used elsewhere.
 
 
-Or, for openid, could use <http://paulisageek.com/openidavatar>.
+Or, for openid, could use <http://paulisageek.com/openidavatar>. Which
+works fine, but users are not likely to figure out what they need to do to
+get an avatar associated with their openid.
 
 
-An optional second parameter can be included, containing additional
-options to pass in the 
-[gravatar url](http://en.gravatar.com/site/implement/url).
-For example, this asks for a smaller gravatar, and if a user does
-not have a gravatar, uses a cute auto-generated "wavatar" avatar.
+---
 
 
-       \[[!gravatar user@example.com "size=40&default=wavatar"]]
+Alternative, not overdesigned approach:
 
 
-The `gravitar_options` setting in the setup file can be used to
-specify additional options to pass. So for example if you want
-to use wavatars everywhere, set it to "default=wavatar".
+Modify comments plugin to have an option to display avatars.
+
+When posting a comment, fill in the avatarhash field in the template.
+The hash is calculated from the user's email address. If the user's email
+is not known, skip it. 
+
+End. :P
+
+---
+
+[libravatar](https://launchpad.net/libravatar) is a federated avatar
+system. Young but might be the right way to get avatars eventually.