ГлавнаяОперационные системыLinuxКак использовать Emacs для RSS с Elfeed

Как использовать Emacs для RSS с Elfeed

Установка Elfeed в Emacs

рамма. Это может быть ваш текстовый редактор, почтовый клиент и даже ваш USENET-считыватель . С Elfeed вы также можете использовать Emacs в качестве программы чтения RSS-каналов.

Читайте также: 5 лучших приложений для чтения RSS для macOS

Что такое Elfeed?

Эльфид — это легкая, но мощная программа чтения каналов

Contents

Что такое Elfeed?

iya-rss-kanalov-dlya-upravleniya-vashimi-rss-kanalami/" title="RSS">RSS , написанная для Emacs. Он использует простую систему на основе тегов для сортировки ваших RSS-каналов. Мало того, он также оснащен мощной системой тегов на основе «крючков», которая позволяет автоматически помечать каналы на основе их содержания.

Emacs Rss 02 Elfeed Резюме

Это делает Elfeed полезным для людей, которые следят за множеством RSS-каналов и ищут способ автоматической сортировки своих каналов.

Читайте также: Как использовать Emacs для воспроизведения музыки с помощью EMMS

Зачем использовать Feedreader в Emacs?

Emacs работает по принципу совместимости, поскольку Emacs принимает данные и позволяет интерпретировать их различными способами.

Emacs Rss 03 Совместимость с Emacs

Хотя вы можете использовать Emacs исключительно для редактирования текста, возможность, например, получить доступ к своей электронной почте при редактировании текста может позволить вам беспрепятственно использовать текст, который вы пишете, в составляемом вами электронном письме.

Emacs RSS 04 Emacs электронная почта RSS

Вот почему включение программы чтения RSS-каналов в Emacs может быть заманчивым. Это позволит вам использовать мощные возможности редактирования Emacs для управления ваш

Зачем использовать Feedreader в Emacs?

>Установка Elfeed в Emacs

Установить Elfeed очень просто. Он доступен в репозитории ГНУ ЭЛПА , поэтому вы можете получить к нему доступ без каких-либо изменений в файле init.el.

Установлен Emacs RSS 05 Elfeed

Чтобы установить Elfeed, нажмите Alt+ X, чтобы открыть командный буфер, затем введите package-install. Вам необходимо указать elfeedв качестве имени пакета и нажать Enter. Emacs загрузит исходный код Elfeed и сразу же скомпилирует его.

Настройка вашего первого RSS-канала в Emacs

Установив это, откройте Elfeed, нажав Alt+ Xи набрав elfeedв командном буфере. При этом будет загружен пустой буфер Elfeed.

Emacs RSS 06 Elfeed Очистить

Есть два способа добавить RSS-канал в Elfeed:

  • Отредактируйте файл init.el вручную
  • Без Emacs

Добавление RSS-канала в Elfeed вручную

Вы можете легко заполнить Elfeed, вручную добавив URL-адреса каналов в файл init.el, поскольку в Elfeed есть переменная «elfeed-feeds», которую она отслеживает. Это сообщает Elfeed, какие каналы следует загружать и отображать на обзорном экране.

Например, это фрагмент моего файла init.el.

(setq elfeed-feeds
       '("https://feeds.maketecheasier.com/MakeTechEasier"
        "https://solar.lowtechmagazine.com/feeds/all-en.atom.xml"
        "https://old.reddit.com/r/f1technical.rss"))

Setq — это функция Emacs, которая устанавливает значение определенной переменной. В данном случае устанавливается переменная elfeed-feeds с тремя ссылками на каналы в качестве значений.

Оттуда Elfeed автоматически добавит эти ссылки в свою внутреннюю базу данных, а затем загрузит их при следующем запуске программы.

Emacs Rss 07 Elfeed с лентами

Добавление RSS-канала в Emacs

Другой способ наполнения Elfeed — предоставление ему ссылок на каналы во время его работы. Это позволяет вам активно обновлять список каналов с помощью RSS-ссылок без перезагрузки Emacs.

Для этого нажмите Настройка вашего первого RSS-канала в Emacsнд. Введите elfeed-add-feedи нажмите Enter. Elfeed попросит вас указать URL-адрес канала, который вы хотите загрузить.

Emacs RSS 08 URL-адрес Zoom

В моем случае я предоставляю Elfeed наши URL канала , чтобы получать ежедневные обновления статей о последних технологиях.

