Raggle TODO =========== [*] scrolling [*] sanitize window modes (remove text reflow from draw()) [*] clean up code (move methods to modules, eliminate globals, etc) [*] modularize code to make it suitable for reuse [*] finish inline documentation [*] command-line options [*] feed grab save existing items [*] speed up feed cache loading [*] theme shouldn't save hard-coded window coordinates [*] scrolling in Description window [*] fix blocking for feed grabbing (grab feeds in parallel?) [*] better theme format [*] Convert manpage (raggle.1) to -ms [-] Window resizing. Take a copy of ['theme']['window'], so we can resize without messing up the initial sizes (they need to be changed so resize_term knows what to do (not really, but still). We need to know *where* the windows are. For instance, in the default config, narrowing "Feeds" means widening the other two windows, and such. [*] Add a focus mode 'focus_smart'(?) that will select a feed when you flip from feeds into items (such that you don't have one feed by all visual accounts "Highlighted", but the items from another, since just because a feed is highlighted, doesn't mean it's *selected* too (though possibly it should, but that's what this is all about). [*] Add an option ('force_reflow') that will forcibly wrap lines that would otherwise evade it (by not having spaces in it, say). [*] When selecting a feed, automatically (and optionally) select the first item in the feed. [*] OPML import/export support (http://www.opml.org/) [ ] RSS locator (see link from http://www.pablotron.org/?cid=1154) [*] item delete, mark items as unread, stick (save, hilite?) items, etc [*] proxy support (via ENV['HTTP_PROXY'], etc?) [*] display / dump raw feed output [*] conditional HTTP GET to reduce bandwidth use and increase speed [*] "update this feed now!" option from within Raggle [*] 'manual_update' option for modem lusers [*] Select Next Unread (n), should work for feeds as well as items [*] Previous unread item would be useful also (I don't read in order, always) [ ] Reverse ordering, (on a key) so you can read a big chunk of new items in chronological order (most are reverse chron) without undue discomfort [*] Full HTML support is hard, but we at least need to do the right thing with
, this is entirely possible within String#reflow
o Remove all calls to strip_tags (and have Window#text_draw do it
*after* the reflow)
o Watche for ]*>
]*> in String#reflow
o Prevent reflow when between the two tags, just pass it word for
word to text, sticking a \n in when one appears (which you can't
see, because of the way #reflow is implemented, hence why I'm
not doing it.
[-] extended RSS support (1.0 modules, including Dublin Core and
Syndication support, etc)
[*] Check that the feedlist and feedcache are valid, after saving
them. Write to another file, and check it, then move it into place
[*] select and follow links in description window (suggested by Omnic)
[*] add, remove, edit feeds inside Raggle
[*] SIGHUP to update now (also suggested by Omnic)
[-] Feedster integration
(they still haven't published their XML-RPC interface :()
[-] Technocrati integration
(can't find an xmlrpc interface for them)
[*] syndic8 integration
[ ] BlogThis support?
[-] user-configurable http open timeout and http read timeout
(not gonna do this now)
[-] per-feed xpath configuration?
(huh? what do i mean by this?)
[*] feed groups (only in web interface at the moment)
[-] clean separation of Ncurses and WEBrick interfaces (maybe an
Interfaces module). Don't require Ncurses if WEBrick is
installed.
( I would prefer if what you mean is "If Ncurses isn't installed
and webrick is, start the web interface by default" that there be
a big obvious message say what is happening and why -- richlowe 2003-09-25)
(i think it already starts the web interface if there's no ncurses
installed, but w/o the warning message. the web interface is the
default in windows; do we want to print a warning for the default?
-- pabs Thu Oct 09 16:16:36 2003)
[*] Thread#abort_on_exception for feed grabbing thread! (suggested by
Harry Ohlsen ).
[*] thread pool for grabbing an arbitrary number of threads in parallel
[-] internationalization support (information in this mailing list post:
http://raggle.org/pipermail/raggle-dev/2003-September/000153.html)
(preliminary, needs more work)
[ ] fix memory hogging (either via weakref caching of feed
contents or only having the active feed in memory: note this
method is easier, but relies on sane disk caching for any speed)
[*] update keybindings documentation
[*] save feed attributes on OPML export
[ ] XBEL import/export?
[*] url arg to --import-opml (suggested by Doug Kearns
)
[ ] OCS support (http://internetalchemy.org/ocs/index.html)
[ ] user ratings (either centralized or bayesian, etc)
[*] note about terminal capabilities (no color in OSX, or in vt100 mode,
outstanding resize problem, etc... prompted by email from Geoffrey G
Plitt )
[-] make Raggle work with Ruby Curses API (heap's suggestion)
(not doing this, it works
[ ] create a Gem for Raggle (http://rubygems.rubyforge.org/wiki/wiki.pl?CreateAGemInTenMinutes)
[*] confirm delete feed (suggested by Peter Kleiweg )
[-] automatic new item pseudo-feed (suggested by ")
(not doing this for this version of Raggle, it's in squaggle though)
[*] automatically opening the desc links in your browser via the
number keys (suggested by ")
[-] after completing 0.4 cleanup, rewrite raggle engine in C for
speed
(see libfeed and squaggle or C rewrite)
[-] backend abstraction (be able to save to MySQL, LDAP, etc)
(not doing this, next version using sqlite though)
[-] use URI lib for url handling
(not doing this, commenta bout it though)
[-] del.icio.us integration
(not doing this, could be added as a keybinding though)
[*] save feed list periodically (suggested by Manpreet Singh
)
[*] implement feed adding directly from find window
[ ] update Net::HTTP calls to 1.2 (ruby 1.8-style)
[*] add :exec-style bookmarks
[ ] add time field/format string for db bookmarks
[ ] proper SSL certificate store