Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 104 lines (80 sloc) 4.467 kB
b83cfdd @julien51 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 @julien51 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 @julien51 first commit
julien51 authored
10 Also, it's realtime, and can be tweaked in any way you want to fit your needs!
11
be4e11d @julien51 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 @julien51 layout in README
julien51 authored
13
be4e11d @julien51 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 @julien51 fixed the feed url
julien51 authored
25 * http://superfeedr.tumblr.com/rss
be4e11d @julien51 adding the example in the README
julien51 authored
26
2f28b6f @julien51 updated README
julien51 authored
27
b83cfdd @julien51 first commit
julien51 authored
28 ## Deploying
29
30 You need:
2f28b6f @julien51 updated README
julien51 authored
31
32 * One [Heroku](http://www.heroku.com/) account
62ebc57 @julien51 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 @julien51 updated README
julien51 authored
36
0fa7a3d @julien51 updated the README
julien51 authored
37 For a simple use, **you won't have to write any code at all**!
38
2f28b6f @julien51 updated README
julien51 authored
39 ### Clone
40
0fa7a3d @julien51 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 @julien51 updated README
julien51 authored
75
76 ### Deploy
77
0fa7a3d @julien51 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 @julien51 updated README
julien51 authored
89 ### Profit
b83cfdd @julien51 first commit
julien51 authored
90
0fa7a3d @julien51 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 @julien51 first commit
julien51 authored
96
97 ## TODO
98
0fa7a3d @julien51 updated the README
julien51 authored
99 * Use https to subscribe
8702372 @julien51 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 @julien51 better README
julien51 authored
101 * Add *filters* that can be applied to a feed, in the form of function called on each entry.
3c1cc92 @julien51 more TODOs
julien51 authored
102 * Make sure the generated feeds are PubSubHubbub enabled as well
a59abb3 @julien51 initial support for multiple files
julien51 authored
103 * Allow for an XMPP retrieval if an XMPP server is provided to connect to
0fa7a3d @julien51 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.