Jak używać Emacsa dla RSS z Elfeed

Emacs Rss 00 Featured Image

Emacs to bardzo rozszerzalny program. Może to być edytor tekstu, klient poczty e-mail, a nawet czytnik USENET. Dzięki Elfeed możesz również używać Emacsa jako czytnika kanałów RSS.

Co to jest Elfeed?

elfeed to lekki, ale potężny czytnik kanałów RSS napisany dla Emacsa. Wykorzystuje prosty system oparty na tagach do klasyfikowania kanałów RSS. Co więcej, jest również wyposażony w potężny system tagowania oparty na hakach, który umożliwia automatyczne tagowanie źródeł na podstawie ich treści.

Podsumowanie Emacs Rss 02 Elfeed

Dzięki temu Elfeed jest przydatny dla osób, które śledzą wiele kanałów RSS i szukają sposobu na automatyczne sortowanie swoich kanałów.

Po co używać czytnika kanałów w Emacsie?

Emacs pracuje nad pojęciem interoperacyjności, ponieważ Emacs pobiera dane i pozwala na ich interpretację na kilka różnych sposobów.

Emacs Rss 03 Emacs Interoperacyjność

Chociaż możesz używać Emacsa wyłącznie do edycji tekstu, na przykład możliwość dostępu do wiadomości e-mail podczas edycji tekstu może pozwolić ci bezproblemowo używać tekstu, który wpisujesz w redagowanej wiadomości e-mail.

Emacs Rss 04 Emacs Rss E-mail

Dlatego włączenie czytnika kanałów RSS do Emacsa może być kuszące. Umożliwiłoby to wykorzystanie potężnych możliwości edycji Emacsa do manipulowania czcionkami i innymi funkcjami Emacsa.

Instalowanie Elfeeda w Emacsie

Instalacja Elfeeda jest naprawdę prosta. Jest dostępny od GNU ELPA repozytorium, dzięki czemu można uzyskać do niego dostęp bez żadnych modyfikacji w pliku init.el.

Zainstalowano Emacs Rss 05 Elfeed

Aby zainstalować Elfeed, naciśnij alternatywny + x aby otworzyć bufor poleceń, następnie wpisz package-install. musisz zapewnić elfeed jako nazwę pakietu i naciśnij Wejść w. Emacs pobierze kod źródłowy Elfeed i natychmiast go skompiluje.

Konfigurowanie pierwszego kanału RSS w Emacsie

Po zainstalowaniu, uzyskaj dostęp do Elfeed, naciskając alternatywny + x i pisanie elfeed w buforze poleceń. Spowoduje to załadowanie pustego bufora Elfeed.

Emacs Rss 06 Elfeed Clean

Kanał RSS można dodać do Elfeed na dwa sposoby:

  • Ręcznie edytuj plik init.el

Dodaj kanał RSS ręcznie w Elfeed

Możesz łatwo wypełnić Elfeed, ręcznie dodając adresy URL kanałów w pliku init.el, ponieważ Elfeed ma zmienną „elfeed-feeds”, którą śledzi. Dzięki temu Elfeed informuje, które kanały wyszukiwać i wyświetlać na ekranie przeglądu.

Na przykład jest to fragment mojego pliku init.el.

Setq to funkcja Emacsa, która ustawia wartość określonej zmiennej. W tym przypadku ustawiasz zmienną elfeed-feeds z trzema powiązaniami kanałów jako wartościami.

Stamtąd Elfeed automatycznie doda te linki do swojej wewnętrznej bazy danych, a następnie załaduje je przy następnym uruchomieniu programu.

Emacs Rss 07 Elfeed ze źródłami

Dodaj kanał RSS w Emacsie

Innym sposobem na wypełnienie Elfeed jest podawanie mu linków do kanałów, gdy jest uruchomiony. Pozwala to na aktywne aktualizowanie listy kanałów za pomocą łączy RSS bez ponownego ładowania Emacsa.

Aby to zrobić, naciśnij alternatywny + x aby otworzyć bufor poleceń. Pisze elfeed-add-feed i naciśnij Wejść w. Thefeed poprosi Cię o podanie adresu URL kanału, który chcesz załadować.

Emacs RSS 08 Powiększenie adresu URL

