sfeed

simple feed reader - forked from https://git.codemadness.org/sfeed
git clone git://src.gearsix.net/sfeedsfeed.zip
Log | Files | Refs | Atom | README | LICENSE

sfeed.1 (raw) (2863B)


   1 .Dd January 7, 2023
   2 .Dt SFEED 1
   3 .Os
   4 .Sh NAME
   5 .Nm sfeed
   6 .Nd RSS and Atom parser
   7 .Sh SYNOPSIS
   8 .Nm
   9 .Op Ar baseurl
  10 .Sh DESCRIPTION
  11 .Nm
  12 reads RSS or Atom feed data (XML) from stdin.
  13 It writes the feed data in a TAB-separated format to stdout.
  14 If the
  15 .Ar baseurl
  16 argument is a valid absolute URL then the relative links or enclosures will be
  17 made an absolute URL.
  18 .Sh TAB-SEPARATED FORMAT FIELDS
  19 The items are output per line in a TAB-separated format.
  20 .Pp
  21 For the fields title, id and author each whitespace character is replaced by a
  22 SPACE character.
  23 Control characters are removed.
  24 .Pp
  25 The content field can contain newlines and these are escaped.
  26 TABs, newlines and '\e' are escaped with '\e', so it becomes: '\et', '\en'
  27 and '\e\e'.
  28 Other whitespace characters except spaces are removed.
  29 Control characters are removed.
  30 .Pp
  31 The order and content of the fields are:
  32 .Bl -tag -width 15n
  33 .It 1. timestamp
  34 UNIX timestamp in UTC+0, empty if missing or on a parse failure.
  35 .It 2. title
  36 Title text, HTML code in titles is ignored and is treated as plain-text.
  37 .It 3. link
  38 Link
  39 .It 4. content
  40 Content, can have plain-text or HTML code depending on the content-type field.
  41 .It 5. content-type
  42 "html" or "plain" if it has content.
  43 .It 6. id
  44 RSS item GUID or Atom id.
  45 .It 7. author
  46 Item, first author.
  47 .It 8. enclosure
  48 Item, first enclosure.
  49 .It 9. category
  50 Item, categories, multiple values are separated by the '|' character.
  51 .El
  52 .Sh EXIT STATUS
  53 .Ex -std
  54 .Sh EXAMPLES
  55 .Bd -literal
  56 curl -s 'https://codemadness.org/atom.xml' | sfeed
  57 .Ed
  58 .Pp
  59 To convert the character set from a feed that is not UTF-8 encoded the
  60 .Xr iconv 1
  61 tool can be used:
  62 .Bd -literal
  63 curl -s 'https://codemadness.org/some_iso-8859-1_feed.xml' | \e
  64 iconv -f iso-8859-1 -t utf-8 | \e
  65 sfeed
  66 .Ed
  67 .Sh EXAMPLE SETUP
  68 1. Create a directory for the sfeedrc configuration and the feeds:
  69 .Bd -literal
  70 	mkdir -p ~/.sfeed/feeds
  71 .Ed
  72 .Pp
  73 2. Copy the example
  74 .Xr sfeedrc 5
  75 configuration:
  76 .Bd -literal
  77 	cp sfeedrc.example ~/.sfeed/sfeedrc
  78 	$EDITOR ~/.sfeed/sfeedrc
  79 .Ed
  80 .Pp
  81 Or import existing OPML subscriptions using
  82 .Xr sfeed_opml_import 1 :
  83 .Bd -literal
  84 	sfeed_opml_import < file.opml > ~/.sfeed/sfeedrc
  85 .Ed
  86 .Pp
  87 3. To update feeds and merge the new items with existing items:
  88 .Bd -literal
  89 	sfeed_update
  90 .Ed
  91 .Pp
  92 4. Format feeds to a plain-text list:
  93 .Bd -literal
  94 	sfeed_plain ~/.sfeed/feeds/*
  95 .Ed
  96 .Pp
  97 Or format feeds to a curses interface:
  98 .Bd -literal
  99 	sfeed_curses ~/.sfeed/feeds/*
 100 .Ed
 101 .Pp
 102 There are also other formatting programs included.
 103 The README file has more examples.
 104 .Sh SEE ALSO
 105 .Xr sfeed_curses 1 ,
 106 .Xr sfeed_opml_import 1 ,
 107 .Xr sfeed_plain 1 ,
 108 .Xr sfeed_update 1 ,
 109 .Xr sfeed 5 ,
 110 .Xr sfeedrc 5
 111 .Sh AUTHORS
 112 .An Hiltjo Posthuma Aq Mt hiltjo@codemadness.org
 113 .Sh CAVEATS
 114 If a timezone for the timestamp field is not in the RFC822 or RFC3339 format it
 115 is not supported and the timezone is interpreted as UTC+0.