1 .TH AGG 1 2011-04-04 agg "the news aggregator"
13 reads a news feed (currently RSS only) from stdin and
14 creates or updates its filesystem representation.
18 creates or updates the following directory structure in the
19 current working directory:
30 uses the mtime of files and directories to represent dates
33 If the feed directory does not exist,
35 will create it and store all items in the feed there.
36 The mtimes of the files will be set to the corresponding
37 date of publication, the mtime of the feed directory will
38 be set to the date of publication of the most recent item.
40 If the feed directory already exists (e.g. on subsequent
43 checks the mtime of the feed directory and only fetches
44 items with a newer date of publication, again setting the
45 mtimes for the items fetched in this run. The mtime of the
46 feed directory will be set to the date of publication of
47 the most recent item that was fetched in this run.
49 If an item does not have a publication date, it is set to
52 By manually changing the mtime of the feed directory, you
53 can make agg either skip unfetched items or refetch old
56 To avoid unintentionally changing the mtime and thus
57 skipping items, you can use a tiny wrapper called
65 Uses fixed size buffers to simplify code. May lead
66 cut-off news texts or links. The chances for this to
67 happen are low and without much consequences.
69 Assumes items are ordered descending by publication date
70 (newest items on top). Processing is stopped as soon as an
71 old item is encountered.
73 Assumes items only change if their publication date
74 changes. Again, for simplicity.
76 Creation of a "sub-feed" directory if the channel contained
77 an element that had a title tag but is not an item.
79 Supports only dates that have their time zone formatted as
80 +xxxx, not as their abbreviation.
82 Item titles may conflict, especially if they were too long
85 Items will always be (over-) written in the order they are
88 HTML output is formatted badly.
90 Standard mtime for items without pubDate should be now().
92 Only tested on GNU/Linux.
97 git://repo.or.cz/agg.git
98 http://www.repo.or.cz/w/agg.git
103 http://programmers.at/work/on/agg
107 Copyright (C) 2011 Andreas Waidler <arandes@programmers.at>
109 Permission to use, copy, modify, and/or distribute this
110 software for any purpose with or without fee is hereby
111 granted, provided that the above copyright notice and this
112 permission notice appear in all copies.
114 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS
115 ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
116 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
117 EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
118 INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
119 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
120 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
121 TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
122 USE OR PERFORMANCE OF THIS SOFTWARE.