Я копирую URL-адрес канала и нажимаю Ctrl+

Добавление RSS-канала в Elfeed вручную

ку в Emacs. После вставки мне просто нужно нажать Enter, чтобы передать URL-адрес канала в Elfeed.

Emacs Rss 09 Maketecheasier Feeds

Читайте также: Как легко переименовать файлы в Linux

Как автоматически помечать и фильтровать каналы в Emacs

Помимо листинга и просмотра RSS-каналов, Elfeed также может выполнять ряд функций, которые позволят вам точно настроить список каналов.

Одна из таких полезных функций — автоматическая пометка тегами. Эта функция позволяет сразу же помечать записи RSS, полученные из определенного канала.

Например, если у вас есть несколько каналов по определенной теме, вы можете настроить так, чтобы все они имели один и тот же тег, что упрощает и интуитивно понятную сортировку нескольких каналов на экране сводки.

Для этого отредактируйте RSS-каналы в файле init.el. Взгляните на этот краткий пример.

(setq elfeed-feeds
 '(("https://feeds.maketecheasier.com/MakeTechEasier" tech news)
   ("https://solar.lowtechmagazine.com/feeds/all-en.atom.xml" tech)
   ("https://old.reddit.com/r/f1technical.rss" tech f1)))

Добавление RSS-канала в Emacs

анал, вам нужно сделать две вещи в формате elfeed-feeds по умолчанию:

  • Заключите ссылку на канал в круглые скобки. Это сообщает elfeed-feeds, что данная конкретная запись в переменной состоит из нескольких частей.
  • Укажите слово, которое будет служить тегом для этой конкретной ссылки. Вы можете включить несколько тегов, разделив каждый из них пробелом.
Emacs RSS 10 автоматически помеченных каналов

Фильтрация RSS-канала в Elfeed

Эти теги работают в сочетании с мощной системой фильтрации Elfeed. Это позволяет группировать RSS-каналы только на основе тегов.

Например, если у вас есть RSS-каналы с тегами «новости», «новости технологий» и «новости игр», Elfeed позволяет сгруппировать их все под тегом «новости».

Чтобы отфильтровать список каналов, нажмите Sв Elfeed, чтобы открыть окно фильтра Elfeed. По умолчанию приглашение содержит следующее:

@6-months-ago +unread
  • Символ @ указывает диапазон дат. Это может быть абсолютная дата, например «22 февраля 2022 г.», или относительная, например «3 дня назад».
  • Символ «+» — это оператор тега, который указывает Elfeed явно включать все каналы, имеющие этот тег.
Фильтр по умолчанию Emacs Rss 11

Имея это ввиду, рассмотрите следующий RSS-канал.

[0](setq elfeed-feeds
[1] '(("https://feeds.maketecheasier.com/MakeTechEasier" tech news)
[2]   ("https://solar.lowtechmagazine.com/feeds/all-en.

Как автоматически помечать и фильтровать каналы в Emacs

] ("https://old.reddit.com/r/f1technical.rss" tech f1) [4] ("https://www.autosport.com/rss/f1/photos/" f1) [5] ("https://www.philstar.com/rss/world" news)))

Чтобы отфильтровать тег «tech», введите «+tech» в строке фильтра Elfeed, чтобы отобразить первые три ссылки в буфере сводки Elfeed. Однако если вы добавите «+новости», вместо этого Elfeed отобразит первый и пятый тег.

Зная это, вы можете более точно использовать логику фильтрации. Например, если вы хотите включить все технические ссылки, но без «f1», введите следующее:

+tech -f1

Как автоматически помечать каналы на основе URL

Другой способ автоматически помечать записи RSS в Elfeed — сортировать их по URL-адресу. Это полезно, если вы используете Elfeed для подписки на RSS-каналы, имеющие аналогичную структуру URL.

Веб-страница Emacs Rss 12 среднего размера

Для этого используйте elfeed-new-entry-hookот Elfeed. Это функция-перехватчик, которая выполняет пользовательскую команду на основе определенных условий. Эта функция будет запускать специальную команду каждый раз, когда запись добавляется с помощью команды elfeed-add-feed.

Вы можете использовать функцию elfeed-make-taggerвнутри этого хука. Это общая функция, которая помечает ссылки на основе установленных вами параметров. Таким образом, объединение двух функций для создания автоматической пометки может выглядеть примерно так:

