The Badger uses Yahoo! Pipes and JavaScript to create Web badges out of any RSS feed. Edit colors, change feeds, pages, and headlines, and pick up your source code at the bottom of the page. Boing Boing, Lifehacker, del.icio.us, TechCrunch, Slashdot, Digg News, and ProgrammableWeb all have examples ready to look at ... if you're looking for interesting feeds, check out Technorati Search or FeedFlinger.
The default Badger pipe is probably getting rate-limited. (Try reloading the page if it's happening right now; sometimes that clears things up temporarily.) To avoid this, and to make it much easier on the Pipes infrastructure, please clone the default pipe for your badge after you've got it up and running. This is easy; just substitute your pipe's 22-character ID for the default pipe ID in the fourth line of code.
<style>.badger { width:300px; border:2px solid #000; background-color:#fff; }.badger a { text-decoration:none; }.badger a:hover { text-decoration:underline; }.badger .hd { background-color:#fff; border-bottom:1px solid #000; padding:3px;}.badger .hd a { color:#000; font-weight:bold; }.badger .bd { background-color:#fff; margin:0; padding:none; font-size:92%;}.badger .bd ul { margin:0; padding:5px; list-style:none;}.badger .bd ul li { overflow:hidden; white-space:nowrap; margin:0; padding:0;}.badger .bd ul li a { color:#000;}.badger .ft { text-align:right; background-color:#fff; border-top:1px solid #000; padding:0 5px;}.badger .ft a { font-size:77%; color:#000; }</style>
To try out your badge, grab the source, drop it into your page, save, and reload. If you don't see something coming down from Pipes in your status bar, or you see JavaScript errors, recopy your source and try it again.
<STYLE> line should go in the head of your document. This is not a showstopper; feel free to leave it where it is.<DL> tags--should go wherever you want your badge to show up.<SCRIPT> tags should go as close to the end (without going outside of!) your <BODY> tag as possible. If you leave the script blocks in the middle of your page, it may hang up waiting for the content to come down from Pipes.
I can't get anything to work for me. I think I've tried a lot of the suggestions already, e.g. Stephanie and Paul, but no go.
I'm trying to make a javascript widget for my eBay listings. The eBay feed (with photos) is
http://shop.ebay.com/beyondelite/m.html?_ipg=200&_rss=1&_sc=1&_sop=1
I also made a simple pipe with the feed. The pipe's rss feed is
http://pipes.yahoo.com/pipes/pipe.run?_id=507d02fcfecc2570bafc6179a13db685&_render=rss
Basically my feed doesn't come through in the widget.
I also tried using the json output & ping solution. no go.
Help?
Based on Kent Brewster's "Badge Any Feed With Yahoo! Pipes" script, at htttp://kentbrewster.com/badger
Have fun, and please post a link back here when you have something running.
Is it possible to post multiple badges on one page? Also, the Technorati search via Yahoo! Pipes: is it possible to convert that for use with other feeds?
I can't get my feed to pull in any output. I tried the code you suggested for Stephanie and Paul; I get output with that -- but it's not coming from my Pipes feed. Please help.
Thanks.
What i did ( as per --change the last line-- instruction)
I changed ""
to
I am sure I am doing something wrong ..can upl point it out for me ..thx a lot
thx in advance for your time
Little bit new to all of this having real trouble making this work with the output of a yahoo pipe... I'm sure that this is just a simple error on my part but the badge just shows no content when I enter a yahoo pipes url whilst sevices like friendfeed pick up the content just fine...
e.g. http://pipes.yahoo.com/pipes/pipe.run?_id=dhdte0m92xGtm1PZlfXiAA&_render=rss
Help!
Eric
I was passed the link to your site by someone on usenet, alt.html. I'm new to this so I need a little bit of hand holding. The bit I don't understand at the moment is the URL's.
I have logged on to Yahoo, made a pipe and pressed the 'publish' button and I can see a good feed. But, copying the pipes url doesn't seem to do anything on your 'badge'.
http://pipes.yahoo.com/firenews/8GbP6_wD3RGDXk_VjUnRlg seems to be the pipe I created on Yahoo under my login. (However I don't see anywhere on Yahoo that one can go to to see peoples 'published' pipes so I don't know if this URL is private or public.)
http://newsapi.bbc.co.uk/feeds/search/news+sport/fire
This is the URL of the BBC feed I am using.
And my website url is www.thermachek.com. I would like to put this feed in all my right hand columns which are created from a PHP include. How deep a URL do you need for that?
Hoping you can explain a little more please. Mike.
LuckyCharms and Stobe: can you point me at an URL?
SeaBird: sure, you can use multiple feeds. Open up the pipe, drag in another Get Feed module, and use the Union module to join them both up into one feed.
Cheers - JoC
The pipe URL is http://pipes.yahoo.com/pipes/pipe.info?_id=b690845a99a7325384b72e75b666e2b8
I've tried creating a badge with this as the Page URL and Feed URL but I am obviously doing something wrong. Just the banner shows up. Any help for a newbie is appreciated. Thanks.
I changed the id I got from your generator to match my clones (longer)id. Here's the last line of the generated code:
Paul: okay, I see your pipe. It's got quite a few sources, so it took a long time to run the first time I tried it; you might want to cut it down a bit. If I have time in the near future I will pull together a quick tutorial for using the Badger with custom pipes; the exact same advice I gave Stephanie should work for you in the meantime, however.
Instead of calling Pipes twice, take your custom pipe, tell it you want JSON instead of RSS, wrap it in a callback, and send the result straight back to your badge. To do this, change the script source on the very last line, so it looks like this:
http://pipes.yahoo.com/pipes/pipe.run?
_id=OHNs7xT82xGj4FoLlfXiAA
&_render=json
&_callback=KENTBREW_ABCD.badger.pingFeed
IMPORTANT: all of this has to go on ONE LINE with NO SPACES, and you MUST change the four letters after KENTBREW_ -- which are currently set to KENTBREW_ABCD -- to match the four characters that the Badger gave you for your main object when you created your badge.
Pipe URL: http://pipes.yahoo.com/pipes/pipe.info?_id=OHNs7xT82xGj4FoLlfXiAA
I don't have a website running right now, but I've setup up a site in dreamweaver called www.paul12.com At the moment I don't have an ftp server setup for that site. I take it that I would need one, and if so, which server technology should I use to make use of RSS feeds? I hope to use mashed up RSS feeds in my news website that link directly the articles on other news websites.
Two recommendations: ditch Dreamweaver and use a text editor--such as TextPad--for your development needs. And as I said to Stephanie below, you should paste the page you want your users to see into Page URL, not your Pipes page.
Instead of calling Pipes twice, take your custom pipe, tell it you want JSON instead of RSS, wrap it in a callback, and send the result straight back to your badge. To do this, change the script source on the very last line, so it looks like this:
http://pipes.yahoo.com/pipes/pipe.run?
_id=mi5Npzm33BGDpy_tAsqenA
&_render=json
&_callback=KENTBREW_ABCD.badger.pingFeed
IMPORTANT: all of this has to go on ONE LINE with NO SPACES, and you MUST change the four letters after KENTBREW_ -- which are currently set to KENTBREW_ABCD -- to match the four characters that the Badger gave you for your main object when you created your badge.
Also a suggestion: Unless I'm missing something, you want them to come to your page--not the Pipes editor--when they click your headline. In the Page URL blank, put http://www.flourishbaby.com, not the link to your pipe.
Really great to see the Badger working some custom pipes! Carry on!
If you just want to change feeds, why not start from scratch with the form on this page? This worked for me.
This is the feed address as saved in my browser as a feed. The last link came from the pipes page.
Still having ID problems. It looks like they changed the ID method. Not sure. How do I use this, or what part of it belongs in your code? I changed websites and feeds.
Thanks
http://pipes.yahoo.com/pipes/Bu8sIkUH3BGA6wD_CB2yXQ/
Yours will have a different stream of gibberish after the "pipes" portion of the URL. This is your pipe's unique ID, which you should use.
Great Pipe. I have got it working with your pipe but when i clone it and try to get it working with my cloned pipe i get a blank list. When you say change the pipe id i assume your taking about the pipe url id here "
Where you see this:
for (var i = 0; i < feed.value.items.length; i++ )
substitute this:
var myCount = feed.value.items.length;
if (myCount > 5) { myCount = 5; }
for (var i = 0; i < myCount; i++ )
Sorry about that!
if(feed.value.items.length)var myCount = feed.value.items.length;
if (myCount > 5) { myCount = 5; }
for (var i = 0; i < myCount; i ){var li=document.createElement("li");
Thanks!
Humanform: thanks for the nice words. Yes, you can change the number of items displayed. Where you see this:
for (var i = 0; i < feed.value.items.length; i )
substitute this:
var myCount = feed.value.items.length;
if (myCount > 5) { myCount = 5; }
for (var i = 0; i < myCount; i )
This will check to be sure you have at least five items, cut it off at five if so, and show all of them if not. Hope this helps; thanks again for using the Badger!
Your badger is great. I would like to know if there is a way to limit the number of news feeds it pulls. For instance, I would like my badger to display only the first five 5 articles from a page that has 20.
Thanks for your help.
KENTBREW.badger.pingFeed( {
"count":0,
"value": {
"title":"Badger2: http:\/\/kentbrewster.com\/badger",
"description":"Pipes output",
"link":"http:\/\/pipes.yahoo.com\/pipes\/pipe.info?_id=Bu8sIkUH3BGA6wD_CB2yXQ",
"pubDate":"Thu, 27 Sep 2007 19:53:28 PDT",
"generator":"http:\/\/pipes.yahoo.com\/pipes\/",
"callback":"KENTBREW.badger.pingFeed",
"items":[]
}
})
Since the items[] object is empty, this says to me that the problem is with your pipe, not your badge. If this is your query:
http://feeds.technorati.com/search/evermore/band/language=x3den
... please take a look at it. I'm not seeing any results.
http://pipes.yahoo.com/pipes/pipe.run?_id=Ej__pt9t3BGKfcRJ8ivLAg
It needs another union for the sixth band. Also, the searches aren't totally solid, especially the one for Evermore, which I've tried to restrict to entertainment sources from New Zealand.
Once you're happy that the pipe works, you ought to be able to drop the id (Ej__pt9t3BGKfcRJ8ivLAg) into your badge's source and have it run. If you publish this in public, please remove the "get this" link, or change it to a page on your domain explaining how you did it.
Thanks
Ej__pt9t3BGKfcRJ8ivLAg
... for your current pipe ID. Run it, and see if it works.
http://www.feedfire.com/site/rss.cgi?ChanContentId=023135
... does not match the current output here:
http://backwebs.homenetinc.com/breseechevrolet/browse2.asp?param_new-used=used
I see that the output: http://www.new-traffic.com/rssfeed.htm is not current. The source page is: http://backwebs.homenetinc.com/breseechevrolet/browse2.asp?param_new-used=used
It looks as if the The output page captured the source page once and does not refresh.
Clueless in Syracuse,
Joe
Many thnx!
Joe
Love your work.
I made a blog for my fiancee' and would love to use your badge to automatically feed inventory to it.
I got it to work on a blank page: http://www.new-traffic.com/rssfeed.htm
But, when I post it to her Blog: http://usedcarqueen.com/new-arrivals/ it looks like it stalls and can't connect to pipes.
I believe the solution is in your description "... If you leave the script blocks in the middle of your page, it may hang up waiting for the content to come down from Pipes."
If this is the problem, where do you think I should drop the script ? Into the footer.php, the style.css?
Thnx,
Joe
Love the badge! It's a great addition to my site...