3.9 KiB
Executable file
NewsBlur
- A visual feed reader with intelligence.
- Live at www.newsblur.com.
- Created by Samuel Clay.
- Twitter: @samuelclay and @newsblur.
Features
- Shows the original site (you have to see it to believe it)
- Hides stories you don't want to read based on tags, keywords, authors, etc.
- Highlights stories you want to read, based on the same criteria.
Technologies
Server-side
- Django: Web framework written in Python, used to serve all pages.
- Celery & RabbitMQ: Asynchronous queueing server, used to fetch and parse RSS feeds.
- MongoDB, Pymongo, & Mongoengine: Non-relational database, used to store stories, read stories, feed/page fetch histories, and proxied sites.
- PostgreSQL: Relational database, used to store feeds, subscriptions, and user accounts.
Client-side and design
- jQuery: Cross-browser compliant JavaScript code. IE works without effort.
- Underscore.js: Functional programming for JavaScript. Indispensible.
- Miscellaneous jQuery Plugins: Everything from resizable layouts, to progress bars, sortables, date handling, colors, corners, JSON, animations. See the complete list.
Installation Instructions
Preface
Both Mac OS X and Linux require Fabric to be installed.
Many common tasks, such as installing dependencies, deploying servers, migrations,
and configurations are in fabfile.py
.
sudo easy_install fabric
On recent installations of Mac OS X using XCode 4, you may run into issues around the
ppc
architecture. To fix this, simply run:
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gcc/darwin/ppc /Developer/usr/libexec/gcc/darwin
sudo ln -s /Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gcc/darwin/ppc /usr/libexec/gcc/darwin
Sym-linking the ppc architecture comes from this StackOverflow answer on "assembler for architecture ppc not installed on Mac OS".
Mac OS X
Using Mac OS X as a development environment, you can run all three servers (app, db, task)
on the same system. You should have Fabric installed to run
the fabfile.py
.
fab -R local setup_python
If any of the packages fail to install (lxml
, for instance), look through fabfile.py
and check if there is a function that can be used to circumvent broken easy_install processes.
fab -R local setup_libxml_code
Linux / Ubuntu
If you are on Ubuntu, you can simple use Fabric to install
NewsBlur and its many components. NewsBlur is designed to run on three separate servers:
an app server, a db server, and assorted task servers. To install everything on a single
machine, read through fabfile.py
and setup all three servers without repeating the
setup_common
steps.
App server
fab -R local setup_app
Database server
fab -R local setup_db
Task server
fab -R local setup_task
Roadmap
Winter 2011
- River of News
- Starred stories
Summer 2011
- iPhone app
- Implicit sorting in River of News
Fall 2011
- Social features
Author
- Samuel Clay samuel@ofbrooklyn.com
- @samuelclay on Twitter
License
NewsBlur is licensed under the MIT License. (See LICENSE)