This project lets you easily set up a super-planet that aggregates the GitHub feeds, tweets, and blogs of your local hacker community.
It was created for BostonRB (Boston Ruby Group), but it's configurable, so you can deploy a version for your own hacker community.
The tool is built with Backbone.js, so that the landing page will update itself with new information as it gets inserted into the database by background tasks. The background tasks are also provided.
The demo of this site can be seen here, unless it is down.
- Ruby 1.9
- tidy (HTML tidy) should be on your path
Configure the database connection and the data feeds in
config.yml. You can
copy the pattern in
database: postgres:///bostonruby page_title: boston rubyists poll_interval: 8 org: name: bostonrb.org href: http://bostonrb.org opml: http://www.blogbridge.com/rl/291/Boston+Ruby.opml twitters: https://github.com/bostonrb/bostonrb/wiki/All-Rubyists language: ruby locations: - cambridge+ma - boston - somerville+ma - salem+ma - providence+ri - salem+ma - portsmouth+nh - portland+me
opmlis an OPML file that contains a list of all the blogs you want to aggregate.
locationsis a list of GitHub search "location" filters.
languageis a programming language filter to use for the GitHub users search.
poll_intervalis the interval in seconds at which the Backbone.js client code should poll the Sinatra app for updates. Sorry, no websockets yet.
twittersis a URL of a page that contains a list of Twitter user URLs
Set up the database you configured in config.yml like this, substituting the right name for your database.
createdb bostonruby psql bostonruby < schema.psql
There are four rake tasks you should run to populate the data:
rake hackers rake updates rake blogs rake tweets
rake hackers first to populate the hackers table in the database.
The other three tasks should be run periodically to keep the content up to date. Use cron or some other tool.
Please feel free to fork and enhance.
If you want to use this for another set of hackers and bloggers, please do and please drop me a line to let me know you're using this tool!