Tags:
view all tags
<!-- Contributions to this plugin are appreciated. Please update the plugin page at http://twiki.org/cgi-bin/view/Plugins/HeadlinesPlugin or provide feedback at http://twiki.org/cgi-bin/view/Plugins/HeadlinesPluginDev. If you are a TWiki contributor please update the plugin in the SVN repository. --> ---+!! Headlines Plugin %TOC% ---++ 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 =%<nop>HEADLINES{"..."}%= | *Parameter* | *Explanation* | *Default* | | ="..."= | source of RSS feed; this can be an url (starting with http) \ or a <nop>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) %BR% \ - $channellink, $link: link of channel (channel.link) %BR% \ - $channeldescription, $description: description (channel.description) %BR% \ - $channeldate, $date: publication date of the channel (channel.pubDate) %BR% \ - $rights: copyrights of the channel (channel.copyright) %BR% \ - $imagetitle: title text for site (image.title) %BR% \ - $imagelink: link for site (image.link) %BR% \ - $imageurl: URL of image (image.url) %BR% \ - $imagedescription: description of image (image.description) \ | Global =HEADER= setting | | =format= | Format of one item. Can include these variables: %BR% \ - $title: news item title (item.title) %BR% \ - $link: news item link (item.link) %BR% \ - $description: news item description (item.description) %BR% \ - $date: the publication date (item.pubDate, item.date) %BR% \ - $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 [[#Subject_Images][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 ---+++ Slashdot News Write <verbatim> %HEADLINES{"http://slashdot.org/slashdot.rdf" header="*[[$link][$title]]:* $description" format="$t* [[$link][$title]]" }% </verbatim> to get the latest Slashdot news as a bullet list format: %HEADLINES{"http://slashdot.org/slashdot.rdf" header="---+!! [[$link][$title]]$n $description" format="$t* [[$link][$title]]"}% ---+++ Business Opportunities Weblog Write <verbatim> %HEADLINES{"http://www.business-opportunities.biz/feed" limit="3"}% </verbatim> to get the latest postings on the "Business Opportunities" weblog: %HEADLINES{"http://www.business-opportunities.biz/feed" limit="3"}% ---++ Plugin Settings Plugin settings are stored as preferences variables. To reference a plugin setting write ==%<nop><plugin>_<setting>%==, for example, ==%<nop>HEADLINESPLUGIN_SHORTDESCRIPTION%==. *Note:* Don't modify the settings here; copy and customize the settings in [[%LOCALSITEPREFS%]]. For example, to customize the USERAGENTNAME setting, create a HEADLINESPLUGIN_USERAGENTNAME setting in <nop>%LOCALSITEPREFS%. * One line description, shown in the TextFormattingRules topic: * Set SHORTDESCRIPTION = Show headline news in TWiki pages based on RSS and ATOM news feeds from external sites * Refresh rate in minutes for cached feeds. Disable caching: =0=, default: =60= * Set REFRESH = 60 * Maximum number of items shown. Default: =100= * Set LIMIT = 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 * Name of user agent. Default: =TWikiHeadlinesPlugin/2.21= <verbatim> * Set USERAGENTNAME = TWikiHeadlinesPlugin/2.21 </verbatim> * Default header: (variables are explained in the syntax rules) <verbatim> * Set HEADER = <div class="headlinesChannel"><div class="headlinesLogo"><img src="$imageurl" alt="$imagetitle" border="0" />%BR%</div><div class="headlinesTitle">$n---+!! <a href="$link">$title</a></div><div class="headlinesDate">$date</div><div class="headlinesDescription">$description</div><div class="headlinesRight">$rights</div></div> </verbatim> * Default format of one item: (variables are explained in the syntax rules) <verbatim> * Set FORMAT = <div class="headlinesArticle"><div class="headlinesTitle"><a href="$link">$title</a></div>$n<span class="headlinesDate">$date</span> <span class="headlinesCreator"> $creator</span> <span class="headlinesSubject"> $subject </span>$n<div class="headlinesText"> $description</div></div> </verbatim> * Values taken from configure: (only supported if CPAN:LWP is installed) * =$TWiki::cfg{PROXY}{HOST}= - proxy host, such as ="proxy.example.com";= * =$TWiki::cfg{PROXY}{PORT}= - proxy port, such as ="8080";= * =$TWiki::cfg{PROXY}{SkipProxyForDomains}= - domains excluded from proxy, such as ="intra.example.com, bugs.example.com";= ---++ Style sheets The default HEADER and FORMAT settings use the following styles. See the [[%ATTACHURL%/style.css][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) * headlinesText: article text (div) ---++ Plugin Installation Instructions * [[%ATTACHURL%/%TOPIC%.zip][Download]] the ZIP file * Unzip it in your twiki installation directory. Content: | *File:* | *Description:* | | ==data/TWiki/%TOPIC%.txt== | plugin topic | | ==pub/TWiki/%TOPIC%/style.css== | default css | | ==lib/TWiki/%TOPIC%.pm== | plugin perl module | | ==lib/TWiki/%TOPIC%/Core.pm== | plugin core | Check if above examples show a news feed instead of variable. * Optionally, run ==%TOPIC%_installer.pl== to automatically check and install other TWiki modules that this module depends on. You can also do this step manually. * Alternatively, manually make sure the dependencies listed in the table below are resolved. <table border="1"><tr><th>Name</th><th>Version</th><th>Description</th></tr><tr><td align="left">Digest::MD5</td><td align="left">>=2.33</td><td align="left">Required. Download from CPAN:Digest::MD5</td></tr><tr><td align="left">LWP::UserAgent</td><td align="left">>=5.803</td><td align="left">Optional. Download from CPAN:LWP::UserAgent</td></tr></table> ---++ Plugin Info | Plugin Author: | TWiki:Main.PeterThoeny, TWiki:Main.MichaelDaum | | Copyright: | © 2002-2009, Peter Thoeny, [[http://www.twiki.net/][TWIKI.NET]]; 2005-2007, Michael Daum http://wikiring.de | | License: | GPL ([[http://www.gnu.org/copyleft/gpl.html][GNU General Public License]]) | | Plugin Version: | v2.21 - 12 Feb 2009 | | Change History: | <!-- specify latest version first --> | | 12 Feb 2009: | {PROXY}{HOST} supports domain with and without protocol -- Peter Thoeny | | 06 Feb 2009: | added {PROXY}{SkipProxyForDomains} configure setting, added USERAGENTNAME plugin setting -- Peter Thoeny | | 11 Dec 2008: | added {PROXY}{HOST} and {PROXY}{PORT} configure settings -- Peter Thoeny | | 13 Sep 2007: | fixed parsing of content:encoded | | 23 Jul 2006: | improved atom parser; if a posting has no title default to 'Untitled' | | 26 Apr 2006: | added lazy compilation | | 10 Feb 2006: | packaged using the TWiki:Plugins/BuildContrib; \ minor fixes | | 03 Feb 2006: | off-by-one: limit="n" returned n+1 articles; \ make FORMAT and HEADER format strings more robust | | 23 Jan 2006: | released v2.00 | | 05 Dec 2005: | internal feed urls must be absolute | | 02 Dec 2005: | added <nop>web.topic shorthand for internal feeds | | 29 Nov 2005: | fixed CDATA handling | | 21 Nov 2005: | added ATOM support; \ extended RSS support; \ added dublin core support; \ added content support; \ optionally using LWP to fetch feeds to follow redirections; \ corrected CPAN dependencies ; \ recoding special chars from html integer to entity encoding \ to increase browser compatibility; \ added css support;\ use =getWorkArea()= if available | | 11 May 2005: | TWiki:Main.WillNorris: added <nop>DevelopBranch compatability | | 31 Oct 2004: | Fixed taint issue by TWiki:Main.AdrianWeiler; small performance improvement | | 29 Oct 2004: | Fixed issue of external caching if mod_perl or <nop>SpeedyCGI is used | | 02 Aug 2002: | Implemented caching of feeds, thanks to TWiki:Main/RobDuarte | | 11 Jun 2002: | Initial version (V1.000) | | Perl Version: | 5.8 | | TWiki:Plugins/Benchmark: | %TWIKIWEB%.GoodStyle 100%, %TWIKIWEB%.FormattedSearch 99.5%, %TOPIC% 94% | | Plugin Home: | TWiki:Plugins/%TOPIC% | | Feedback: | TWiki:Plugins/%TOPIC%Dev | | Appraisal: | TWiki:Plugins/%TOPIC%Appraisal | -- TWiki:Main.PeterThoeny - 12 Jan 2009 %BR% -- TWiki:Main.MichaelDaum - 13 Sep 2007
Edit
|
Attach
|
Watch
|
P
rint version
|
H
istory
:
r11
|
r4
<
r3
<
r2
<
r1
|
B
acklinks
|
V
iew topic
|
More topic actions...
Topic revision: r1 - 2009-02-13
-
TWikiContributor
Home
Site map
Main web
Sandbox web
TWiki web
TWiki Web
User registration
Users
Groups
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
User Reference
ATasteOfTWiki
TextFormattingRules
TWikiVariables
FormattedSearch
QuerySearch
TWikiDocGraphics
TWikiSkinBrowser
InstalledPlugins
Admin Maintenance
Reference Manual
InterWikis
ManagingUsers
ManagingWebs
TWikiSiteTools
TWikiPreferences
WebPreferences
Categories
Admin Documentation
Admin Tools
Developer Doc
User Documentation
User Tools
Account
Log In
Register User
Edit
Attach
Copyright © 1999-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback
Note:
Please contribute updates to this topic on TWiki.org at
TWiki:TWiki.HeadlinesPlugin
.