Return of the Better Recent Comments gadget

Update Dec 29th 2011. You might be interested of the newer version: Son of the better recent comments gadget.

---

Just few days ago I made a javascript gadget for Blogger that displays recent comments similarly to the Recent Comments in Gadget directory, but better. Also has some extra functionality, and bugs fixed, of course.



I did not stop there, I now present the newest "Return of the Better Recent Comments". Who would not like to have recent comments like these two examples? (right one is in Finnish, from my MS-potilas blog)





Features



- all options and features that my previous version had

+

- displays either anonymous (mystery man) icon, site favicon or blogger profile icon

- you can customize "header" and "footer" and tooltip text

- your (blog author) comments can be displayed differently (CSS styling)

- more options to make this suit also bigger blogs

- I think I forgot something...



To get the blogger avatars, I had to make a Python app with Google App Engine (here is the newer, current version), because it is not possible to get them by only javascript. Blogger avatars can be turned off to make gadget run faster, site favicons will then still be used (for example, B icon for Bloggers).



Here is the code. You can put this in HTML/Javascript gadget.



Data provided by Pastebin.com - Download Raw


Configuration



There is some CSS at first, it can be changed to your liking. After that there comes javascript block and configurable variables. Here is a list of them and a short explanation.



numRecentComments: how many comments you want displayed

numPerPost: how many comments per post max is the goal (will fallback when necessary)

maxCommentChars: how many chars max in excerpt of comment

maxPostTitleChars: how long post title can be, or 0 (=don't cut title)

txtWrote: header text, links to comment

txtMore: footer text, links to comment

txtToolTip: text to be shown when mouse hovers over comment

txtAnonymous: "Anonymous" username localized, or empty if English text "Anonymous" is to be used

getTitles: fetch titles from post feed; if false, titles are generated from url

trueAvatars: fetch blogger avatars from profile page, not just blogger favico

urlMyAvatar: especially if trueAvatars = false, set here the url to your avatar image. A bit faster, if set.

urlMyProfile: if you don't have a profile gadget on page, put your profile url here!

urlAnoAvatar: anonymous avatar, you can change from mystery man to a custom one, if you want

maxResultsPosts: can be empty or &max-results=### where ### is number of posts to get from posts feed to get titles

maxResultsComments: empty or &max-results=### where ### is number of comments to get from comments feed



txtWrote, txtMore and txtTooltip



These can be just normal text. If txtWrote is normal text, it is preceded by commenter name. So if txtWrote is "wrote..." the result would be Jason wrote..., if Jason was commenting.



All texts can also have simple variables, which are: [title], [user], [date], [time], [datetime] and [date format]. [title] is substituted by Post title, where comment belongs. [user] is substituted by commenter name. [date] displays date in current (user's computer's) locale, [time] displays time and [datetime] date and time in user's locale.



format in [date format]



In format some character combinations are substituted:



yyyy=long year, yy=short year, MM=month(01-12), dd=monthday,

hh=hour, mm=min, ss=sec (time/hours in 24-hour clock)



but format can contain also other text/characters (which are displayed as is).



"Written [date MM/dd/yyyy hh:mm]" could become "Written 11/03/2011 08:30".



Script has good configuration defaults, so if all this was too complicated for you, you don't have to care about it. If you don't have a profile gadget on your page, put the profile url in the code I provided, and you're ready to go. If you have a profile gadget, then you don't have to change anything, just copy and paste.



As usual, the gadget is installed on this blog.



Note: If you install this on a very high traffic blog (thousands of hits per day), I suggest you to make your own Google App Engine application to get Blogger avatars (see this article), as I'm using the free version and it might get slow on heavy load. I don't know if it will, we'll see. Or if it gets slow, just turn Blogger avatars off (trueAvatars = false), or use the newer version, which does not use the App Engine application.



Problems in Internet Explorer?



By default many Blogger templates have set Internet Explorer to use EmulateIE7. IE7 emulation has some bug with blog feeds in foreign languages that can make the gadget not show properly. You can fix this by editing the template, find line:

<meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible'/>
(or something similar with text "EmulateIE7"), and change it to:

<meta content='IE=EmulateIE8' http-equiv='X-UA-Compatible'/>


Update Dec 29th 2011. Newer version here: Son of the better recent comments gadget.

Update Jan 2nd 2012: Deleted comments (This post has been removed by the author.) no longer have "alternate" link in comment feeds, like they used to, which can cause the recent comments to disappear. I modified the script to prevent this: line 121 is modified and line 128 is new.