Newsboat называет себя «Mutt of RSS reader», ссылаясь на интерфейс ncurses(3), управляемый нажатием клавиш, конфигурацию открытого текста со многими опциями и обширный набор функций. Если вам нравится идея использования клиентского RSS-ридера в терминале, то это может быть идеальным для вас.

Также удобно иметь локальный кеш для поиска, что является особенностью Newsboat.

Установка

Я использую Arch/Manjaro с yay, но вы можете использовать pacman.

1
$ sudo pacman -S newsboat

Управление каналами

Добавление, удаление и маркировка каналов выполняется с помощью файла URL. Это может быть сохранено либо в ~/.config/newsboat/urls, либо в ~/.newsboat/urls. В любом случае, вы можете редактировать его непосредственно в программе, используя E, что запустит ваш $EDITOR для управления URL-адресами. Добавьте и удалите URL фида, сохраните файл, выйдите, и все готово; Newsboat автоматически перезагрузит определенные каналы после закрытия редактора. Появятся заголовки ваших каналов, а также количество непрочитанных элементов.

Быстрые клавиши и часто-используемые команды

Отсюда основы довольно интуитивно понятны; Вы можете перемещаться с помощью клавиш управления курсором и выбирать каналы и элементы внутри них с помощью Enter. Вы можете нажать q для перемещения вверх по экрану и выхода из программы; Q выйдет безоговорочно с любого экрана.

Вы можете переходить к следующим и предыдущим элементам фида с помощью J и K. Хороший быстрый способ прочитать все - циклически перебирать непрочитанные элементы по всем фидам с помощью n. Вы можете сохранить полный текст статьи с помощью s, а поиск статей, соответствующих строке (не регулярному выражению), с помощью /.

Вы можете нажать o, чтобы открыть URL-адрес канала в браузере; это отлично работает, если вы используете X-сервер, но вы также можете настроить его как браузер командной строки, такой как links, если вы предпочитаете использовать опцию браузера в файле конфигурации.

Полный список всех нажатий клавиш можно получить, нажав ?.

Теги

Если вы импортировали свои каналы из другой системы и использовали папки для организации своих каналов, вы можете заметить, что в вашем файле urls в Newsboat имена папок включены в кавычки в конце каждой строки:

1
2
3
https://cnx-software.ru/feed/ "Technology - Gadgets"
https://distrowatch.com/news/dw.xml "Technology - Linux+Co."
https://feeds.feedburner.com/losst "Technology - Linux+Co."

Это теги, способ Newsboat организовать каналы не иерархически. Если у вас есть определенные теги, вы можете ограничить просмотр каналов конкретным тегом, нажав t, чтобы показать только те каналы, которые соответств уют. Вы можете нажать Ctrl-t, чтобы выйти из этого представления и снова показать все каналы.

Создание нового тега выполняется путем редактирования файла urls, как указано выше. Добавьте тег в кавычки после соответствующего URL канала. Обратите внимание, что вы можете иметь более одного тега для каждого URL:

1
https://cnx-software.ru/feed/ "Technology - Gadgets" "Technology - News"

Конфигурация

Файл конфигурации Newsboat может находиться в ~/.config/newsboat/config или ~/.newsboat/config. Следующие опции могут быть полезны:

  • auto-reload yes - проверять все каналы на наличие новых элементов при запуске и периодически после этого.

  • reload-time 30 - каждые 30 минут автоматически проверять все каналы.

  • notify-beep yes - отправлять звуковой сигнал консоли каждый раз, когда обнаруживаются новые элементы. Вы, вероятно, захотите этого, только если вы имеете дело с колоколами, например, с системой визуальных звонков в GNU Screen или tmux, в противном случае вы можете услышать раздражающий звонок.

  • confirm-exit yes - запрос перед выходом. Нажатие q для перехода к главному экрану немного подвержено ошибкам, и его легко выйти случайно.

Здесь также можно настроить цветовую схему приложения и сочетания клавиш. Смотрите документацию Newsboat для полного списка параметров конфигурации.

Специальные каналы

Если вы не можете напрямую получить свой канал с URL-адреса, но вам необходимо сгенерировать его программно из сценария или использовать инструмент, подобный curl, для его извлечения, вы можете использовать специальные exec: URL-адреса в файле urls для управления этим. Например, чтобы получить RSS-канал из списка изменений сети моей работы, я делаю что-то вроде этого:

1
"exec:ssh work curl https://distrowatch.com/news/dw.xml"

Это извлекает канал с помощью curl(1) поверх ssh(1) и представляет его как обычный канал в Newsboat. Обратите внимание, что кавычки необходимы для любой команды, которая содержит пробелы.

Я нашел Newsboat отличным инструментом, и он очень хорошо подходит в качестве постоянного окна в моей сессии tmux(1). Надеюсь, вы найдете, что он вам тоже подходит и хорошо работает с вашим терминальным рабочим процессом.