Tamanegi
RSS/Atom feeds aggregator, powered by Ramaze. Using Sequel for ORM.
Install / Use
/learn @zh/TamanegiREADME
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; }
Related Skills
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
