Headlines Plugin
Description
This plugin displays RSS and ATOM feeds from news sites. Use it to build news portals that show headline news.
Note: Syndic8.com (
http://www.syndic8.com/ ) is a good site listing many RSS feeds.
Syntax Rules
%HEADLINES{"..."}%
| Parameter | Explanation | Default |
"..." | source of RSS feed; this can be an url (starting with http) or a web.topic location for internal feeds | None; is required |
href="..." | (Alternative to above) | N/A |
refresh="60" | Refresh rate in minutes for caching feed; "0" for no caching | Global REFRESH setting |
limit="12" | Maximum number of items shown | Global LIMIT setting |
header | Header. Can include these variables: - $channeltitle, $title: title of channel (channel.title) - $channellink, $link: link of channel (channel.link) - $channeldescription, $description: description (channel.description) - $channeldate, $date: publication date of the channel (channel.pubDate) - $rights: copyrights of the channel (channel.copyright) - $imagetitle: title text for site (image.title) - $imagelink: link for site (image.link) - $imageurl: URL of image (image.url) - $imagedescription: description of image (image.description) | Global HEADER setting |
format | Format of one item. Can include these variables: - $title: news item title (item.title) - $link: news item link (item.link) - $description: news item description (item.description) - $date: the publication date (item.pubDate, item.date) - $category: the article category (item.category) | Global FORMAT setting |
The
header and
format parameters might also use variables rendering the
dc,
image and
content namespace information. Note, that only bits of interest have been implemented
so far and those namespaces might not be implemented fully yet.
Rendering the dc namespace
The following variables are extracting the
dc namespace info,
that could be used in
header and
format. Nnote, that some of the variables are
already used above. This is done by purpose to use different feeds with the
same formating parameters. If there's a conflict the non-dc tags have higher precedence,
i.e. a <title> content </title> is prefered over
<dc:title> content </dc:title> .
- $title: channel/article title (dc:title)
- $creator: channel creator (dc:creator)
- $subject: subject text; this will also add an image according to the subject hash list, see above (dc:subject)
- $description: ... (dc:description)
- $publisher: the channel/article publisher (dc:publisher)
- $contributor: ... (dc:contributor)
- $date: ... (dc:date)
- $type: ... (dc:type)
- $format: ... (dc:format)
- $identifier: ... (dc:identifier)
- $source: ... (dc:source)
- $language: ... (dc:language)
- $relation: ... (dc:relation)
- $coverage: ... (dc: coverage)
- $rights: ... (dc: rights)
Rendering the image namespace
An
image:item is converted into an <img> tag using the following mappings:
-
src: image url (rdf:about attribute of the image.item tag) -
alt: image title (title) -
width: image width (image:width) -
height: image height image:height)
Rendering the content namespace
The variable $content is refering to the <content:encoding> content </content:encoding>.
Examples
Write
%HEADLINES{"http://slashdot.org/slashdot.rdf"
header="*[[$link][$title]]:* $description"
format="$t* [[$link][$title]]"
}%
to get the latest Slashdot news as a bullet list format:
Write
%HEADLINES{"http://www.business-opportunities.biz/feed" limit="3"}%
to get the latest postings on the "Business Opportunities" weblog:
HeadlinesPlugin ERROR: 403 Forbidden
Plugin Settings
Plugin settings are stored as preferences variables. To reference
a plugin setting write
%<plugin>_<setting>%, for example,
%HEADLINES_SHORTDESCRIPTION%
- One line description, shown in the TextFormattingRules topic:
- Set SHORTDESCRIPTION = Build news portals that show headline news based on RSS news feeds from news sites.
- Refresh rate in minutes for cached feeds. Disable caching:
0, default: 60
- Maximum number of items shown. Default:
100
- Use LWP::UserAgent, or fallback to TWiki's internal
getUrl() method, Default: yes- Set USELWPUSERAGENT = yes
- Timeout fetching a feed using the LWP::UserAgent, Default:
20- Set USERAGENTTIMEOUT = 20
- Default header: (variables are explained in the syntax rules)
* Set HEADER = <!-- $title @ $link -->
- Default format of one item: (variables are explained in the syntax rules)
* Set FORMAT = $t* [[$link][$title]] <span style="font-size: 6pt;">$date</span>
Style sheets
The default HEADER and FORMAT settings use the following styles. See the
style.css file
defining the default CSS properties (indentation illustrates enclosure).
- headlinesRss: output of the HeadlinesPlugin (div)
- headlinesChannel: channel header (div)
- headlinesLogo: channel logo (div)
- headlinesTitle: channel title (div)
- headlinesDate: channel date (div)
- headlinesDescription: channel description (div)
- headlinesRight: channel copyright (div)
- headlinesArticle: one news item (div)
- headlinesTitle: article title (div)
- headlinesDate: article date (span)
- headlinesCreator: author of article (span)
- headlinesSubject: subect category of the article (span)
- headlineText: article text (div)
Plugin Installation Instructions
- Download the ZIP file from the Plugin web (see below)
- Unzip
HeadlinesPlugin.zip in your twiki installation directory. Content: File: | Description: |
pub/TWiki/HeadlinesPlugin/style.css | default css |
lib/TWiki//HeadlinesPlugin.pm | Plugin Perl module |
data/TWiki/HeadlinesPlugin.txt | Plugin topic |
- Test if the plugin is correctly installed: Check if above examples show a news feed instead of variable.
Plugin Info
--
TWiki:Main.PeterThoeny - 11 May 2005
--
TWiki:Main.MichaelDaum - 05 Dec 2005