Newsbeuter: чтение RSS из консоли

Автор: Андреас Креннмаир (Andreas Krennmair)
Перевод: Алексей Бешенов

2008-03-19

Оригинал: «newsbeuter: RSS feed reader for the text console», 16 сентября 2007 г.

RSS — это основанные на XML форматы описаний статей (включающих заголовок, ссылку, краткое изложение, и так далее), обычно передаваемых по протоколу HTTP. Сейчас большинство блогов и новостных сайтов держат RSS-ленты. Чтобы эти ленты было удобно просматривать, есть специальные программы — сборщики RSS или «читалки».

Newsbeuter — консольный сборщик RSS. При пользовательском интерфейсе в духе популярных текстовых инструментов mutt и slrn программа претендует иметь большинство мыслимых возможностей и наилучшую гибкость в использовании.

Начало работы с Newsbeuter

После установки (aptitude install newsbeuter — пока только в нестабильной ветке Debian) и запуска Newsbeuter вы увидите вот такое сообщение:

Error: no URLs configured. Please fill the file /home/ak/.newsbeuter/urls with
RSS feed URLs or import an OPML file.

newsbeuter 0.6 usage: ./newsbeuter [-i |-e] [-u ] [-c ] [-h] -r refresh feeds on start -e export OPML feed to stdout -i import OPML file -u read RSS feed URLs from -c use as cache file -C read configuration from -v clean up cache thoroughly -h this help

Это значит, что Newsbeuter нужно указать адреса лент, которые вы хотите читать. Это можно сделать вручную, заполнив ~/.newsbeuter/urls (по адресу на каждую строчку), либо импортировав OPML-файл при помощи newsbeuter -i blogroll.opml. OPML — XML-формат заметок, часто использующийся для обмена подписками на ленты RSS.

Newsbeuter можно настроить при помощи файла ~/.newsbeuter/config; доступно много разных параметров, так что советую заглянуть в документацию.

Приведу подходящие для начала настройки; все доступные опции перечислены в man newsbeuter (есть с чем поэкспериментировать):

# Пример настроек newsbeuter
# сохраните в ~/.newsbeuter/config
auto-reload yes # автоматически запускать поток общего обновления
reload-time 30 # обновлять все каждые 30 минут
confirm-exit yes # всегда спрашивать пользователя, действительно ли он хочет выйти

Дополнительные возможности

Newsbeuter хорошо выделяется дополнительными возможностями. Для бывших пользователей SnowNews (другая подобная программа для консоли) поддерживаются легко разрабатываемые расширения SnowNews (уже есть большой выбор готовых).

Также поддерживаются подкасты: можно собирать ссылки загрузки (автоматически или вручную), а потом уже загружать отдельной программой podbeuter.

Еще одна удобная вещь — язык фильтров, на котором можно легко определять сложные критерии поиска, выборки в свой поток или удаления отдельных статей (пользователи USENET назвали бы это RSS-киллфайлами). В документации есть куча примеров использования.

Другие возможности — гибкая работа с метками (каждая статья может сопровождаться ключевыми словами, по которым программа проводит выборку), напоминания о новых статьях через внешние программы или прямо в сеанс GNU screen, настройка комбинаций клавиш и цветов, внутренний интерпретатор команд.

Снимки экрана

Простой список лент в Newsbeuter позволяет просмотреть, какие ресурсы вы читаете и сколько статей загружено и ожидает прочтения:

Newsbeuter обрабатывает HTML в описаниях статей, ссылки и списки в статье (ссылки можно открыть простыми нажатиями клавиш в гибко настраиваемом браузере):

Цвета тоже можно менять:

Для проекта важна интернационализация и локализация: Newsbeuter превосходно работает с Юникодом и, будучи изначально англоязычной программой, переведен на итальянский, немецкий, русский и французский. Вот снимок экрана с японскими статьями в русском Newsbeuter:

Сравнение с другими сборщикамми RSS

Кроме Newsbeuter есть еще несколько консольных читалок. Из них самые примечательные — Snownews и Raggle, которых объединяет то, что они больше не разрабатываются. Snownews тяжело поддерживать и расширять, а Raggle относительно медленно работает (даже на новых компьютерах), потому что написан на чистом Ruby. В Snownews нет ряда возможностей Newsbeuter — поддержки Atom XML и HTTPS.

Newsbeuter призван исправить недостатки имеющихся программ, собрать все полезные функции, а также легко расширяться. Сейчас это уже реализовано, и работа ведется в направлении поддержки закладок, платформ напоминаний вроде Growl, синхронизации с сетевыми сборщиками наподобие Bloglines.

Дополнительная информация

Так как Newsbeuter — относительно молодой проект (разработка ведется с ноября 2006 года, в Debian появился в феврале 2007-го), пакет есть только в нестабильной и тестовой ветке и содержит совершенно устаревшую версию. Newsbeuter будет в Ubuntu Gutsy, но тоже не в самом свежем варианте.