18-97-9-172.crawl.commoncrawl.org | ToothyWiki | ToothyWikiInternals | RecentChanges | Login
Overview
There's an RSS feed of RecentChanges [here]. The [validator] says it's valid.
Configuration
The script can take any combination of the following arguments in the URL:
- a number to tell it how many days' worth of items to return (the default is 3)
- an 'm' to ignore minor edits (the default is to send them)
- and an 's' to only list one entry for each page (the default is to include all edits); in this mode changes are aggregated into a single summary, and the link goes to a diff between the earliest and the lastest of the revisions thus aggregated.
- a 'c' to prepend an item for the chat channel, giving the date/time of the last activity seen.
So [this] link, for instance, is a feed of non-minor edits in the last 24 hours.
RecentChanges page now includes a [SubscribeMe] link that will attempt to add the RecentChanges feed to whichever one of a number of web-based aggregators one might be using.
Can a <link> tag be added to the header (of at least RecentChanges)? Like:
<link rel="alternate" type="application/rss+xml" title="RSS" href="url/to/rss/file">
as per [this spec]? This will, for example, enable Firefox?'s built-in LiveBookmarks? RSS reader to work. --Bobacus
- So done. Tell me if it's broken. - MoonShadow
Overview
There is a Javascript ticker [here]. Currently, MSIE? and Mozilla/Firefox? are supported. The ticker is designed with the RecentChanges feed in mind, but should cope with any RSS feed, although it may skip ignore much of the metadata. The ticker will read the first channel in the feed, ignoring any others. The ticker assumes items in the channel are sorted by publication date, newest first; this may not be the case for some feeds, although it currently happens to be the case for SlashDot?.
The ticker provides a single line of text, containing a version number, the channel title, then the latest few entries from the feed.
Installing
Right-click on an empty area of your Start menu, go to "toolbars".. "new toolbar" and type http://www.toothycat.net/~sham/ticker.html into the resulting box.
Optionally, drag the toolbar to an unused edge of your desktop, right-click on the title, tick "always on top" and "auto-hide", then untick "show title".
Customising
If reading the RecentChanges feed, the version number will turn red and clickable when new versions of the ticker become available on the server; clicking on the version number will then cause the page to refresh.
Each entry's title has a tooltip containing the publication date; each title is followed by a [*], which either has a tooltip containing a summary of edits, or expands to a summary of edits, depending on the options you have selected.
Clicking on the channel title toggles display of options. Stuff you can do:
- RSS feed location
- this is the URL that the ticker fetches the RSS feed from. Note that normally if the ticker is running remotely, it'll only have permission to talk to the site you got it from, and this is a Good Thing (in other words, save your own copy and run it locally if you want to use feeds other than RecentChanges).
- Items to display
- how many entries get displayed by the ticker at once.
- Use folding?
- If set to 1, entry titles are contracted if longer than a certain amount. Moving the mouse over them will make them expand to full length.
- Fold summaries?
- If set to 1, [*]'s expand to summaries on mouseover, otherwise they have tooltips.
- Number of characters to keep at start and end of folded words
- if using folding for titles, entry titles have this many characters, followed by a pair of full stops, followed by this many characters again; unless they too short to make folding worthwhile, in which case they aren't folded.
- Time between refreshes (minutes)
- wot it says on the tin
- Stylesheet URL
- enter the URL of your favourite stylesheet here. If you want to do your own, [ticker.css] contains sections for pretty much all the useful classes, even though most are empty. The [Zen Garden] sample seems to work surprisingly well, actually.
- Enable refresh?
- while set to 0, ticker doesn't try to load the feed.
- Custom JavaScript
- use this to *really* customise the ticker, if you are that way perverted. Code in here executes just once on ticker startup and every time you change it. There is a global object called "hooks" which has properties you can assign functions to in order to override event handlers. All event handlers are set to defaults immediately before the custom code executes, so any you don't explicitly set are reset to default. Note the default handler code has changed in v1.8. Current defaults are:
// new item in feed
hooks.onNewItem = function()
{
// code to alert user to a new change goes here
};
// user looked at new item
hooks.onCancelNewItem = function()
{
// stop doing whatever you did to alert user
// document.bgColor = bgColor;
// deprecated since 1.8 - I use CSS instead; you can make yourself stylesheets
// and use setStylesheet(url) like me, or you can slap this back in explicitly if you'd rather but I ain't gonna support it.
};
// error setting new custom hooks you just typed in
hooks.onHookError = function(err)
{
alert(err);
};
As an example, AlexChurchill/TickerSoundJavaScript shows how to get it to play a sound effect whenever the feed receives a new item.
- Ticker Source
- if you want to do something *really* perverted with CSS, you may want to know the exact structure of the ticker HTML. This displays it.
Click on the Save button to save the settings to a cookie. No settings take effect until saved; some won't take effect until the ticker next checks the feed for changes.
Other ways of reading RSS
Other uses for RSS
- LiveJournal and SlashDot? both allow syndication of arbitary rss feeds
- You can insert the following into an HTML page to syndicate RecentChanges:
<script src="http://rssxpress.ukoln.ac.uk/lite/viewer/?rss=http%3A%2F%2Fwww.toothycat.net%2Fwiki%2Frss.pl%3F1ms"></script>
There is a Perl script to convert NNTP? NewsGroups to an RSS feed [here]. MoonShadow doesn't have the resources to run public NNTP->RSS feeds, but it might be of some use to someone else. Feed validates, and the [ticker] works with the output.
Implementation notes:
- Allow aggregation of multiple feeds (with different refresh rates for each; also need finer-grain control over items: display up to x from each feed, y total, fold to only z characters after nth item)
- Wrap as Firefox toolbar [extension]
- Items that you've not clicked on have the CSS class fresh as well as the usual CSS class title until you click on them. This can be abused as people see fit by altering the settings to use a local stylesheet instead of the [default].