Welcome, Registration, and other StartingPoints; Foswiki history & Wiki style; All the docs...
Edit | Attach | New | Raw | Delete | History | Print | Tools
You are here: System » HeadlinesPlugin

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

Slashdot News

Write

%HEADLINES{"http://slashdot.org/slashdot.rdf" header="---+!! [[$link][$title]]$n $description" format="$t* [[$link][$title]]"}%
to get the latest Slashdot news as a bullet list format:

Business Opportunities Weblog

Write

%HEADLINES{"http://www.business-opportunities.biz/feed" limit="3"}%

to get the latest postings on the "Business Opportunities" weblog:

Fri, 01 Aug 2014 00:16:07 +0000
The original blog about business opportunities and business ideas for small business entrepreneurs
Thu, 31 Jul 2014 23:13:23 +0000 Dane Carlson

There’s a difference between someone who starts a business because they’ve found a profitable business idea, and those who are absolutely driven, compelled even, to create the very best product possible.

Have you seen the movie Jiro Dreams of Sushi? It is a documentary about sushi master Jiro Ono. His tiny, out of the way restaurant, serves, according to many who’ve eaten there, the very best food in the world. I find that the film is an excellent reminder of the fact that there’s a difference between someone who starts a business because they’ve found a profitable business idea, and those who are absolutely driven, compelled even, to create the very best product possible.

I’ve collected a number of short profile videos of other small business people in this category below, and hope that you enjoy them.

 

 

He Makes Knives By Hand

Joel Bukiewicz is the man behind Cut Brooklyn, making high-end knives to order for chefs. The video takes you through the process and addresses questions like how many knives do you need, what’s up with Santokus, and what is the best knife to own.

 

 

A Pocketful of Seeds

A Pocketful of Seeds

Jeremiah “Jere” Gettle has always been passionate about saving seeds. He is the founder of Baker Creek Heirloom Seeds.

 

 

Pickles and Only Pickles

Pickles and Only Pickles

Heres the cliché: Alex Hozven craved pickles when she was pregnant with her first son, 12 years ago. And the twist: She started her own pickling business. The Cultured Pickle Shop sells pickles ranging from classic sauerkrauts to unusual kimchees and Kombuchas-way beyond the sour dill. But its the experiments, like the mysterious nuka pot or pickled blood oranges, that really get Hozven excited. Theres plenty of zing, zest, pow in all her pickles, though.

 

 

They Sell Cookbooks

They Sell Cookbooks

Nach Waxman is owner of one of the largest food bookstores in the country, Kitchen Arts & Letters, in Manhattan. From his perch behind the counter, he sees customers-famous chefs, not-famous line cooks, and civilians alike-streaming in to peruse his bountiful, unusual collection. Waxman shows us the basement, where hes got some truly rare books. And he shares an unlikely bookstore success story: beating Barnes & Noble.

 

 

Only Four Pizzas on the Menu and

Only Four Pizzas on the Menu and No Fancy Toppings

Anthony Mangieri does one thing at Una Pizza Napoletana, and he does it the very best way he can.

 

 

She Makes Marmalade

She Makes Marmalade

June Taylor is a master jam maker and has a rabid following in the San Francisco Bay Area, where she creates and sells her preserves. Here, she explains how she makes marmalade, including the mysteries of natural pectin, the importance of instinct, and the economies of scale in artisanal production.

 

 

Nothing but Soda

This Store Sells Nothing But Soda

Galco's Soda Pop Stop in Los Angeles looks like any other mom-n-pop grocery store when you enter, but a quick look around and you'll see what makes the shop unique. The store sells nothing but soda, 500 different types of fizzy sweet-tooth-satisfying beverages.

Thu, 31 Jul 2014 16:36:10 +0000 Dane Carlson

Facebook (Login, Signup Page)

It turns out that your Facebook feed is worth something after all.

If you’re like most people, you share something at least once per day on Facebook. Have you also noticed that your newsfeed is growing increasingly full of sponsored content? Facebook is home to nearly 8% of all advertising sold on the internet.

We all know that Facebook is making tons of money (almost $1 billion every 30 days), and the sponsored posts are making money for someone else. If so, then that means that lots of people are getting rich off of your eyeballs.

That’s no fun!

Here are two options for getting paid for posting to Facebook:

Bubblews – Bubblenews pays its users about 1 cent every time their Facebook posts are viewed, clicked, liked or shared.

