Come usare Emacs per RSS con Elfeed

Immagine in evidenza Emacs Rss 00

Emacs è un software molto estensibile. Può essere il tuo editor di testo, il tuo client email e persino il tuo lettore USENET. Con Elfeed, puoi anche usare Emacs come lettore di feed RSS.

Indice

  • Cos’è Elfeed?
  • Perché usare un lettore di feed in Emacs?
  • Installare Elfeed su Emacs
  • Configurare il tuo primo feed RSS in Emacs
  • Come taggare e filtrare automaticamente i feed in Emacs
  • Come taggare automaticamente i feed in base all’URL
  • Come creare colori e font personalizzati per i tag
  • Domande frequenti

Leggi anche: 5 delle migliori app per lettori RSS per macOS

Cos’è Elfeed?

Elfeed è un lettore di feed RSS leggero ma potente scritto per Emacs. Utilizza un semplice sistema basato su tag per ordinare i tuoi feed RSS. Non solo, ma viene anche fornito con un potente sistema di tagging “basato su hook” che ti consente di taggare automaticamente i feed in base al loro contenuto.

Riepilogo Elfeed Emacs Rss 02

Questo rende Elfeed utile per le persone che seguono molti feed RSS e cercano un modo per ordinare automaticamente i loro feed.

Leggi anche: Come usare Emacs per riprodurre musica con EMMS

Perché usare un lettore di feed in Emacs?

Emacs funziona con il concetto di interoperabilità, poiché Emacs prende i dati e consente di interpretarli in vari modi diversi.

Interoperabilità Emacs Rss 03

Sebbene tu possa usare Emacs esclusivamente per modificare testo, poter accedere alla tua email mentre modifichi testo, ad esempio, può consentirti di utilizzare senza problemi il testo che stai scrivendo nell’email che stai componendo.

Email RSS Emacs Rss 04

Ecco perché incorporare il tuo lettore di feed RSS in Emacs può essere allettante. Ti permetterebbe di utilizzare le potenti capacità di editing di Emacs per manipolare i tuoi feed e altre funzioni in Emacs.

Installare Elfeed su Emacs

Installare Elfeed è davvero semplice. È disponibile nel repository GNU ELPA, quindi puoi accedervi senza alcuna modifica nel tuo file init.el.

Elfeed installato Emacs Rss 05

Per installare Elfeed, premi Alt + X per aprire il buffer dei comandi, quindi digita package-install. Devi fornire elfeed come nome del pacchetto e premere Invio. Emacs scaricherà il codice sorgente di Elfeed e lo compilerà immediatamente dopo.

Configurare il tuo primo feed RSS in Emacs

Con questo installato, accedi a Elfeed premendo Alt + X e digitando elfeed nel buffer dei comandi. Facendo ciò si caricherà un buffer Elfeed vuoto.

Elfeed pulito Emacs Rss 06

Ci sono due modi per aggiungere un feed RSS a Elfeed:

  • Modificare manualmente il tuo file init.el

  • Senza Emacs

Aggiungere un feed RSS manualmente in Elfeed

Puoi facilmente popolare Elfeed aggiungendo manualmente gli URL dei feed nel tuo file init.el, poiché Elfeed ha una variabile “elfeed-feeds” che tiene traccia. Questo dice a Elfeed quali feed recuperare e visualizzare nella sua schermata di panoramica.

Ad esempio, questo è un frammento dal mio file 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 è una funzione di Emacs che imposta il valore di una particolare variabile. In questo caso, sta impostando la variabile elfeed-feeds con tre link ai feed come valori.

Da lì, Elfeed aggiungerà automaticamente quei link nel suo database interno, quindi li caricherà la prossima volta che esegui il programma.

Elfeed con feed Emacs Rss 07

Aggiungere un feed RSS all’interno di Emacs

Un altro modo per popolare Elfeed è fornire i link dei feed mentre è in esecuzione. Questo ti consente di aggiornare attivamente il tuo elenco di feed con link RSS senza ricaricare Emacs.

Per fare ciò, premi Alt + X per aprire il buffer dei comandi. Digita elfeed-add-feed e premi Invio. Elfeed ti chiederà di fornire l’URL del feed che desideri caricare.

