Выпуск консольного RSS-агрегатора Newsraft 0.30

Состоялся релиз консольной программы для чтения новостных лент Newsraft 0.30, поддерживающей форматы RSS и Atom. Newsraft предназначен для получения контента из различных блогов и платформ, и его просмотра через единый интерфейс, построенный на базе библиотеки ncurses. Проект вдохновлён идеями программы Newsboat, однако является самостоятельной разработкой и представляется его легковесным аналогом.

Целью проекта является предоставление наиболее востребованной функциональности полноценного фидридера при как можно меньшем количестве строк исходного кода (для сравнения, Newsboat содержит около 44 тысяч строк исходного кода, тогда как Newsraft – около 9 тысяч). Код проекта написан на языке программирования C (C99) и распространяется под лицензией ISC. Пакеты для установки Newsraft 0.30 доступны в репозиториях: Alpine Linux, Arch User Repository, Chimera Linux, FreeBSD Ports, Homebrew, Nixpkgs, OpenBSD Ports.

Основные возможности Newsraft:

  • Параллельные обновления;
  • Разделение лент по секциям (группам);
  • Открытие ссылок любой программой одним нажатием (например mpv);
  • Фильтрация новостей на базе SQL-выражений;
  • Просмотр новостей всех лент сразу (клавиша Tab по умолчанию);
  • Автоматические обновления для отдельных лент и целых секций;
  • Назначение настроек и биндов для каждой ленты индивидуально;
  • Возможность назначения нескольких действий на одну клавишу;
  • Текстовый поиск по новостям;
  • Просмотр HTML-содержания новостей прямо в терминале;
  • Сортировка меню по наиболее предпочтительным параметрам;
  • Подробные отчеты об ошибках по неудачным обновлениям;
  • Возможность обработки лент не по ссылке, а по выводу команды;
  • Поддержка практически всех форматов лент (RSS, Atom, JSON Feed, множество расширений…);
  • Импорт/экспорт лент в формате OPML.

Нововведения в Newsraft 0.30:

  • Добавлено действие edit для манипуляций над базой данных;
  • Добавлено действие find для поиска новостей по SQL-условиям;
  • Добавлена колонка user_data в базу данных для использования пользователем;
  • Добавлена настройка database-batch-transactions;
  • Добавлены операции для импорта/экспорта лент в формате OPML;
  • Добавлен оператор REGEXP для использования в настройке item-rule;
  • Некорректное выражение в настройке item-rule отображается как ошибка ленты;
  • Подсчёт элементов в ленте теперь происходит с учётом настройки item-rule;
  • Поддержка OSC 9 и OSC 52 в настройках notification-command и copy-to-clipboard-command;
  • Настройка analyze-database-on-startup переименована в database-analyze-on-startup;
  • Настройка clean-database-on-startup переименована в database-clean-on-startup;
  • Удалена зависимость от JSON парсера YAJL, теперь JSON обрабатывается json_tree() из SQLite.


Release. Ссылка here.