W moim przypadku dostarczam nasze URL kanału do Elfeed, aby otrzymywać codzienne aktualizacje dotyczące najnowszych artykułów technologicznych.

Kopiuję adres URL kanału i wciskam kontrola + ORAZ w żądaniu adresu URL, aby wkleić link do Emacsa. Po sklejeniu wystarczy nacisnąć Wejść w przesłać adres URL kanału do Elfeed.

Emacs Rss 09 Maketecheasier Feeds

Jak automatycznie tagować i filtrować kanały w Emacsie?

Oprócz wyświetlania i przeglądania kanałów RSS, Elfeed może również wykonywać szereg funkcji, które pozwolą Ci dostroić listę kanałów.

Czytać  Dlaczego i jak edytować plik Sudoers w systemie Linux

Jedną z tych fajnych funkcji jest automatyczne tagowanie. Ta funkcja umożliwia natychmiastowe tagowanie wpisów RSS pochodzących z określonego kanału.

Na przykład, jeśli masz wiele kanałów na określony temat, możesz ustawić je wszystkie tak, aby miały tę samą etykietę, co ułatwia i intuicyjne sortowanie wielu kanałów na ekranie przeglądu.

Aby to zrobić, edytuj kanały RSS w pliku init.el. Spójrz na ten krótki przykład.

Aby automatycznie otagować kanał RSS, musisz zrobić dwie rzeczy z domyślnym formatem kanału elfeed:

  • Umieść link do kanału w nawiasach. to mówi elfeed-feeds że ten konkretny wpis w zmiennej składa się z wielu części.
  • Podaj słowo, które będzie Twoim tagiem dla tego konkretnego linku. Możesz dołączyć wiele tagów, o ile oddzielisz każdy tag spacją.
Emacs Rss 10 Automatycznie otagowane kanały

Filtrowanie kanału RSS w Elfeed

Te tagi działają w połączeniu z potężnym systemem filtrowania Elfeed. Pozwala to na grupowanie kanałów RSS na podstawie samych tagów.

Na przykład, jeśli masz kanały RSS z tagami „wiadomości”, „wiadomości techniczne” i „wiadomości z gier”, Elfeed umożliwia grupowanie ich wszystkich pod tagiem „wiadomości”.

Aby przefiltrować listę źródeł, naciśnij TAk w Elfeed, aby wyświetlić wskaźnik filtra Elfeed. Domyślnie zawiadomienie zawiera:

  • Symbol @ wskazuje zakres dat. Może to być data bezwzględna, np. „2022-02-22” lub data względna, np. „3 dni temu”.
  • Symbol „+” jest operatorem tagu, który mówi Elfeedowi, aby jawnie uwzględnił wszystkie kanały, które mają ten tag.
Domyślny filtr Emacs Rss 11

Mając to na uwadze, rozważ następujący kanał RSS.

Aby filtrować według tagu „technology”, wpisz „+technology” w okienku filtra Elfeed, aby wyświetlić pierwsze trzy linki w buforze podsumowania Elfeed. Jeśli jednak dodasz „+wiadomości”, Elfeed wyświetli zamiast tego pierwszy i piąty tag.

Wiedząc o tym, możesz być bardziej precyzyjny w swojej logice filtrowania. Na przykład, jeśli chcesz uwzględnić wszystkie linki techniczne, ale bez „f1”, możesz napisać:

Jak automatycznie tagować kanały na podstawie adresu URL

Innym sposobem automatycznego tagowania kanałów RSS w Elfeed jest sortowanie ich według adresów URL. Jest to przydatne, jeśli używasz Elfeed do subskrybowania kanałów RSS, które mają podobną strukturę adresów URL.

Emacs Rss 12 Średnia strona internetowa

Aby to zrobić, użyj Elfeed’s elfeed-new-entry-hook. Jest to funkcja przechwytująca, która wykonuje niestandardowe polecenie w oparciu o określone warunki. Ta funkcja uruchomi niestandardowe polecenie za każdym razem, gdy wpis zostanie dodany za pomocą elfeed-add-feed Komenda.

możesz użyć elfeed-make-tagger funkcja wewnątrz tego haka. Jest to ogólna funkcja, która nadaje etykiety linkom na podstawie ustawionych opcji. W związku z tym połączenie tych dwóch funkcji w celu utworzenia automatycznego etykietowania może wyglądać tak:

