Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 104 lines (80 sloc) 4.467 kb
b83cfdd Julien Genestoux first commit
julien51 authored
1 # Superpipes
2
3 This is a [Yahoo! Pipes](http://pipes.yahoo.com/pipes/) equivalent built with [Superfeedr](http://superfeedr.com/), hosted on [Heroku](http://www.heroku.com/). We built that just in case Y! decides to "sunset" pipes as well...
62ebc57 Julien Genestoux better README
julien51 authored
4
5 Here is what it does:
6
7 * Agregate feeds
8 * Displays the agregate (Atom, Json or HTML)
9
b83cfdd Julien Genestoux first commit
julien51 authored
10 Also, it's realtime, and can be tweaked in any way you want to fit your needs!
11
be4e11d Julien Genestoux adding the example in the README
julien51 authored
12 We have deployed a [sample application](http://radiant-window-5539.herokuapp.com/) on heroku, with 2 aggregate feeds:
72930a8 Julien Genestoux layout in README
julien51 authored
13
be4e11d Julien Genestoux adding the example in the README
julien51 authored
14 * a 'tech blog' feed, which combines ([json](http://radiant-window-5539.herokuapp.com/first/json), [atom](http://radiant-window-5539.herokuapp.com/first/atom), [html](http://radiant-window-5539.herokuapp.com/first)):
15 * http://push-pub.appspot.com/feed
16 * http://techcrunch.com/feed/
17 * http://feeds.feedburner.com/ommalik
18 * http://feeds2.feedburner.com/thenextweb
19 * http://pandodaily.com/feed
20 * http://news.ycombinator.com/rss
21 * An activity feed, which combines ([json](http://radiant-window-5539.herokuapp.com/profiles/json), [atom](http://radiant-window-5539.herokuapp.com/profiles/atom), [html](http://radiant-window-5539.herokuapp.com/profiles)):
22 * https://github.com/superfeedr.atom
23 * http://blog.msgboy.com/rss
24 * http://blog.superfeedr.com/atom
c5a746e Julien Genestoux fixed the feed url
julien51 authored
25 * http://superfeedr.tumblr.com/rss
be4e11d Julien Genestoux adding the example in the README
julien51 authored
26
2f28b6f Julien Genestoux updated README
julien51 authored
27
b83cfdd Julien Genestoux first commit
julien51 authored
28 ## Deploying
29
30 You need:
2f28b6f Julien Genestoux updated README
julien51 authored
31
32 * One [Heroku](http://www.heroku.com/) account
62ebc57 Julien Genestoux better README
julien51 authored
33 * The [Redis To Go Addon](https://addons.heroku.com/redistogo)
34 * The [Superfeedr Addon](https://addons.heroku.com/superfeedr). *Only available to beta testers*
35 * A basic Javascript knowledge to configure the whole thing.
2f28b6f Julien Genestoux updated README
julien51 authored
36
0fa7a3d Julien Genestoux updated the README
julien51 authored
37 For a simple use, **you won't have to write any code at all**!
38
2f28b6f Julien Genestoux updated README
julien51 authored
39 ### Clone
40
0fa7a3d Julien Genestoux updated the README
julien51 authored
41 ```bash
42 $ git clone git://github.com/superfeedr/superpipes.git
43 Cloning into superpipes...
44 remote: Counting objects: 412, done.
45 remote: Compressing objects: 100% (311/311), done.
46 remote: Total 412 (delta 78), reused 394 (delta 60)
47 Receiving objects: 100% (412/412), 237.10 KiB | 311 KiB/s, done.
48 Resolving deltas: 100% (78/78), done.
49 $ cd superpipes/
50 ```
51 ### Configure
52
53 Open the `config/feeds.js` in your favorite text editor, and fill in the feeds.
54 Here is an example of configuration.
55
56 ```javascript
57 exports.feeds = {
58 'first': { // Each feed needs to have an unique key. It's is important as it will be used in the permalink for your feeds.
59 secret: 'this is the secret for my first agregate', // Optional but you should put a random sentence here to make things secure.
60 name: "My very first agregate feed", // Name of your agregate feed
61 sources: [
62 "http://push-pub.appspot.com/feed",
63 "http://techcrunch.com/feed/",
64 "http://feeds.feedburner.com/ommalik",
65 "http://feeds2.feedburner.com/thenextweb",
66 "http://pandodaily.com/feed",
67 "http://news.ycombinator.com/rss"
68 ] // this is the list of the feeds you want to agregate in one.
69 },
70 // ... Put more feeds here
71 }
72 ```
73
74 The exported feeds object contains all the aggregate feeds you want to build with the sources to be used for each of them.
2f28b6f Julien Genestoux updated README
julien51 authored
75
76 ### Deploy
77
0fa7a3d Julien Genestoux updated the README
julien51 authored
78 ```bash
79 $ heroku create --stack cedar
80 $ git push heroku master
81 $ heroku addons:add redistogo:nano
82 $ heroku addons:add superfeedr
83 $ heroku config:add APP_HOST=<app name>.herokuapp.com
84 $ heroku ps:scale web=1
85 ```
86
87 Make sure you replace <app name> with your app's name.
88
2f28b6f Julien Genestoux updated README
julien51 authored
89 ### Profit
b83cfdd Julien Genestoux first commit
julien51 authored
90
0fa7a3d Julien Genestoux updated the README
julien51 authored
91 Once deployed, you should be good to start playing! **yay!**.
92 *Now, a little warning: this aggregator will only agregate _future_ entries, which means, that right when you're going to try it, there won't be much in there.*
93
94 As you've configured your feeds in the first step, you can now access the aggregates in your browser. Each of them has 3 views: atom, json and html.
95 The base url to access them is `http://APP_HOST/<key>/format` (except for html, where you can just type `http://APP_HOST/<key>/`). The APP_HOST is your app's hostname and the `<key>` is the key you've chosen in the `config/feeds.js` file.
b83cfdd Julien Genestoux first commit
julien51 authored
96
97 ## TODO
98
0fa7a3d Julien Genestoux updated the README
julien51 authored
99 * Use https to subscribe
8702372 Julien Genestoux first functional version
julien51 authored
100 * Implement signatures to verify origin of content (we can use a secret set in the heroku:config for example.)
62ebc57 Julien Genestoux better README
julien51 authored
101 * Add *filters* that can be applied to a feed, in the form of function called on each entry.
3c1cc92 Julien Genestoux more TODOs
julien51 authored
102 * Make sure the generated feeds are PubSubHubbub enabled as well
a59abb3 Julien Genestoux initial support for multiple files
julien51 authored
103 * Allow for an XMPP retrieval if an XMPP server is provided to connect to
0fa7a3d Julien Genestoux updated the README
julien51 authored
104 * Make the HTML view realtime with socket.io for example!
Something went wrong with that request. Please try again.