summaryrefslogtreecommitdiff
path: root/sfeed.5
AgeCommit message (Collapse)Author
2021-03-01util: improve/refactor URI parsing and formattingHiltjo Posthuma
Removed/rewritten the functions: absuri, parseuri, and encodeuri() for percent-encoding. The functions are now split separately with the following purpose: - uri_format: format struct uri into a string. - uri_hasscheme: quick check if a string is absolute or not. - uri_makeabs: make a URI absolute using a base uri and the original URI. - uri_parse: parse a string into a struct uri. The following URLs are better parsed: - URLs with extra "/"'s in the path prepended are kept as is, no "/" is added either for empty paths. - URLs like "http://codemadness.org" are not changed to "http://codemadness.org/" anymore (paths are kept as is, unless they are non-empty and not start with "/"). - Paths are not percent-encoded anymore. - URLs with userinfo field (username, password) are parsed. like: ftp://user:password@[2001:db8::7]:2121/rfc/rfc1808.txt - Non-authoritive URLs like mailto:some@email.org, magnet URIs, ISBN URIs/urn, like: urn:isbn:0-395-36341-1 are allowed and parsed correctly. - Both local (file:///) and non-local (file://) are supported. - Specifying a base URL with a port will now only use it when the relative URL has no host and port set and follows RFC3986 5.2.2 more closely. - Parsing numeric port: parse as signed long and check <= 0, empty port is allowed. - Parsing URIs containing query, fragment, but no path separator (/) will now parse the component properly. For sfeed: - Parse the baseURI only once (no need to do it every time for making absolute URIs). - If a link/enclosure is absolute already or if there is no base URL specified then just print the link directly. There have also been other small performance improvements related to handling URIs. References: - https://tools.ietf.org/html/rfc3986 - Section "5.2.2. Transform References" have also been helpful.
2021-01-27typofixesHiltjo Posthuma
2020-10-12parse categories, add multiple field values support (for categories)Hiltjo Posthuma
Fields with multiple values are separated by '|'. In the future multiple enclosure support might be added. The categories tags are now parsed. This feature is useful for filtering and categorizing. Parsing of nested tags such as <author><name> has been improved. This code has been refactored. RSS <guid> isPermaLink is now handled differently also and will now prefer a permalink with "true" (link) over the ID. In practise multiple <guid> in an item does not happen.
2020-10-09man pages: tweak alignment of listsHiltjo Posthuma
2020-06-04sfeed.{1,5}: clarify the timestamp field a bitHiltjo Posthuma
In particular for RSS feeds where a pubDate is optional.
2019-07-20man pages: reference sfeed(5) in format programs, reword sfeed(5) descriptionHiltjo Posthuma
2019-05-02sfeed.{1,5}: reword "saved" to outputHiltjo Posthuma
this program does not store anything, but just write to stdout.
2019-04-14sfeed: add support for the first enclosure of an itemHiltjo Posthuma
This is useful for example for podcasts (audio attachment), newsposts (usually some image) or comic strips (link to page, image as enclosure). thanks leot for the feedback!
2019-02-24documentation: fix typo to RFC reference for timestamps: RFC-3332 to RFC-3339Hiltjo Posthuma
2017-04-27man pages: fix a few warnings and improve a few wordsHiltjo Posthuma
- fix new warning check (start sentence at each line). - improve a few words.
2016-05-21improve wording in documentationHiltjo Posthuma
link to sfeed(5) in README to avoid having to duplicate documentation text.
2016-04-18simplify sfeed(5) format, remove feedtype alsoHiltjo Posthuma
Remove type of feed per item, it is not that interesting. sfeed(1) can parse both RSS and Atom feeds.
2016-04-10improve documentation, add sfeed(5) for the file formatHiltjo Posthuma
separate sfeed(5) page for just the feed file format.