Emacs Rss 13 Średni kanał

Ta funkcja automatycznie otaguje każdy link, który zawiera slug „medium.com”.

Możesz także być bardziej precyzyjny, korzystając z opcji, które ustawisz elfeed-make-tagger. Na przykład możesz otagować kanał na podstawie adresu URL i odfiltrować posty starsze niż trzy miesiące:

Jak tworzyć niestandardowe kolory i czcionki dla etykiet

Oprócz automatycznego tagowania możesz również dostosować wygląd Elfeed na podstawie tagu, którym się zajmuje. Jest to przydatne, jeśli chcesz, aby kanały z określoną etykietą się wyróżniały.

Emacs Rss 14 niestandardowe twarze

Aby to zrobić, musisz na nowo zdefiniować elfeed-search-face-alist funkcjonować. Jest to polecenie, którego Elfeed używa do zmiany wyglądu bufora podsumowania. W związku z tym, aby przedefiniować tę funkcję, możesz użyć defface oraz push Funkcje:

  • ten oszpecić Funkcja tworzy nową „twarz” dla Emacsa. „Twarz” to zestaw wartości, który może zawierać zarówno czcionki znaków, jak i kolory tła.
  • ten Naciskać Z drugiej strony funkcja dodaje definicję do istniejącego polecenia w Emacsie.
Czytać  Jak zainstalować Asahi Linux na komputerze Mac M1?

Mając to na uwadze, możesz połączyć te funkcje, aby stworzyć niestandardową „twarz” dla Elfeed. Na przykład tutaj jest niestandardowa twarz, która podświetla znacznik f1 na czerwono.

Gratulacje! Wiesz już, jak używać Emacsa jako czytnika RSS z Elfeedem. Ponadto masz teraz podstawowe pojęcie o tym, jak dostosować i zautomatyzować Elfeed, aby zaspokoić potrzeby Twoich kanałów RSS.

Jeśli cała ta dyskusja skłoniła Cię do myślenia o tym, co możesz zrobić więcej z Emacsem, możesz zapoznać się z naszym artykułem na temat najlepszych pakietów produktywności dla Emacsa.

Częste pytania

1. Jak mogę usunąć kanał z Elfeed?

Możesz usunąć źródło na dwa sposoby: usuń wpis źródłowy z pliku init.el lub użyj funkcji dostosowywania Emacsa, aby go usunąć.

W pierwszym przypadku usunięcie kanału to tylko kwestia usunięcia adresu URL kanału w zmiennej elfeed-feeds. W przypadku tych ostatnich musisz jednak nacisnąć alternatywny + x aby otworzyć bufor poleceń. Stąd musisz pisać customize. Otworzy się okno dostosowywania Emacsa.

Stamtąd napisz elfeed-feeds w polu wyszukiwania. Spowoduje to wyświetlenie wszystkich kanałów, które aktualnie subskrybujesz.

Dzięki temu możesz usunąć kanał, klikając TEN obok linku do kanału. Po zakończeniu możesz kliknąć Zastosować oraz Zapisać przyciski pod paskiem wyszukiwania, aby zaktualizować swój kanał.

2. Co mogę zrobić, jeśli dodam wszystkie moje kanały w Elfeed i nie są one aktualizowane?

Elfeed nie aktualizuje automatycznie linków do kanałów. Aby uzyskać najnowsze wpisy w swoich kanałach, naciśnij Reszta + GRAM aby rozpocząć aktualizację wszystkich aktualnie subskrybowanych kanałów.

Ponadto, jeśli chcesz zaktualizować tylko określony kanał RSS, uruchom elfeed-update-feed funkcjonować.

3. Moje automatyczne tagi nie działają. Jak mogę to rozwiązać?

Dzieje się tak prawdopodobnie dlatego, że masz sprzeczne tagi dla tego samego kanału RSS. Może się tak zdarzyć, jeśli umieściłeś ten sam adres URL kanału zarówno w ręcznych, jak i automatycznych kanałach.

Aby rozwiązać ten problem, musisz usunąć wpis ręczny w pliku init.el lub wpis automatycznego podawania w buforze dostosowywania Emacsa.

Czy ten artykuł jest przydatny?