(add-hook 'elfeed-new-entry-hook
        (elfeed-make-tagger :feed-url "medium\\.com"
                            :add '(medium)))
Средний канал Emacs RSS 13

Эта функция автоматически пометит любую ссылку, содержащую ярлык «medium.com».

Вы также можете уточнить параметры, заданные с помощью elfeed-make-tagger

Фильтрация RSS-канала в Elfeed

ид на основе URL-адреса и отфильтровать записи старше трех месяцев:

(add-hook 'elfeed-new-entry-hook
        (elfeed-make-tagger :feed-url "medium\\.com"
                            :before "3 months ago"
                            :add 'medium))

Как создать собственные цвета и шрифты для тегов

Помимо автоматической пометки, вы также можете настроить внешний вид Elfeed в зависимости от тега, с которым он работает. Это полезно, если вы хотите, чтобы каналы с определенным тегом выделялись.

Emacs RSS 14 Пользовательские лица

Для этого вам необходимо переопределить функцию elfeed-search-face-alist. Это команда, которую Elfeed использует для изменения внешнего вида буфера сводки. Таким образом, чтобы переопределить эту функцию, вы можете использовать функции deffaceи push:

  • Функция defface создает новое «лицо» Emacs. «Лицо» – это набор значений, который может содержать как шрифты, так и цвета фона.
  • Функция push, с другой стороны, добавляет определение к существующей команде в Emacs.

Имея это в виду, вы можете объединить эти функции, чтобы создать собственное «лицо» для Elfeed. Например, это пользовательское лицо, в котором тег f1 выделяется красным.

(defface elfeed-face-tag-f1
  '((t :foreground "#f00"))
  "This is a custom font face for the F1 tag in Elfeed.")
 
(push '(f1 elfeed-face-tag-f1)
      elfeed-search-face-alist)

Поздравляем! Теперь вы знаете, как использовать Emacs в качестве программы чтения RSS с Elfeed. Кроме того, теперь у вас есть базовое представление о том, как настроить и автоматизировать Elfeed в соответствии с потребностями ваших RSS-каналов.

Если все это обсуждение заставило вас задуматься о том, что еще можно сделать с помощью Emacs, вы можете прочитать нашу статью о лучшие пакеты производительности для Emacs.

Читайте также: Как исправить проблему «Не могу ввести терминал в Linux»

Часто задаваемые вопросы

1. Как удалить ленту в Elfeed?

Вы можете удалить канал двумя способами: удалить запись о канале в файле init.el или использовать функцию настройки Emacs для его удаления.

В первом случае удаление канала — это всего лишь удаление URL-адреса канала в переменной elfeed-feeds. Однако для п

Как автоматически помечать каналы на основе URL

чтобы открыть командный буфер. Отсюда вам нужно ввести customize. Откроется окно настройки Emacs.

Оттуда введите elfeed-feedsв поле поиска. Будут показаны все каналы, на которые вы в данный момент подписаны.

Это позволяет вам удалить канал, нажав кнопку DELрядом со ссылкой на канал. После этого вы можете нажать кнопки Применитьи Сохранитьпод строкой поиска, чтобы обновить свой канал.

2. Что делать, если я добавляю все свои каналы в Elfeed, а они не обновляются?

Elfeed не обновляет автоматически ссылки на каналы. Чтобы получить последние записи в ваших каналах, нажмите Shift+ G, чтобы инициировать обновление всех каналов, на которые в данный момент подписаны.

Кроме того, если вы хотите обновить только определенный RSS-канал, запустите функцию elfeed-update-feed.

3. Кажется, мои автоматические теги не работают. Как мне это решить?

Скорее всего, это связано с тем, что у вас есть конфликтующие теги для одного и того же RSS-канала. Это может произойти, если вы включили один и тот же URL-адрес фида как в ручные, так и в автоматические фиды.

Чтобы решить эту проблему, вам необходимо удалить либо введенную вручную запись в файле init.el, либо запись автоматического канала в буфере настройки Emacs.

Как создать собственные цвета и шрифты для тегов

Часто задаваемые вопросы

1. Как удалить ленту в Elfeed?

2. Что делать, если я добавляю все свои каналы в Elfeed, а они не обновляются?

3. Кажется, мои автоматические теги не работают. Как мне это решить?

ПОХОЖИЕ СТАТЬИ

Популярные записи