public
Description: RSS/Atom feeds aggregator, powered by Ramaze. Using Sequel for ORM.
Homepage: http://planet.zhekov.net/
Clone URL: git://github.com/zh/tamanegi.git
Click here to lend your support to: tamanegi and make a donation at www.pledgie.com !
zh (author)
Tue Jul 01 22:04:49 -0700 2008
commit  2d21e70c78fd5eea862fcd6c57083c4d205bcc8e
tree    8d8f654a0f8d9c80dca8361b571af84059749cd2
parent  c8914885a041e7fbf952f08397b61c996714f990
name age message
file .gitignore Fri Apr 04 02:43:52 -0700 2008 using ditz for bugs tracking [zh]
file CHANGELOG Mon May 12 18:37:43 -0700 2008 small typo corrected. arcstyle merged to the ma... [zh]
file README Sun Jun 22 22:11:36 -0700 2008 SystemTimeout, ParseTree depricated in sequel [zh]
file RELEASE_NOTES Fri Jun 13 02:42:18 -0700 2008 sequel-2.0.1 ready, start.rb fixes, all bugs -&... [zh]
file config.rb Fri Jun 13 02:42:18 -0700 2008 sequel-2.0.1 ready, start.rb fixes, all bugs -&... [zh]
directory controller/ Tue May 13 20:24:06 -0700 2008 using String::uri_escape and String::uri_unescape [zh]
directory db/ Wed Apr 02 02:03:39 -0700 2008 models (Sequel) - user, feed, item [zh]
directory lib/ Wed Apr 02 02:03:39 -0700 2008 models (Sequel) - user, feed, item [zh]
directory log/ Wed Apr 02 02:03:39 -0700 2008 models (Sequel) - user, feed, item [zh]
directory model/ Sun Jun 22 22:11:36 -0700 2008 SystemTimeout, ParseTree depricated in sequel [zh]
directory public/ Tue Apr 22 23:05:10 -0700 2008 bugs and feed links in the header [zh]
file ramaze.ru Tue Jul 01 22:04:49 -0700 2008 require directly 'tamanegi' in ramaze.ru [zh]
file start.rb Mon Apr 21 01:11:12 -0700 2008 use ratom instead of xml builder for the feed [zh]
file tamanegi.rb Sun Jun 22 22:11:36 -0700 2008 SystemTimeout, ParseTree depricated in sequel [zh]
directory view/ Fri Jun 13 02:42:18 -0700 2008 sequel-2.0.1 ready, start.rb fixes, all bugs -&... [zh]
README
Tamanegi -- RSS/Atom feeds aggregator powered by Ramaze
========================================================

The project previous name was RaPlanet. But there is another project with
the same name, so I changed the name to Tamanegi (onion in japanese).
Maybe somebody will remember the Matz' presentation on Rubykaigi 2006
"The state of the onion" :) Tamanegi also trying to observe the state of
the net and aggregate atom/rss feeds in one news stream.

Live demo of the application can be seen on URL: http://planet.zhekov.net/


Application details
--------------------

 * ORM (model): Sequel (_core and _model)
 * Controllers: Ramaze (hm, maybe plain Rack will be also enough?)
 * Views:       Ezamar (TODO: switch to Tenjin)


Prerequirements (needed gems)
-----------------------------

 * sqlite3-ruby (database)
 * validatable (models validation checks)
 * sequel (models)
 * feed-normalizer (feeds parsing)
 * json (still not used)
 * ratom (feeds)
 * thin (optional, deployment, can be mongrel, webrick etc.)
 * SystemTimeout (feeds fetching giveup timeout)


Usage
------

[!] Change the settings in the config.rb file - base_url, items per page etc.

 * Command line usage

You can use Tamanegi just to fill your database with items and display them with
something else (Ruby on Rails etc.). So from irb or a script

 require 'tamanegi'
 Tamanegi::sync!(false,true)

 * "Development" mode

$ cd tamanegi
$ ./start.rb

This will create the needed tables in the DB (sqlite3: db/tamanegi.db)
"on the fly". By default the thin server is started, but you can change it 
inside start.rb.

 * "Production" mode

On my site I have nginx talking to two thin instances via sockets:

$ cd tamanegi
$ mkdir -p log
$ thin start --servers 2 --socket /tmp/negi.sock -R ramaze.ru

And inside nginx.conf:

 upstream play {
      server unix:/tmp/negi.0.sock;
      server unix:/tmp/negi.1.sock;
 }