- C 98.7%
- Makefile 1.1%
- Shell 0.2%
| .woodpecker | add manual event to the woodpecker configs | |
| doc | add next-error action, add prev-error action | |
| src | add next-error action, add prev-error action | |
| tests | fallback to OSC 52 in copy-to-clipboard-command setting ( #147 ) | |
| .editorconfig | add .editorconfig (see https://editorconfig.org ) | |
| .gitignore | add compile_commands.json make target | |
| makefile | add install-desktop target to makefile ( #155 ) | |
| README.md | add information about #newsraft IRC channel | |
Description
Newsraft is a feed reader with ncurses user interface. It's greatly inspired by Newsboat and tries to be its lightweight counterpart.
Features
- Parallel downloads
- Section-based feeds grouping
- Opening links in any program
- News filtering using SQL conditions
- Viewing news from all feeds with explore mode
- Automatic updates for feeds and sections
- Per-feed settings and key bindings
- Assigning multiple actions to key bindings
- Text searching by news titles and content
- Interactive news content viewing
- Menu sorting by your most desired parameters
- Detailed error reports on failed updates
- Processing feeds from command output
- Support for practically all feed formats
- Come try segfault me, baby ;)
Check out comparison of Newsraft and Newsboat.
Dependencies
| Name | Version | Run | Build | Change |
|---|---|---|---|---|
| curl | >= 7.87.0 | + | + | + |
| expat | >= 2.4.8 | + | + | + |
| gumbo-parser | >= 0.11.0 | + | + | + |
| ncursesw | >= 6.2 | + | + | + |
| sqlite | >= 3.36.0 | + | + | + |
| yajl | >= 2.1.0 | + | + | + |
| C compiler | Any C99 | + | + | |
| make | Any POSIX | + | + | |
| pkg-config | >= 0.29.2 | + | + | |
| gperf | >= 3.1 | + | ||
| scdoc | >= 1.9.1 | + | ||
| mandoc | >= 1.14.6 | + |
Installing
Some package repositories have Newsraft package so it can be installed with a package manager.
If your package repository doesn't provide Newsraft package, you can build it from source: see doc/build-instructions.md for instructions.
Learning more
The essential source of information about Newsraft is its
man page
(if you already have Newsraft installed, you can open it with the man newsraft command).
Alternatively you can read the HTML version of this man page here.
Examples on how to configure Newsraft are located in the doc/examples directory.
If you want to connect with fellow users of Newsraft, come to #newsraft at libera.chat IRC server.
Contributing
Reporting bugs: doc/contributing-report.md
Making changes: doc/contributing-change.md
FAQ
Why it's called Newsraft?
This is a rip-off of Newsboat, replacing "boat" with "raft", which emphasizes a smaller codebase.How do I bind mpv to run in the background?
bind m exec setsid mpv --terminal=no "%l" &
How do I filter out things I don't want to see in my feed?
See item-rule setting.I want Newsraft to show me a help screen on ? key press.
Easy. Just putbind ? exec man newsraft into your config file.
Can I alter feed's content before Newsraft processes it?
Yes, you can do practically anything before Newsraft takes over. It's done via shell interlayer: any shell command in between of$(
and ) will be executed on reload and its standard output will
be taken for a feed content. Here are examples of such feeds:$(gemget -sq gemini://example.org/feed.xml) "Simple blog"$($HOME/bin/html2rss http://example.org/index.html) "Local news"
Why some of my feeds are lagging behind the upstream website even after updating?
Some web servers ask Newsraft to withhold content to reduce network load. Newsraft fulfills these web server wishes by default. There are settings to disable Newsraft's respect for web servers and make it a bad boy, if you are that kind of person.My database is over 9000 GB now. What do I do?
- Set capacity limit on some of your heavy feeds via item-limit setting
- Delete cache of feeds you unsubscribed from with
newsraft -e purge-abandoned