summaryrefslogtreecommitdiff
path: root/README
AgeCommit message (Collapse)Author
2022-05-31README: fix bug in an example for counting the new items of the last dayHiltjo Posthuma
This should not use the plain-text URL file ($SFEED_URL_FILE).
2022-05-19README: make sure sfeed_update errors don't write to stderrHiltjo Posthuma
It would mess up the output since the progress bar writes to stderr aswell.
2022-05-14README: add progress indicator scriptHiltjo Posthuma
2022-04-01README: reflect example with the descriptionHiltjo Posthuma
2022-03-28update documentation of sfeed_update example and clarify return statusHiltjo Posthuma
Change the example to reload the feeds anyway, even if one of the feeds (temporarily) failed to update.
2022-03-25change echo to printf and for sfeed_opml_export use a control-character ↵Hiltjo Posthuma
separator echo is unportable in this way and names containing characters like an option (-n) or backslash or escape codes (\e, \n, etc) could be messy. For awk set LC_ALL=C for simple collation. This makes sfeed_opml_export slower in some shells that don't have printf builtin though. For example with about 150 feeds in a config file it is a bit slower on OpenBSD ksh. time ./sfeed_opml_export | wc -l 152 0m00.29s real 0m00.05s user 0m00.20s system time sfeed_opml_export | wc -l 152 0m00.02s real 0m00.00s user 0m00.03s system
2022-03-22README: sfeed_download: remove a lineHiltjo Posthuma
2022-03-22README: improve error handling in downloader exampleHiltjo Posthuma
- Return exit code, which makes xargs return 123 when any of the downloads failed. - Write errors to stderr. - Write non-errors to stdout.
2022-03-21README: update sfeed_update_xargs exampleHiltjo Posthuma
Set exit status non-zero if any of the feeds failed similar to what sfeed_update also does now.
2022-03-21util.h: slightly improve portabilityHiltjo Posthuma
Tested with the scc compiler which is a pure c99 compiler. sys/types.h is not needed here anymore (it was used for ssize_t). Side-note: scc can now compile the sfeed parser program! It requires these changes at the time of writing: Add a strcasecmp and strncasecmp function and use getchar instead of getchar_unlocked.
2022-03-07README: update codemadness.org URLs and use the full content feed by defaultHiltjo Posthuma
2022-03-05README: add a note about mouse button encoding issues in some terminalsHiltjo Posthuma
Maybe this is out-of-scope for the sfeed documentation though.
2022-02-26README: small rewordingHiltjo Posthuma
2022-02-26README: example scripts to count new and unread itemsHiltjo Posthuma
2022-01-06README: sfeed_download small changesHiltjo Posthuma
2022-01-06README: small typo and rewording for sfeed_download exampleHiltjo Posthuma
2022-01-06README: add a listing of the formats supportedHiltjo Posthuma
2022-01-06README: add sfeed_download example, parallel downloader/extractorHiltjo Posthuma
2021-12-23README: improve newsboat export scriptHiltjo Posthuma
Performance improvements, use feed URL if the feed title is not (yet) set.
2021-12-23README: add GNU/HurdHiltjo Posthuma
tested for fun
2021-11-26README: reword the part mentioning SFEED_THEMEHiltjo Posthuma
2021-11-26README: small rewordingHiltjo Posthuma
2021-11-26README: merge the contents of the README of sfeed_cursesHiltjo Posthuma
2021-10-24README: tested with the compiler chibicc and RISCV64 VM (OpenBSD and Linux)Hiltjo Posthuma
chibicc (amd64): https://github.com/rui314/chibicc
2021-07-06README: add a simplified version of printing the first enclosureHiltjo Posthuma
This works on sfeed(5) feed output since they are already sorted.
2021-06-05README: fix typo in a commentHiltjo Posthuma
2021-06-05README: fix escape sequence which is non-POSIXHiltjo Posthuma
The "\s" escape sequence is non-POSIX and GNU awk gives a warning: gawk: cmd. line:69: warning: escape sequence `\s' treated as plain `s' BSD awk does not give this warning and supports it. Use the POSIX [[:space:]] character class instead. References: - https://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html The table in the section "Regular Expressions". - https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap05.html#tag_05
2021-06-01portability and standards: add BSD-like err() and errx() functionsHiltjo Posthuma
These are BSD functions. - HaikuOS now compiles without having to use libbsd. - Tested on SerenityOS (for fun), which doesn't have these functions (yet). With a small change to support wcwidth() sfeed works on SerenityOS.
2021-04-28README: update newsboat export scriptHiltjo Posthuma
Since newsboat version 2.22 (2020-12-21) it stores the content mime-type of a field so allow to export this. The older entries are empty and will be exported as "html" (even though they might have been plain-text). ... also add the (empty) category field.
2021-03-02README: workaround empty fields with *BSD xargs -0Hiltjo Posthuma
Workaround it by setting the empty "middle" fields to some value. The last field can be empty. Some feeds were incorrectly using the wrong base URL if the `baseurl` field was empty but the encoding field was set. So it incorrectly used the encoding field instead. Only now noticed some feeds were failing because the baseURL is validated since commit f305b032bc19b4e81c0dd6c0398370028ea910ca and returning a non-zero exit status. This doesn't happen with GNU xargs, busybox or toybox xargs. Affected (atleast): OpenBSD, NetBSD, FreeBSD and DragonFlyBSD xargs which share similar code. Simple way to reproduce the difference: printf 'a\0\0c\0' | xargs -0 echo Prints "a c" on *BSD. Prints "a c" on GNU xargs (and some other implementations).
2021-03-01README: combine bandwidth saving options into one sectionHiltjo Posthuma
Combine E-Tags, If-Modified-Since in one section. Also mention the curl --compression option for typically GZIP decompression. Note that E-Tags were broken in curl <7.73 due to a bug with "weak" e-tags. https://github.com/curl/curl/issues/5610 From a question/feedback by e-mail from Hadrien Lacour, thanks.
2021-02-05sfeed_update: $SFEED_UPDATE_INCLUDE: be a bit more precise/pedanticHiltjo Posthuma
2021-01-28README: fix xargs -P example when there are no feedsHiltjo Posthuma
Kindof a non-issue but if theres a sfeedrc with no feeds then xargs will still be executed and give an error. The xargs -r option (GNU extension) fixes this: From the OpenBSD xargs(1) man page: "-r Do not run the command if there are no arguments. Normally the command is executed at least once even if there are no arguments." Reproducable with the sfeedrc: feeds() { true }
2021-01-27typofixesHiltjo Posthuma
2021-01-27README: add an example script to reuse the sfeed_update codeHiltjo Posthuma
This code uses the non-portable xargs -P option to more efficiently process feeds in parallel.
2021-01-22README: tested with laccHiltjo Posthuma
Interesting C compiler project: lacc: A simple, self-hosting C compiler: https://github.com/larmel/lacc
2021-01-16README: newsboat sqlite3 export script: improvementsHiltjo Posthuma
- Export read/unread state to a separate plain-text "urls" file, line by line. - Handle white-space control-chars better. From the sfeed(1) man page: " The fields: title, id, author are not allowed to have newlines and TABs, all whitespace characters are replaced by a single space character. Control characters are removed." So do the reverse for newsboat aswell: change white-space characters which are also control-characters (such as TABs and newlines) to a single space character.
2021-01-01README: add text about page redirects + tweak some words.Hiltjo Posthuma
... move sections around in a more logical order and tweak some words. Prompted by a question and feedback from Aleksei, thanks!
2021-01-01README: tested on MIPS32 (big-endian)Hiltjo Posthuma
2020-10-21README: filter example, filter Google Analytics utm_* parametersHiltjo Posthuma
https://support.google.com/analytics/answer/1033867?hl=nl
2020-10-18README: improve etag example with escaping of the filenameHiltjo Posthuma
Use the same base filename as the feed file, because sfeed_update replaces '/' in names with '_': filename="$(printf '%s' "$1" | tr '/' '_')" This fixes the example for fetching feeds with names containing '/'. Reported by __20h__, thanks!
2020-10-18README: add example to support ETag cachingHiltjo Posthuma
2020-10-16README: fix unescaped character in regex in awk in filter exampleHiltjo Posthuma
Found by testing using mawk.
2020-10-12README: filter example: strip Facebook fbclid parameterHiltjo Posthuma
2020-10-09README: tested with cproc and sdcc on Z80 emulator, for funHiltjo Posthuma
cproc: cproc: https://github.com/michaelforney/cproc qbe: https://c9x.me/compile/ z80 (sfeed base program) fuzix: http://www.fuzix.org/ RC2014 emulator: https://github.com/EtchedPixels/RC2014 sdcc: http://sdcc.sourceforge.net/
2020-07-05README: reference sfeed_cursesHiltjo Posthuma
2020-07-05README: improvementsHiltjo Posthuma
- Add an example to optimize bandwidth use with the curl -z option. - Add a note about CDNs blocking based on the User-Agent (based on a question mailed to me). - Add an script to convert existing newsboat items to the sfeed(5) TSV format.
2020-06-25README: small tweaks and a filter example improvementHiltjo Posthuma
This is a "quick&dirty" regex to block some of the typical 1px width or height tracking pixels.
2020-05-15README: fix indentation for fdm.conf examplesHiltjo Posthuma
No functional difference, but it should improve readability.
2020-05-01README: update tested platformsHiltjo Posthuma
- HPPA in qemu (OpenBSD). - FreeDOS + djgpp (+ wget with networking) in 32-bit mode.