None of the information in this section of the manual is needed to use and enjoy Olive.
  Olive keeps its configuration, raw data, and working data in a
  directory named '~/.olive'. This section describes the
  contents of that directory.
  The configuration file is named 'olive.yaml'. As its
  extension indicates, it is
  a YAML-formatted file. If you are
  unfamiliar with YAML, you should read about it before manually
  editing this file.
  All information about subscribed feeds is stored in a HOHOH named
  'feeds'. The full format is as follows:
  feeds:
    a_feed:
      disp: Display Title From User
      dormant: 0
      feed: http://feed/url
      force: 0
      last: 1119248150
      title: Actual Title From RSS Feed
      ttl: 86400
  Where the 'a_feed' stanza is repeated, with appropriate
  changes, for each subscribed feed. The meanings of the individual
  values is:
time() as of the feed's last fetching.See Section 4 for more information.
  There is no interface provided for changing keybindings within
  Olive. Not all functions can be rebound. The ones which can are
  altered via a HOH named 'keys' in the config file. An
  example which creates custom bindings for the functions normally
  assigned to the '[' and ']' keys is:
  keys:
    next: n
    prev: p
Here is the list of bindable functions and their standard keys:
| Function | Key | Description | 
|---|---|---|
| prev | [ | Go to previous story | 
| next | ] | Go to next story | 
| mark | m | Mark story read | 
| unmark | u | Mark story unread (unmark story) | 
| star | s | Toggle story starred/unstarred | 
| markall | M | Mark all stories read | 
| unmarkall | U | Mark all stories unread (unmark all) | 
| gpdn | '  ' (Space) | Global story paging: pagedown | 
| gpup | - | Global story paging: pageup | 
| focus | w | Shift focus between list/story panes | 
| link | l | Execute defined link command with story URL | 
| poll | p | Poll for updated feeds | 
| force | P | Force-poll feeds marked as forced | 
| filterf | F | Filter story list to show only stories from flagged feeds | 
| filters | S | Filter story list to show only starred stories | 
Olive does not check for duplicate bindings or stomping on a prebound key without providing a replacement. Also, be aware that you may need to quote your choice of key if it is a YAML special character (see the YAML spec for more information).
  Olive logs all warnings and fatal error messages (trapped or
  otherwise) to a file named 'errors.log'. On startup,
  this file is copied to 'errors.log.1' before being
  overwritten, so there are logs for the past 2 runs available at any
  time.
Error logs always start with a timestamp like this:
  -- Starting up at 2005-05-22T16:58:11 --
After that, there is no standard or predictable format for the contents of the file.
Should Olive ever suddenly quit, or if you experience any problems or weird behavior, please look at the logfile(s) and file a bug (as per Section 1.5)
  Olive does not operate upon the raw feeds it fetches over the
  network. It processes them after they are retrieved and stores
  the relevant data in a SQLite
  database named 'story.db'.
The schema of the database is as follows:
  CREATE TABLE stories (id INTEGER PRIMARY KEY, 
                        nick TEXT, 
                        timestamp INT,
                        md5 TEXT, 
                        read INT, 
                        new INT, 
                        link TEXT, 
                        title TEXT, 
                        desc TEXT);
  Downloaded feeds and the data needed to perform tests for HTTP 304
  status are stored in a subdirectory called
  'feeds'. Every feed you're subscribed to will have two
  files there, a file named as a possibly modified form of the feed
  nickname, and file with the same name as the first one, but with
  ".cache" appended.
mdxi@fornax:~$ ls .olive/feeds/ atc cnn_money groklaw mdxi rjbs atc.cache cnn_money.cache groklaw.cache mdxi.cache rjbs.cache bbc_news gloria kate olive robert bbc_news.cache gloria.cache kate.cache olive.cache robert.cache
  The files with no extension hold the last downloaded copy of that
  feed. The .cache files hold HTTP header data needed to
  check if the feed has been updated when it is polled next.
Files associated with a feed are unlinked when the feed is removed from your feed list.
$Id: dotdir.html 434 2007-02-07 05:04:51Z mdxi $