Bonzo Me – Bonzo Me pays its users 80% of the advertising revenue they generate on user generated posts. The iOS, Android, and web app launched earlier this month and has already earned its few thousand users about $30,000.

No one should come to our site in anticipation of being able to quit their day job,” Bubblews CEO Arvind Dixit told the AP. “But we are trying to be fair with our users. Social networks don’t have to be places where you feel like you’re being exploited.”

Thu, 31 Jul 2014 00:47:18 +0000 Dane Carlson

Although 40% of American chose to be cremated when they die (and the number continues to grow), there is still a substantial gravestone business. The Atlantic has put together an incredibly interesting profile of the different businesses and their technology in the headstone biz.

The industry’s pace of change has accelerated, and especially for this set of companies, it’s hard to keep up. For hundreds of years, the memorial industry only had to keep one time: almost eternity. They dealt in granite and worked headstones by hand. Two lines of text could take an hour to chisel into stone! But the slowness didn’t matter relative to the length of time a grave marker would remain. Cemeteries are our most conservative civic place. Nearly every company that makes monuments advertises its triple-digit age.

But no industry remains untouched by the times. Changes in power and transportation changed the monument business over the decades. Jessie Lie Farber, co-creator of The Farber Gravestone Collection, breaks up American burial practice into a few different eras. In the 17th and early 18th-centuries, gravestones were made from just about any stone that could have been “brought by wagon from the nearest quarry.” Later in the 19th century, transportation improved and marble began to be favored.

Then, as the 19th century melted into the 20th, pneumatic chisels made it possible to create memorials out of granite, a more durable stone than marble. At the mine level, compressed-air tools made it easier to quarry the granites of Barre, Vermont and Elberton, Georgia, two places that remain the two-chambered heart of the domestic granite industry. and sandblasters powered by air compressors and rubber stencils made it possible to create new designs. The Monument Dealer’s Manual from 1920 is filled with new tools and techniques.

Plugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, for example, %HEADLINESPLUGIN_SHORTDESCRIPTION%. Note: Don't modify the settings here; copy and customize the settings in SitePreferences. For example, to customize the USERAGENTNAME setting, create a HEADLINESPLUGIN_USERAGENTNAME setting in Main.SitePreferences.

  • One line description, shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = Show headline news in Foswiki 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 Foswiki'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: FoswikiHeadlinesPlugin/2.21.1
      * Set USERAGENTNAME = FoswikiHeadlinesPlugin/2.21.1

  • Default header: (variables are explained in the syntax rules)
      * 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>

  • Default format of one item: (variables are explained in the syntax rules)
      * 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>

  • Values taken from configure: (only supported if CPAN:LWP is installed)
    • $Foswiki::cfg{PROXY}{HOST} - proxy host, such as "proxy.example.com";
    • $Foswiki::cfg{PROXY}{PORT} - proxy port, such as "8080";
    • $Foswiki::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 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

  • Download the ZIP file
  • Unzip it in your foswiki installation directory. Content:
    File: Description:Sorted ascending
    pub/System/HeadlinesPlugin/style.css default css
    lib/Foswiki/HeadlinesPlugin/Core.pm plugin core
    lib/Foswiki/HeadlinesPlugin.pm plugin perl module
    data/System/HeadlinesPlugin.txt plugin topic
    Check if above examples show a news feed instead of variable.
  • Optionally, run HeadlinesPlugin_installer.pl to automatically check and install other Foswiki 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.
    NameVersionDescription
    Digest::MD5>=2.33Required. Download from CPAN:Digest::MD5
    LWP::UserAgent>=5.803Optional. Download from CPAN:LWP::UserAgent

Plugin Info

Plugin Author: TWiki:Main.PeterThoeny, Foswiki:Main.MichaelDaum (2005-2007)
Copyright: © 2002-2009, Peter Thoeny, TWIKI.NET; 2005-2007, Michael Daum http://wikiring.de
License: GPL (GNU General Public License)
Plugin Version: 2.21.1 (08 Mar 2009)
Change History:  
08 Mar 2009: Ported without changes to Foswiki namespace by Kenneth Lavrsen and put under "Feel Free To Modify" in Foswiki context.
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 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 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 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.008
Plugin Home: http://foswiki.org/Extensions/HeadlinesPlugin
Feedback: http://foswiki.org/Extensions/HeadlinesPluginDev
spacer
Copyright © 2014 Atomikos BVBA. Transaction Management for Extreme Transaction Processing and SOA Environments serving ISV, Commercial, OEM and Open Source Markets
Site map RSS ATOM