NEWSBEUTER(1)
โจ NEWSBEUTER(1) โ the manual, but make it a group chat โจ
okay bestie, sit down, hydrate, because we're reading the manual for newsbeuter โ the NEWSBEUTER(1) page, part one of five ๐. It's an RSS/Atom feed reader for text terminals. Yes, terminals. Yes, it's iconic. Let's go ๐ฆ
๐ธ NAME ๐ธ
newsbeuter โ an RSS/Atom feed reader for text terminals ๐
๐ SYNOPSIS ๐
newsbeuter [-r] [-e] [-i opmlfile] [-u urlfile] [-c cachefile] [-C
configfile] [-X] [-o] [-x <command> ...] [-h]
literally the whole vibe in one line, no cap โจ
๐ฆ DESCRIPTION ๐ฆ
newsbeuter is an RSS/Atom feed reader for text terminals. RSS and Atom are a number of widely-used XML formats to transmit, publish and syndicate articles, for example news or blog articles. Newsbeuter is designed to be used on text terminals on Unix or Unix-like systems such as Linux, BSD or Mac OS X. ๐
so like. it's a feed reader that lives in your terminal. it eats XML, it spits out articles. it runs on Linux, BSD, Mac OS X โ the Unix-y girlies ๐ซถ
๐ OPTIONS ๐
the flags. the little letters. the main characters of the command line ๐
-hโ Display help ๐-rโ Refresh feeds on start ๐-eโ Export feeds as OPML to stdout ๐ค-Xโ Clean up cache thoroughly (i.e. reduce it in size if possible) ๐งน-v,-Vโ Get version information aboutnewsbeuterand the libraries it uses ๐-iopmlfileโ Import an OPML file ๐ฅ-uurlfileโ Use an alternative URL file ๐-ccachefileโ Use an alternative cache file ๐๏ธ-Cconfigfileโ Use an alternative configuration file โ๏ธ-xcommand ...โ Execute one or more commands to runnewsbeuterunattended. Currently available commands are"reload"and"print-unread". ๐ค-oโ Active offline reading mode. When Google Reader synchronization mode is configured, then the list of feeds will not be loaded from Google Reader, but instead from the local cache. This makes it possible to read locally cached articles even without internet connection to connect to Google Reader. โ๏ธ-lloglevelโ Generate a loglevel with a certain loglevel. Valid loglevels are1to6. An actual logfile will only be written when you provide a logfile name. ๐-dlogfileโ Use this logfile as output when logging debug messages. Please note that this only works when providing a loglevel. ๐-Efileโ Export a list of read articles (resp. their GUIDs). This can be used to transfer information about read articles between different computers. ๐พ-Ifileโ Import a list of read articles and mark them as read if they are held in the cache. This is to be used in conjunction with the-Ecommandline parameter. ๐
๐ FIRST STEPS ๐
After you've installed newsbeuter, you can run it for the first time by typing "newsbeuter" on your command prompt. This will bring you the following message:
Error: no URLs configured. Please fill the file /home/ak/.newsbeuter/urls with RSS feed URLs or import an OPML file.
newsbeuter 2.4
usage: ./newsbeuter [-i <file>|-e] [-u <urlfile>] [-c <cachefile>] [-x <command> ...] [-h]
-e export OPML feed to stdout
-r refresh feeds on start
-i <file> import OPML file
-u <urlfile> read RSS feed URLs from <urlfile>
-c <cachefile> use <cachefile> as cache file
-C <configfile> read configuration from <configfile>
-X clean up cache thoroughly
-x <command>... execute list of commands
-o activate offline mode (only applies to Google Reader synchronization mode)
-q quiet startup
-v get version information
-l <loglevel> write a log with a certain loglevel (valid values: 1 to 6)
-d <logfile> use <logfile> as output log file
-E <file> export list of read articles to <file>
-I <file> import list of read articles from <file>
-h this help
This means that newsbeuter can't start without any configured feeds. To add feeds to newsbeuter, you can either add URLs to the configuration file $HOME/.newsbeuter/urls or you can import an OPML file by running "newsbeuter -i blogroll.opml". To manually add URLs, open the file with your favorite text editor and add the URLs, one per line:
http://rss.cnn.com/rss/cnn_topstories.rss
http://newsrss.bbc.co.uk/rss/newsonline_world_edition/front_page/rss.xml
If you need to add URLs that have restricted access via username/password, simply provide the username/password in the following way:
http://username:password@hostname.domain.tld/feed.rss
In order to protect username and password, make sure that $HOME/.newsbeuter/urls has the appropriate permissions. Newsbeuter also makes sure that usernames and passwords within URLs aren't displayed in its user interface. In case there is a @ in the username, you need to write it as %40 instead so that it can be distinguished from the @ that separates the username/password part from the hostname part. ๐
bestie. pls. chmod that urls file. your password is sitting there in plain text and it's giving exposed ๐ญ
You can also configure local files as feeds, by prefixing the local path with "file://" and adding it to the $HOME/.newsbeuter/urls file:
file:///var/log/rss_eventlog.xml
Now you can run newsbeuter again, and it will present you with a controllable list of the URLs that you configured previously. You can now start downloading the feeds, either by pressing "R" to download all feeds, or by pressing "r" to download the currently selected feed. You can then select a feed you want to read, and by pressing "Enter", you can go to the article list for this feed. This works even while the downloading is still in progress. You can now see the list of available articles by their title. A "N" on the left indicates that an article wasn't read yet. Pressing Enter brings you to the content of the article. You can scroll through this text, and also run a browser (default: lynx) to view the complete article if the content is empty or just an abstract or a short description. Pressing "q" brings you back to the article list, and pressing "q" again brings you back to the feed list. Pressing "q" a third time then closes newsbeuter. ๐ฎ
Newsbeuter caches the article that it downloads. This means that when you start newsbeuter again and reload a feed, the old articles can still be read even if they aren't in the current RSS feeds anymore. Optionally you can configure how many articles shall be preserved by feed so that the article backlog doesn't grow endlessly (see "max-items" below). ๐๏ธ
Newsbeuter also uses a number of measures to preserve the users' and feed providers' bandwidth, by trying to avoid unnecessary feed downloads through the use of conditional HTTP downloading. It saves every feed's "Last-Modified" and "ETag" response header values (if present) and advises the feed's HTTP server to only send data if the feed has been updated by modification date/time or "ETag" header. This doesn't only make feed downloads for RSS feeds with no new updates faster, it also reduces the amount of transferred data per request. Conditional HTTP downloading can be optionally disabled per feed by using the "always-download" configuration command. ๐
Several aspects of newsbeuter's behaviour can be configured via a configuration file, by default $HOME/.newsbeuter/config. This configuration file contains lines in the form "<config-command> <arg1> ...". The configuration file can also contain comments, which start with the # character and go as far as the end of line. If you need to enter a configuration argument that contains spaces, use quotes (") around the whole argument. It's even possible to integrate the output of external commands into the configuration. The text between two backticks (""`) is evaluated as shell command, and its output is put on its place instead. This works like backtick evaluation in Bourne-compatible shells and allows users to use external information from the system within the configuration. ๐ง
Searching for articles is possible in newsbeuter, too. Just press the "/" key, enter your search phrase, and the title and content of all articles are searched for it. When you do a search from the list of feeds, all articles of all feeds will be searched. When you do a search from the article list of a feed, only the articles of the currently viewed feed are searched. When opening an article from a search result dialog, the search phrase is highlighted. ๐
The history of all your searches is saved to the filesystem, to ~/.newsbeuter/history.search. By default, the last 100 search phrases are stored, but this limited can be influenced through the "history-limit" configuration variable. To disable search history saving, simply set the history-limit to 0. ๐ฐ๏ธ
โ๏ธ CONFIGURATION COMMANDS โ๏ธ
this is where you customize your whole little world. every command, every default, every example โ all of it, no skipping ๐
always-display-description(parameters:[true/false]; default value:false) โ Iftrue, then the description will always displayed even if e.g. acontent:encodedtag has been found. (example:always-display-description true) ๐always-download(parameters:<rssurl> [<rssurl>]; default value:n/a) โ The parameters of this configuration command are one or more RSS URLs. These URLs will always get downloaded, regardless of their Last-Modified timestamp and ETag header. (example:always-download "http://www.n-tv.de/23.rss") โฌ๏ธarticle-sort-order(parameters:<sortfield>[-<direction>]; default value:date) โ The sortfield specifies which article property shall be used for sorting (currently available:date,title,flags,author,link,guid). The optional direction specifies the sort direction ("asc"specifies ascending sorting,"desc"specifies descending sorting. for date,"desc"is default, for all others,"asc"is default). (example:article-sort-order author-desc) ๐articlelist-format(parameters:<format>; default value:"%4i %f %D %6L %?T?;%-17T; ?%t") โ This variable defines the format of entries in the article list. See the respective section in the documentation for more information on format strings (note that the semicolon should actually be a vertical bar; this is a limitation in AsciiDoc). (example:articlelist-format "%4i %f %D %?T?;%-17T; ?%t") ๐จauto-reload(parameters:[yes/no]; default value:no) โ If enabled, all feeds will be automatically reloaded at start up and then continuously after a certain time has passed (seereload-time). (example:auto-reload yes) โป๏ธ
okay that's part one, and there's more coming so don't go anywhere bestie ๐
bind-key
parameters: <key> <operation> [<dialog>] ยท default value: n/a
Okay so this one is THE vibe-setter of the whole config file bestie. You bind <key> to <operation>, meaning literally whenever you press <key>, the <operation> runs (as long as it makes sense in the dialog you're in rn). The full list of available operations is down below ๐
And plot twist โ you can optionally specify a dialog. If you do, the keybinding only gets added to that one dialog. The dialogs you can pick from are "all" (which is the default if you don't name one), "feedlist", "filebrowser", "help", "articlelist", "article", "tagselection", "filterselection", "urlview" and "podbeuter". โจ
bind-key ^R reload-all
bookmark-cmd
parameters: <bookmark-command> ยท default value: ""
Set this and <bookmark-command> becomes your bookmarking plugin ๐. The documentation on bookmarking has the whole lore if you want it.
bookmark-cmd "~/bin/delicious-bookmark.sh"
bookmark-interactive
parameters: [yes/no] ยท default value: no
Set it to yes and newsbeuter knows your configured bookmark command is an interactive program ๐ฌ.
bookmark-interactive yes
bookmark-autopilot
parameters: [yes/no] ยท default value: no
Set to yes and your bookmark command just goes, no further input asked from the user โ unless the url or the title can't be found or guessed ๐.
bookmark-autopilot yes
browser
parameters: <browser-command> ยท default value: lynx
The browser command used when you open an article in the browser ๐. If <browser-command> contains %u, then it's used as the complete commandline and %u gets swapped out for the URL that shall be opened.
browser "w3m %u"
cache-file
parameters: <path> ยท default value: "~/.newsbeuter/cache.db"
Sets the cache file ๐. Highkey useful if your home directory's filesystem doesn't support proper locking (looking at you, NFS ๐).
cache-file "/tmp/testcache.db"
cleanup-on-quit
parameters: [yes/no] ยท default value: yes
If yes, then on quit the cache gets locked and superfluous feeds and items get removed โ like feeds that can't be found in the urls configuration file anymore ๐งนโจ.
cleanup-on-quit no
color
parameters: <element> <fgcolor> <bgcolor> [<attr> ...] ยท default value: n/a
Sets the foreground color, background color and the optional attributes for a certain element ๐จ.
color background white black
confirm-exit
parameters: [yes/no] ยท default value: no
If yes, newsbeuter will ask you whether you really wanna quit newsbeuter ๐ฅบ.
confirm-exit yes
cookie-cache
parameters: <file> ยท default value: ""
Set a cookie cache ๐ช. If set, cookies get cached โ meaning read from and written to โ in this file.
cookie-cache "~/.newsbeuter/cookies.txt"
datetime-format
parameters: <date/time format> ยท default value: %b %d
This format decides the date/time format shown in the article list ๐
. For the detailed documentation on allowed formats, go consult the manpage of strftime(3).
datetime-format "%D, %R"
define-filter
parameters: <name> <filter> ยท default value: n/a
With this you can predefine filters ๐, which you can later pick from a list, and which then get applied after selection. Chef's kiss for filters you need constantly and you're not about to retype them every single time.
define-filter "all feeds with fun tag" "tags # \\"fun\\""
delete-read-articles-on-quit
parameters: [yes/no] ยท default value: "no"
If set to "yes", then all read articles get deleted when you quit newsbeuter ๐.
delete-read-articles-on-quit yes
display-article-progress
parameters: [yes/no] ยท default value: yes
If yes, a read progress (in percent) is displayed in the article view ๐. Otherwise, no read progress is displayed.
display-article-progress no
download-retries
parameters: <number retries> ยท default value: 1
How many times newsbeuter shall try to successfully download a feed before giving up ๐. This one's here to improve download success on slow and shaky connections, like via a TOR proxy.
download-retries 4
download-full-page
parameters: [yes/no] ยท default value: no
If yes, then for all feed items with no content but with a link, the link gets downloaded and the result is used as content instead ๐. Heads up bestie, this may significantly increase the download times of "empty" feeds.
download-full-page yes
download-timeout
parameters: <seconds> ยท default value: 30
The number of seconds newsbeuter shall wait when downloading a feed before giving up โณ. Again, this exists to improve download success on slow and shaky connections such as via a TOR proxy.
download-timeout 60
error-log
parameters: <path> ยท default value: ""
If set, then user errors (e.g. errors regarding defunct RSS feeds) get logged to this file ๐.
error-log "~/.newsbeuter/error.log"
external-url-viewer
parameters: <command> ยท default value: ""
If set, then "show-urls" will pipe the current article to a specific external tool instead of using the internal URL viewer ๐ญ. Perfect for integrating tools such as urlview.
external-url-viewer "urlview"
feed-sort-order
parameters: <sortorder> ยท default value: none
If set to "firsttag", the feeds in the feed list get sorted by their first tag in the urls file ๐ท๏ธ.
feed-sort-order firsttag
feedlist-format
parameters: <format> ยท default value: "%4i %n %11u %t"
This variable defines the format of entries in the feed list ๐. See the respective section in the documentation for more info on format strings.
feedlist-format " %n %4i - %11u -%> %t"
oldreader-flag-share
parameters: <flag> ยท default value: ""
If this is set and The Old Reader support is used, then all articles flagged with the specified flag are being "shared" in The Old Reader, so the people who follow you can see it ๐.
oldreader-flag-share "a"
oldreader-flag-star
parameters: <flag> ยท default value: ""
If this is set and The Old Reader support is used, then all articles flagged with the specified flag are being "starred" in The Old Reader and show up in the list of "Starred items" โญ.
oldreader-flag-star "b"
oldreader-login
parameters: <login> ยท default value: ""
This variable sets your The Old Reader login for The Older Reader support ๐.
oldreader-login "your-login"
oldreader-min-items
parameters: <number> ยท default value: 20
This variable sets the number of articles that are loaded from The Old Reader per feed ๐.
oldreader-min-items 100
oldreader-password
parameters: <password> ยท default value: ""
This variable sets your The Old Reader password for The Old Reader support ๐คซ.
oldreader-password "your-password"
oldreader-passwordfile
parameters: <path-to-file ยท default value: ""
A more secure alternative to the above, by storing your password elsewhere in your system ๐ก๏ธ.
oldreader-passwordfile "path-to-file"
oldreader-show-special-feeds
parameters: [yes/no] ยท default value: yes
If this is set, then "special feeds" like "People you follow" (articles shared by people you follow), "Starred items" (your starred articles) and "Shared items" (your shared articles) appear in your subscription list ๐ซ.
oldreader-show-special-feeds "no"
feedhq-flag-share
parameters: <flag> ยท default value: ""
If this is set and FeedHQ support is used, then all articles flagged with the specified flag are being "shared" in FeedHQ so the people who follow you can see it ๐.
feedhq-flag-share "a"
feedhq-flag-star
parameters: <flag> ยท default value: ""
If this is set and FeedHQ support is used, then all articles flagged with the specified flag are being "starred" in FeedHQ and show up in the list of "Starred items" โญ.
feedhq-flag-star "b"
feedhq-login
parameters: <login> ยท default value: ""
This variable sets your FeedHQ login for FeedHQ support ๐.
feedhq-login "your-login"
feedhq-min-items
parameters: <number> ยท default value: 20
This variable sets the number of articles that are loaded from FeedHQ per feed ๐.
feedhq-min-items 100
feedhq-password
parameters: <password> ยท default value: ""
This variable sets your FeedHQ password for FeedHQ support ๐คซ.
feedhq-password "your-password"
feedhq-passwordfile
parameters: <path-to-file ยท default value: ""
A more secure alternative to the above, by storing your password elsewhere in your system ๐ก๏ธ.
feedhq-passwordfile "path-to-file"
feedhq-show-special-feeds
parameters: [yes/no] ยท default value: yes
If this is set, then "special feeds" like "People you follow" (articles shared by people you follow), "Starred items" (your starred articles) and "Shared items" (your shared articles) appear in your subscription list ๐ซ.
feedhq-show-special-feeds "no"
goto-first-unread
parameters: [yes/no] ยท default value: yes
If set to yes (which, bestie, is the default), then the first unread article gets selected whenever a feed is entered ๐ฏ.
goto-first-unread no
goto-next-feed
parameters: [yes/no] ยท default value: yes
If set to yes, then the next-unread and prev-unread keys will go search other feeds for unread articles once everything in the current feed is read. If set to no, then those next-unread and prev-unread keys stop in the current feed ๐.
goto-next-feed no
highlight
parameters: <target> <regex> <fgcolor> [<bgcolor> [<attribute> ...]] ยท default value: n/a
With this command you can highlight text parts in the feed list, the article list and the article view โจ๐๏ธ. For the detailed documentation, see the chapter on highlighting.
highlight all "newsbeuter" red
highlight-article
parameters: <filterexpr> <fgcolor> <bgcolor> [<attribute> ...] ยท default value: n/a
With this command you can highlight articles in the article list if they match a filter expression ๐ . For the detailed documentation, see the chapter on highlighting.
highlight-article "author =~ \\"Andreas Krennmair\\"" white red bold
history-limit
parameters: <number> ยท default value: 100
Defines the maximum number of entries of commandline resp. search history to be saved ๐ฐ๏ธ. Wanna disable history saving entirely? Set history-limit to 0.
history-limit 0
html-rendererโ parameters:<path>; default:internal. Set this to"internal"and bestie, the built-in HTML renderer handles everything, no cap ๐ . Set it to literally anything else and that command gets run instead โ the HTML that needs rendering gets piped straight into the command's stdin, and whatever the program spits out is what you see. That's the whole reason you can flex with external renderers likew3m,linksorlynx. (example:html-renderer "w3m -dump -T text/html")http-auth-methodโ parameters:<method>; default:any. Picks the HTTP authentication method, periodt. The allowed values are:any,basic,digest,digest_ie(only available with libcurl 7.19.3 and newer, iykyk),gssnegotiate,ntlm,anysafe. (example:http-auth-method digest)ignore-articleโ parameters:<feed><filterexpr>; default: n/a. If a downloaded article from<feed>matches<filterexpr>, it gets straight-up ignored and never presented to you ๐. There's a whole "kill file" section below that explains this more, so go read it. (example:ignore-article "*" "title =~ \"Windows\"")ignore-modeโ parameters:[download/display]; default:download. This one decides how an article gets ignored (seeignore-article, it's giving tag team energy). Set it to"download"and it's ignored during the download/parsing phase โ which is the default โ so it literally never gets written to the cache. Set it to"display"and it's ignored when you're looking at articles, but it's still kept in the cache. (example:ignore-mode "display")includeโ parameters:<path>; default: n/a. Lets you pull other files in and have them read as config files too ๐ซถ. This is so useful for splitting your config into separate little files โ like a key config, a color config, etc. Keep it organized, main character energy. (example:include "~/.newsbeuter/colors")keep-articles-daysโ parameters:<days>; default:0. Set this to a number greater than0and only articles published within the last<n>days get kept โ everything older gets deleted โจ. Leave it at0(the default) and this option is just not active at all. (example:keep-articles-days 30)macroโ parameters:<macro key><command list>; default: n/a. Defines a macro key plus a list of commands to run when the macro prefix and the macro key get pressed. One keypress, whole routine slayed ๐ฅ. (example:macro k open ; reload ; quit)mark-as-read-on-hoverโ parameters:[yes/no]; default:no. Set it toyesand every article you select in the article list gets marked as read. (example:mark-as-read-on-hover yes)max-download-speedโ parameters:<number>; default:0. Set it to a number greater than0and the download speed per download is capped at that limit, in kB. (example:max-download-speed 50)max-itemsโ parameters:<number>; default:0. Sets the max number of articles to keep per feed. Set it to0and literally all articles are kept, no limit bestie. (example:max-items 100)notify-formatโ parameters:<string>; default:"newsbeuter: finished reload, %f unread feeds (%n unread articles total)". The format string used for formatting notifications. Peep the chapter on format strings for the deets. (example:notify-format "%d new articles (%n unread articles, %f unread feeds)")notify-programโ parameters:<path>; default:"". If you set this, that program gets executed whenever new articles arrive (through a reload) or whenevernotify-alwaysistrue. The first parameter passed to the program is the notification message. (example:notify-program "~/bin/my-notifier")notify-alwaysโ parameters:[yes/no]; default:no. Set it tonoand notifications only happen when there are actually new feeds or articles. Set it toyesand you get notified regardless. (example:notify-always yes)notify-screenโ parameters:[yes/no]; default:no. Set it toyesand a "privacy message" gets sent to the terminal with a notification about new articles ๐. This is especially useful if you're running terminal emulations like GNU screen that implement privacy messages. (example:notify-screen yes)notify-xtermโ parameters:[yes/no]; default:no. Set it toyesand the xterm window title becomes your notification message about new articles. (example:notify-xterm yes)notify-beepโ parameters:[yes/no]; default:no. Set it toyesand the speaker beeps when there are new articles ๐. (example:notify-beep yes)opml-urlโ parameters:<url> ...; default:"". If the OPML online subscription mode is enabled, then your feed list gets pulled from the OPML file sitting at this location. And bestie, you can optionally drop more than one URL in here โ all the OPML URLs you list get taken into account when loading the feed list ๐. (example:opml-url "http://host.domain.tld/blogroll.opml" "http://example.com/anotheropmlfile.opml")pagerโ parameters:[<path>/internal]; default:internal. Set it to"internal"and you get the built-in pager. Otherwise the article gets rendered into a temporary file and then shown with the pager you configured. If the pager path is an empty string, the content of the"PAGER"environment variable gets used instead. And if the pager path contains the placeholder"%f", that placeholder gets swapped out for the temporary filename ๐. (example:less %f)podcast-auto-enqueueโ parameters:[yes/no]; default:no. Set it toyesand every podcast URL found in your articles gets added to the podcast download queue. There's a whole section in the documentation about podcast support in newsbeuter if you wanna go deeper. (example:podcast-auto-enqueue yes)prepopulate-query-feedsโ parameters:[yes/no]; default:no. Set it toyesand all query feeds get prepopulated with articles on startup, so they're already loaded when you roll in ๐ . (example:prepopulate-query-feeds yes)proxyโ parameters:<server:port>; default: n/a. Sets the proxy used for downloading RSS feeds. (example:proxy localhost:3128)proxy-authโ parameters:<auth>; default: n/a. Sets the proxy authentication string. (example:proxy-auth user:password)proxy-auth-methodโ parameters:<method>; default:any. Sets the proxy authentication method. Allowed values:any,basic,digest,digest_ie(only available with libcurl 7.19.3 and newer),gssnegotiate,ntlm,anysafe. (example:proxy-auth-method ntlm)proxy-typeโ parameters:<type>; default:http. Sets the proxy type. Allowed values:http,socks4,socks4a,socks5. (example:proxy-type socks5)refresh-on-startupโ parameters:[yes/no]; default:no. Set it toyesand all feeds get reloaded the moment newsbeuter starts up ๐. This is equivalent to the-rcommandline option. (example:refresh-on-startup yes)reload-only-visible-feedsโ parameters:[yes/no]; default:no. Set it toyesand manually reloading all feeds only reloads the feeds that are currently visible โ like if a filter or a tag is set. (example:reload-only-visible-feeds yes)reload-timeโ parameters:<number>; default:60. The number of minutes between automatic reloads โฐ. (example:reload-time 120)reload-threadsโ parameters:<number>; default:1. How many parallel reload threads get started when all feeds are reloaded. (example:reload-threads 3)reset-unread-on-updateโ parameters:<url> ...; default: n/a. With this you hand over a list of RSS feed URLs where, for their articles, the unread flag gets reset if an article has been updated โ meaning its content changed. This is especially useful for RSS feeds where single articles get updated after publication and you wanna be notified about those updates ๐. (example:reset-unread-on-update "http://blog.fefe.de/rss.xml?html")save-pathโ parameters:<path>; default:~/. The default path where articles get saved to. If you specify an invalid path, the current directory gets used instead. (example:save-path "~/Saved Articles")search-highlight-colorsโ parameters:<fgcolor><bgcolor>[<attribute> ...]; default:black yellow bold. This one sets the highlight colors used when you're searching for text from the article view โจ. (example:search-highlight-colors white black bold)show-keymap-hintโ parameters:[yes/no]; default:yes. Set it tonoand the keymap hints at the bottom of the screen won't be displayed. (example:show-keymap-hint no)show-read-feedsโ parameters:[yes/no]; default:yes. Set it toyesand all feeds get listed, including the ones with no unread articles. Set it tonoand only feeds with one or more unread articles are listed. (example:show-read-feeds no)show-read-articlesโ parameters:[yes/no]; default:yes. Set it toyesand all articles of a feed are listed in the article list. Set it tonoand only unread articles are listed. (example:show-read-articles no)suppress-first-reloadโ parameters:[yes/no]; default:no. Set it toyesand the first automatic reload gets suppressed โ but only ifauto-reloadis set toyes. (example:suppress-first-reload yes)swap-title-and-hintsโ parameters:[yes/no]; default:no. Set it toyesand the title at the top of the screen and the keymap hints at the bottom of the screen get swapped ๐. (example:swap-title-and-hints yes)text-widthโ parameters:<number>; default:0. Set it to a number greater than0and all HTML gets rendered to that maximum line length. Set it to0and the terminal width is used instead. (example:text-width 72)ttrss-flag-publishโ parameters:<character>; default:"". If this is set and Tiny Tiny RSS support is being used, then all articles flagged with the flag you specify get marked as "published" in Tiny Tiny RSS. (example:ttrss-flag-publish "b")ttrss-flag-starโ parameters:<character>; default:"". If this is set and Tiny Tiny RSS support is being used, then all articles flagged with the flag you specify get "starred" in Tiny Tiny RSS โญ. (example:ttrss-flag-star "a")ttrss-loginโ parameters:<username>; default:"". Sets the username for use with Tiny Tiny RSS. (example:ttrss-login "admin")ttrss-modeโ parameters:[multi/single]; default:multi. Configures the mode Tiny Tiny RSS is used in. In single-user mode, login and password are used for HTTP authentication โ while in multi-user mode, they're used for authenticating with Tiny Tiny RSS itself. (example:ttrss-mode "single")ttrss-password(parameters:<password>; default value:"") โ sets the password for Tiny Tiny RSS, bestie. (example:ttrss-password "mypassword")ttrss-passwordfile(parameters:<path-to-file; default value:"") โ the glow-up version of the one above: stash your password somewhere else on your system instead so it's not sitting right there in the config. (example:ttrss-passwordfile "path-to-file")ttrss-url(parameters:<url>; default value:"") โ where does your Tiny Tiny RSS live? Drop that URL here. (example:ttrss-url "http://example.com/ttrss/")unbind-key(parameters:<key>[<dialog>]; default value: n/a) โ yeets a key binding into the void, so pressing<key>does โจabsolutely nothingโจ. You can name a dialog (the full list lives up inbind-key, mwah) and if you do, the unbinding only applies to that one dialog. (example:unbind-key R)urls-source(parameters:<source>; default value:"local") โ tells newsbeuter where to go fetch your URLs from. Default vibe is~/.newsbeuter/urls. Other options, no cap:"opml"flips on OPML online subscription mode,"ttrss"turns on Tiny Tiny RSS support,"oldreader"is The Old Reader,"newsblur"is NewsBlur, and"feedhq"is FeedHQ. (example:urls-source "oldreader")use-proxy(parameters: [yes/no]; default value:no) โ sayyesand all your RSS downloads ride through the proxy you configured. (example:use-proxy yes)user-agent(parameters:<user agent string>; default value:"") โ set this to any non-zero-length string and it becomes the HTTPUser-Agentheader on every single HTTP request. (example:user-agent "Lynx/2.8.5rel.1 libwww-FM/2.14")
๐ฎ AVAILABLE OPERATIONS ๐ฎ
Every little thing newsbeuter can do, plus the key it's bound to out of the box. This is the lore. ๐
open(default key:ENTER) โ opens whatever feed or article you're currently sitting on.quit(default key:q) โ bails out of the program, or just backs up to the previous dialog, depending on the context you're in.reload(default key:r) โ refreshes the feed you've got selected.reload-all(default key:R) โ refreshes every feed. all of them. go off.mark-feed-read(default key:A) โ marks every article in the currently selected feed as read.mark-all-feeds-read(default key:C) โ marks articles in all feeds as read. the whole inbox, gone.save(default key:s) โ saves the currently selected article to a file.next-unread(default key:n) โ hops to the next unread article.prev-unread(default key:p) โ hops back to the previous unread article.next(default key:J) โ jumps to the next article.prev(default key:K) โ jumps to the previous article.random-unread(default key:^K) โ jumps to a random unread article. chaos mode, lowkey iconic.open-in-browser(default key:o) โ opens the URL tied to the current article.open-in-browser-and-mark-read(default key:O) โ opens the current article's URL and flags the article as read.help(default key:?) โ runs the help screen.toggle-source-view(default key:^U) โ flips between the HTML view and the source view while you're in the article view.toggle-article-read(default key:N) โ toggles the read flag on the currently selected article.toggle-show-read-feeds(default key:l) โ toggles whether read feeds show up in your feed list at all.show-urls(default key:u) โ shows every URL in the article as a list (kinda likeurlview).clear-tag(default key:^T) โ clears the current tag.set-tag(default key:t) โ selects a tag.open-search(default key:/) โ opens the search dialog. Pro tip from the manpage itself: if you search from the article list, the search only covers the articles of the current feed โ otherwise it covers all articles.goto-url(default key:#) โ opens the URL dialog, then opens whatever URL you typed in.enqueue(default key:e) โ grabs the podcast download URL of the current article (if there even is one) and drops it in the podcast download queue. (more podcast tea is in the relevant section of the documentation, iykyk)edit-urls(default key:E) โ lets you edit the list of subscribed URLs. newsbeuter launches whatever editor is in the$VISUALenvironment variable; if that's unset it uses$EDITOR; and if that's unset too, fallback is"vi". Once you're done editing, newsbeuter reloads the URLs file.reload-urls(default key:^R) โ reloads the URLs configuration file.redraw(default key:^L) โ redraws the screen.cmdline(default key:<colon>) โ opens the command line.set-filter(default key:F) โ sets a filter.select-filter(default key:f) โ picks one of your predefined filters.clear-filter(default key:^F) โ clears the filter you currently have set.bookmark(default key:^B) โ bookmarks the currently selected article or URL.edit-flags(default key:^E) โ edits the flags on the currently selected article.next-unread-feed(default key:^N) โ goes to the next feed that has unread articles. โ ๏ธ this only works from the article list.prev-unread-feed(default key:^P) โ goes to the previous feed with unread articles. again, only works from the article list.next-feed(default key:j) โ goes to the next feed. only from the article list, bestie.prev-feed(default key:k) โ goes to the previous feed. article list only.delete-article(default key:D) โ deletes the currently selected article.purge-deleted(default key:$) โ purges all the articles marked as deleted out of the article list.view-dialogs(default key:v) โ shows you the list of open dialogs.close-dialog(default key:^X) โ closes the currently selected dialog.next-dialog(default key:^V) โ goes to the next dialog.prev-dialog(default key:^G) โ goes to the previous dialog.pipe-to(default key:|) โ pipes the article into a command.sort(default key:g) โ sorts feeds/articles by interactively picking the sort method.revsort(default key:G) โ same thing but reversed, you pick the method interactively.up(default key:UP) โ goes up one item in the list.down(default key:DOWN) โ goes down one item in the list.pageup(default key:PPAGE) โ goes up one page in the list.pagedown(default key:NPAGE) โ goes down one page in the list.
๐ท๏ธ TAGGING ๐ท๏ธ
Newsbeuter lets you categorize โ or "tag", as we call it โ your RSS feeds. ๐ Every RSS feed can carry 0 or more tags. Once they're tagged, you can tell newsbeuter to only show the feeds that match a certain tag. It's a flexible, powerful way to organize your feeds, fr fr.
Normally your ~/.newsbeuter/urls file is just one RSS feed URL per line. To tag a feed, just stick the tag on the end as a single word, separated by blanks โ a space or a tab, whatever. If a tag needs to contain spaces, you must wrap it in quotes (") (peep the example below). A ~/.newsbeuter/urls file might look like:
http://blog.fefe.de/rss.xml?html interesting conspiracy news "cool stuff"
http://rss.orf.at/news.xml news orf
http://www.heise.de/newsticker/heise.rdf news interesting
So now when you start newsbeuter with this config, you can hit "t" to select a tag. Select "news" and boom, all three RSS feeds show up. Hit "t" again and pick the "conspiracy" tag and you'll only see the http://blog.fefe.de/rss.xml?html RSS feed. Press "^T" and the current tag gets cleared, showing all your RSS feeds again no matter what tags they're carrying.
Now, a special type of tag: ones that start with the tilde character ("~"). When newsbeuter finds one of these, the feed title gets set to the tag name (minus the ~ character). Which means you can give a feed literally any title you want in your feed list:
http://rss.orf.at/news.xml "~ORF News"
And another special type: tags starting with the exclamation mark. When one of these shows up, the feed gets hidden from the regular feed list, and its content can only be reached through a query feed:
http://rss.orf.at/news.xml "!ORF News (hidden)"
๐ SCRIPTS AND FILTERS ๐
From version 0.4 on, newsbeuter has support for Snownews extensions. ๐ง The RSS readers Snownews and Liferea share a common way of extending themselves with custom scripts, and there are two mechanisms newsbeuter supports: "execurl" type scripts and "filter" type scripts.
An "execurl" script is any program that gets run, whose output then gets interpreted as an RSS feed. A "filter" script, meanwhile, gets fed the content of a URL you configured, and its output gets interpreted as an RSS feed.
Configuring this is simple and straight-forward, no stress. Just add lines like these to your ~/.newsbeuter/urls file:
exec:~/bin/execurl-script
filter:~/bin/filter-script:http://some.test/url
That first line is how you add an execurl script: start the line with "exec:" and then immediately append the path of the script that should be executed. If your script needs extra parameters, just quote the whole thing:
"exec:~/bin/execurl-script param1 param2"
The second line is how you add a filter script: start with "filter:", immediately append the script's path, then a colon (":"), then the URL of the file that should be fed to the script. And yep โ if the script needs parameters, quote it:
"filter:~/bin/filter-script param1 param2:http://url/foobar"
In both cases, the tagging feature from up above is still very much available:
exec:~/bin/execurl-script tag1 tag2 "quoted tag"
filter:~/bin/filter-script:http://some.test/url tag3 tag4 tag5
A whole collection of these extension scripts lives at: http://kiza.kcore.de/software/snownews/snowscripts/extensions
And if you wanna write your own extensions, go here for further instructions: http://kiza.kcore.de/software/snownews/snowscripts/writing
๐ฌ COMMAND LINE ๐ฌ
ok so listen bestie, newsbeuter is like every other text-oriented software ever and it has an internal commandline where you can โจ change configuration variables on the fly โจ and run your own little commands. it's giving flexible access to the functionality of newsbeuter, and it's especially useful if you're an advanced user. periodt.
to open the commandline, just type :. a : prompt pops up at the bottom of your screen, exactly like vi(m) or mutt do it (iykyk). then you type your command. hit the return key and boom โ the command runs (maybe it gives you feedback, maybe it doesn't, whatever) and the commandline closes. wanna bail? press the ESC key and pretend you never even opened it ๐.
the history of everything you type gets saved to ~/.newsbeuter/history.cmdline. by default the backlog holds 100 entries, but you can change that with the history-limit configuration variable. and if you want no history at all? set history-limit to 0 and it's gone, no cap, deleted, bye ๐
.
starting with newsbeuter 2.0, the commandline has your back when you can't remember the full names of commands. press the TAB key and newsbeuter will try to auto-complete your command. if there's more than one possible completion, just keep pressing TAB to cycle through all of them ๐. if there's no match at all, nothing gets inserted โ sorry babe, it's not a mind reader. and for the set command, completion also works for configuration variable names, which is iconic honestly.
oh and there are some extra key combos for you:
Ctrl-Gโ cancel inputCtrl-Kโ delete text from the cursor position to the end of lineCtrl-Uโ clear the whole lineCtrl-Wโ delete the word before the current cursor position
โ ๏ธ heads up bestie, the input history of both the command line and the search functions gets written to your filesystem โ to~/.newsbeuter/history.cmdlineand~/.newsbeuter/history.searchrespectively. by default the last 100 entries are saved, but this is configurable (that samehistory-limitconfiguration variable) and it can be totally disabled by setting that variable to0. your business, your call ๐ซถ
๐ currently, the following command line commands are available
quitโ quit newsbeuter. that's it. that's the command. goodbye ๐save <filename>โ save the current article to<filename>set <variable>[=<value>|&|!]โ set (or get) a configuration variable value. putting a!after the name of a boolean configuration variable toggles its value. putting a&directly after the name of a configuration variable of any type resets its value to the documented default value. yes, both. no, you don't have to remember it, it's right here โจtag <tagname>โ select a certain taggoto <case-insensitive substring>โ go to the next feed whose name contains the case-insensitive substringsource <filename> [...]โ load the specified configuration files. this lets you load alternative configuration files, or reload already-loaded configuration files on-the-fly from the filesystem ๐ฅdumpconfig <filename>โ save the current internal state of the configuration to a file, so it can be instantly reused as a configuration file. it's giving save-scumming but for configs ๐<number>โ jump to the<number>th entry in the current dialog
๐ FILES ๐
$HOME/.newsbeuter/config
$HOME/.newsbeuter/urls
๐ SEE ALSO ๐
podbeuter(1). also, the documentation that comes with newsbeuter is a good source about the general use and configuration of newsbeuter. go read it, bestie, it's right there ๐
๐ธ AUTHORS ๐ธ
Andreas Krennmair <ak@newsbeuter.org>, for contributors see the AUTHORS file.
๐ AUTHOR ๐
Andreas Krennmair <ak@newsbeuter.org>
- Author.
ok that's the whole page, we did it, we ate and left no crumbs ๐ and real quick, the little footer on this thing says it's from 02/19/2015 and it's version/edition NEWSBEUTER(1) โ so yeah, vintage but still slaying โจ๐ bye bestie, go read your feeds ๐ฆ
๐ฆ where this page comes from
- fedora 43: newsbeuter 2.9-28.fc43 ยท MIT
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms