Re: [amphetadesk-discuss] The <image> element
Status: Beta
Brought to you by:
morbus
From: Morbus I. <mo...@di...> - 2003-02-07 19:23:03
|
>I'm starting to throw together an RSS feed for a site I've done some >work for, and I'm looking at all the features of the spec that don't >seem to be used by any aggregators. Like <image> -- does anyone actually >display them? Some aggregators do display them - AmphetaDesk doesn't, by default, for a few reasons. One, not a lot of people know about the 88x31 size restriction so they're throwing in big honkin' ugly images that severely distort display in a browser. Of course, I could force 'em to the 88x31 in the HTML, but that's a mere hack based on a *recommended* size that's never been written in a spec. It also makes useless the height/width elements that an RSS producer would expect to be (correctly) adhered to. Two, myself, I'm not a fan of 'em all that much. I'm of the opinion that an RSS feed and the data within are a) what people want to see - why else would they be using an aggregator?, and b) the chief determination for "character" of an RSS feed. An image/logo (ie. a visual representation of the site, much like the HTML design that RSS deigns to remove) doesn't contribute to those ends - it's not how you say it, it's what you say. Either way, if you want to see the images, it's really easy to do so. Much like the "have AmphetaDesk show RSS 2.0 <comments>" entry I recently blogged: http://www.disobey.com/dnn/2003/02/index.shtml#001474 it only requires changing one file. First, open up AmphetaDesk/data/templates/index.html. Then, look for the globe icon: <img src="images/globe.gif" ...snipped... > Replace that with: <img src="$channel->{image}->{url}" ...snipped... > Anything in an RSS feed can be accessed in the template in this sort of hierarchic data format, as per these other entries (which will only be defined if they exist): $channel->{image}->{width} $channel->{image}->{height} $channel->{image}->{title} and so on. Note, however, that since not all feeds use images, you'll want to check that they exist first before actually using them, else you'll get errors. Something like this: if ($channel->{image}->{url}) { to_browser(qq{ HTML code }); } else { to_browser(qq{ the original globe image }); } Hope this helps. -- Morbus Iff ( i'm the droid you're looking for ) Culture: http://www.disobey.com/ and http://www.gamegrene.com/ Please Me: http://www.amazon.com/exec/obidos/wishlist/25USVJDH68554 icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus |