It looks like the change would be two-fold:
- extract the value of the rel attribute in cleanhtml.pl and pass it to LJ::ljuser() via its options hash
- add support for a rel hash field in LJ::ljuser in ljlib.pl
My Perl is really rusty, and I don't have a local LJ setup (nor the time to do so), so here's an untested patch which probably sucks. If someone reading would test this on a goathack, I'd be most appreciative.
In expanding <lj user/> and <lj comm/> elements, LiveJournal should pass-through the rel attribute to the generated a element. (See also this post from evan.)
- XFN is a simple set of rel values which allow people to mark up social relationships in a simple, distributed way. Here's an example of how I might want to mark up references to my fiancée in my journal:
<lj user="kirinqueen" rel="friend met neighbor sweetheart"/>
- Technorati Tags uses rel="tag" to add topical metadata to blog posts in a reasonably concise way. Since http://www.livejournal.com/users/name and http://www.livejournal.com/community/name are both valid tag-spaces, it might be desirable for people to use them as such. For instance, when discussing some Emacs feature, you can easily tag your post as being about Emacs while simultaneously pimping the emacs community:
<lj comm="emacs" rel="tag"/>
- One of the nicest things about the rel attribute is that it's a space-separated list of values, so it's easy to multiple systems in one link. For instance, there's a proposal for using vote-for, vote-against, and vote-abstain for a simple approval system (see vote links for more). To extend the previous example, we can establish our vote for the One True Editor while simultaneously tagging our post and pimping the community:
<lj comm="emacs" rel="tag vote-for"/>
- Finally, passing through rel values would allow LiveJournal users to selectively employ rel="nofollow" when speaking about other LiveJournal users and/or communities which they don't want to support. (I imagine this is where this proposal will get the most objections.) Example:
<lj comm="vim" rel="tag vote-against nofollow"/>
Right, so that's the speel. I imagine that the code only needs to be changed in one place, and that such a change would be pretty straightfoward. What do you think?