Zoom URL Emacs Rss 08

Nel mio caso, sto fornendo il nostro URL del feed a Elfeed per ricevere aggiornamenti quotidiani sugli ultimi articoli tecnologici.

Copio l’URL del feed e premo Ctrl + Y nel prompt dell’URL per incollare il link in Emacs. Una volta incollato, devo solo premere Invio per confermare l’URL del feed in Elfeed.

Feed Maketecheasier Emacs Rss 09

Leggi anche: Come rinominare facilmente i file in Linux

Come taggare e filtrare automaticamente i feed in Emacs

Oltre a elencare e visualizzare i feed RSS, Elfeed può anche eseguire una serie di funzioni che ti consentiranno di affinare la tua lista di feed.

Una di quelle funzioni interessanti è il tagging automatico. Questa funzione ti consente di taggare immediatamente le voci RSS provenienti da un feed specifico.

Ad esempio, se hai più feed su un certo argomento, puoi impostare in modo che abbiano tutti lo stesso tag, rendendo facile e intuitivo ordinare più feed nella schermata di riepilogo.

Per fare ciò, modifica i feed RSS nel tuo file init.el. Dai un’occhiata a questo breve esempio.

(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)))

Per taggare automaticamente un feed RSS, devi fare due cose al tuo formato predefinito elfeed-feeds:

  • Racchiudere il link del feed tra parentesi. Questo dice a elfeed-feeds che questa voce specifica nella variabile ha più parti.
  • Fornire una parola che fungerà da tag per quel particolare link. Puoi includere più tag purché li separi con uno spazio.

Feed taggati automaticamente Emacs Rss 10

Filtrare il tuo feed RSS in Elfeed

Questi tag funzionano in combinazione con il potente sistema di filtraggio di Elfeed. Questo ti consente di raggruppare i tuoi feed RSS in base ai tag.

Ad esempio, se hai feed RSS contrassegnati come “notizie”, “notizie tech” e “notizie gaming”, Elfeed ti consente di raggrupparli tutti sotto il tag “notizie”.

Per filtrare la tua lista di feed, premi S mentre sei in Elfeed per aprire il prompt di filtro di Elfeed. Per impostazione predefinita, il prompt contiene quanto segue:

@6-months-ago +unread
  • Il simbolo @ indica un intervallo di date. Questo potrebbe essere una data assoluta come “2022-02-22” o una relativa come “3-giorni-fa”.
  • Il simbolo “ + “ è un operatore di tag che dice a Elfeed di includere esplicitamente tutti i feed che hanno questo tag.

Filtro predefinito Emacs Rss 11

Tenendo presente ciò, considera il seguente feed RSS.

[0](setq elfeed-feeds  
[1] '( ("https://feeds.maketecheasier.com/MakeTechEasier" tech news)  
[2]("https://solar.lowtechmagazine.com/feeds/all-en.atom.xml" tech)  
[3]("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)))

Per filtrare il tag “tech”, digita “+tech” nel prompt di filtro di Elfeed per visualizzare i primi tre link nel buffer di riepilogo di Elfeed. Tuttavia, se aggiungi “+news”, Elfeed visualizzerà il primo e il quinto tag.

Sapendo questo, puoi essere più specifico con la tua logica di filtraggio. Ad esempio, se vuoi includere tutti i link tech ma senza “f1”, puoi digitare quanto segue:

+tech -f1

Come taggare automaticamente i feed in base all’URL

Un altro modo per taggare automaticamente le voci RSS in Elfeed è ordinarle in base all’URL. Questo è utile se stai usando Elfeed per iscriverti a feed RSS che hanno una struttura URL simile.

Pagina web Medium Emacs Rss 12

Per fare ciò, utilizza elfeed-new-entry-hook di Elfeed. Questa è una funzione hook che esegue un comando personalizzato in base a condizioni specifiche. Questa funzione eseguirà un comando personalizzato ogni volta che viene aggiunta un’entrata utilizzando il comando elfeed-add-feed.

Puoi utilizzare la funzione elfeed-make-tagger all’interno di quel hook. Questa è una funzione generale che tagga i link in base alle opzioni che imposti. Pertanto, combinare le due funzioni per creare tagging automatico può apparire in questo modo:

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

Feed Medium Emacs Rss 13

Quella funzione taggherà automaticamente qualsiasi link che conterrà lo slug “medium.com.”

Puoi anche essere più specifico con le opzioni che imposti con elfeed-make-tagger. Ad esempio, puoi sia taggare un feed in base all’URL sia filtrare le voci che sono più vecchie di tre mesi:

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

Come creare colori e font personalizzati per i tag

Oltre al tagging automatico, puoi anche personalizzare l’aspetto di Elfeed in base al tag con cui sta trattando. Questo è utile se desideri che i feed con un tag specifico si distinguano.

Facce personalizzate Emacs Rss 14

Per fare ciò, devi ridefinire la funzione elfeed-search-face-alist. Questo è il comando che Elfeed utilizza per cambiare l’aspetto del buffer di riepilogo. Pertanto, per ridefinire questa funzione, puoi utilizzare le funzioni defface e push:

  • La funzione defface crea una nuova “faccia” per Emacs. La “faccia” è un insieme di valori che può contenere sia font di carattere che colori di sfondo.
  • La funzione push, d’altra parte, aggiunge una definizione a un comando esistente in Emacs.

Tenendo presente ciò, puoi combinare queste funzioni per creare una “faccia” personalizzata per Elfeed. Ad esempio, questa è una faccia personalizzata che evidenzia il tag f1 in rosso.

(defface elfeed-face-tag-f1  
  '((t :foreground"#f00"))  
"Questa è una faccia di font personalizzata per il tag F1 in Elfeed.")  
  
(push '(f1 elfeed-face-tag-f1)  
      elfeed-search-face-alist)

Congratulazioni! Ora sai come usare Emacs come lettore RSS con Elfeed. Inoltre, hai anche una base di come personalizzare e automatizzare Elfeed per soddisfare le esigenze dei tuoi feed RSS.

Se tutta questa discussione ti ha fatto pensare a cosa puoi fare di più con Emacs, puoi dare un’occhiata al nostro articolo sui migliori pacchetti di produttività per Emacs.

Leggi anche: Come risolvere il problema di non poter digitare nel terminale in Linux

Domande frequenti

1. Come posso eliminare un feed in Elfeed?

Puoi rimuovere un feed in due modi: eliminare l’entrata del feed nel tuo file init.el o utilizzare la funzione di personalizzazione di Emacs per rimuoverlo.

Per il primo, rimuovere un feed è solo una questione di eliminare l’URL del feed nella tua variabile elfeed-feeds. Per il secondo, tuttavia, devi premere Alt + X per aprire il buffer dei comandi. Da qui, devi digitare customize. Questo aprirà la finestra di personalizzazione per Emacs.

Da lì, digita elfeed-feeds nella casella di ricerca. Questo porterà tutti i feed a cui sei attualmente iscritto.

Questo ti consente di eliminare un feed facendo clic sui pulsanti DEL accanto al link del feed. Una volta fatto, puoi fare clic sui pulsanti Applica e Salva sotto la barra di ricerca per aggiornare il tuo feed.

2. Cosa posso fare se aggiungo tutti i miei feed in Elfeed e non si aggiornano?

Elfeed non aggiorna automaticamente i link dei feed per te. Per recuperare le ultime voci nei tuoi feed, premi Shift + G per avviare un aggiornamento su tutti i feed attualmente sottoscritti.

Inoltre, se desideri aggiornare solo un feed RSS specifico, esegui la funzione elfeed-update-feed.

3. I miei tag automatici non sembrano funzionare. Come posso risolvere questo?

Questo è probabilmente perché hai tag in conflitto per lo stesso feed RSS. Questo può accadere se hai incluso lo stesso URL del feed sia nei tuoi feed manuali che automatici.

Per risolvere questo, devi rimuovere o la tua voce manuale nel tuo file init.el o l’entrata del feed automatico nel buffer di personalizzazione di Emacs.