Cómo usar Emacs para RSS con Elfeed

Emacs es una pieza de software muy extensible. Puede ser su editor de texto, su cliente de correo electrónico e incluso su lector USENET. Con Elfeed, también puede usar Emacs como su lector de fuentes RSS.

¿Qué es Elfeed?

Elfeed es un lector de feeds RSS ligero pero potente escrito para Emacs. Utiliza un sistema simple basado en etiquetas para clasificar sus fuentes RSS. No solo eso, también viene con un poderoso sistema de etiquetado «basado en ganchos» que le permite etiquetar automáticamente las fuentes en función de su contenido.

Resumen de Emacs Rss 02 Elfeed

Esto hace que Elfeed sea útil para las personas que siguen muchas fuentes RSS y buscan una forma de ordenar automáticamente sus fuentes.

¿Por qué usar un lector de feeds en Emacs?

Emacs trabaja en la noción de interoperabilidad, ya que Emacs toma datos y permite que se interpreten de varias maneras diferentes.

Emacs Rss 03 Interoperabilidad de Emacs

Si bien puede usar Emacs para editar texto exclusivamente, poder acceder a su correo electrónico mientras edita texto, por ejemplo, puede permitirle usar sin problemas el texto que está escribiendo en el correo electrónico que está redactando.

Emacs Rss 04 Correo electrónico de Emacs Rss

Esta es la razón por la que incorporar su lector de fuentes RSS en Emacs puede resultar tentador. Le permitiría usar las poderosas capacidades de edición de Emacs para manipular sus fuentes y otras funciones en Emacs.

Instalación de Elfeed en Emacs

Instalar Elfeed es realmente simple. Está disponible desde el GNU ELPA repositorio, para que pueda acceder a él sin ninguna modificación en su archivo init.el.

Emacs Rss 05 Elfeed instalado

Para instalar Elfeed, presione Alt + X para que aparezca el búfer de comandos, luego escriba package-install. tienes que proporcionar elfeed como el nombre del paquete y presione Entrar. Emacs descargará el código fuente de Elfeed y lo compilará inmediatamente después.

Configuración de su primera fuente RSS en Emacs

Con eso instalado, acceda a Elfeed presionando Alt + X y escribiendo elfeed en el búfer de comandos. Al hacer esto, se cargará un búfer de Elfeed vacío.

Emacs Rss 06 Elfeed Limpiar

Hay dos formas de agregar una fuente RSS a Elfeed:

  • Edite manualmente su archivo init.el

Agregar una fuente RSS manualmente en Elfeed

Puede completar fácilmente Elfeed agregando manualmente las URL de los feeds en su archivo init.el, ya que Elfeed tiene una variable «elfeed-feeds» que rastrea. Esto le dice a Elfeed qué fuentes buscar y mostrar en su pantalla de resumen.

Por ejemplo, este es un fragmento de mi archivo 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 es una función de Emacs que establece el valor de una variable particular. En este caso, está configurando la variable elfeed-feeds con tres enlaces de alimentación como valores.

A partir de ahí, Elfeed agregará automáticamente esos enlaces a su base de datos interna y luego los cargará la próxima vez que ejecute el programa.

Emacs Rss 07 Elfeed con fuentes

Agregar una fuente RSS dentro de Emacs

Otra forma de poblar Elfeed es dándole enlaces de alimentación mientras se está ejecutando. Esto le permite actualizar activamente su lista de fuentes con enlaces RSS sin recargar Emacs.

Para hacer esto, presione Alt + X para abrir el búfer de comandos. Escribe elfeed-add-feed y presione Entrar. Elfeed le pedirá que proporcione la URL del feed que desea cargar.

Emacs Rss 08 Zoom de URL

En mi caso, estoy proporcionando nuestro URL para el canal a Elfeed para recibir actualizaciones diarias sobre los últimos artículos de tecnología.

Copio la URL del feed y presiono Ctrl + Y en el indicador de la URL para pegar el enlace en Emacs. Una vez pegado, solo necesito presionar Enter para enviar la URL del feed a Elfeed.

Emacs Rss 09 ExpertogeekFeeds

Cómo etiquetar y filtrar feeds automáticamente en Emacs

Además de enumerar y ver fuentes RSS, Elfeed también puede realizar una serie de funciones que le permitirán ajustar con precisión su lista de fuentes.

Una de esas funciones ordenadas es el etiquetado automático. Esta característica le permite etiquetar inmediatamente las entradas RSS que provienen de un feed específico.

Por ejemplo, si tiene varios feeds sobre un tema determinado, puede configurarlos para que todos tengan la misma etiqueta, lo que hace que sea fácil e intuitivo ordenar varios feeds en la pantalla de resumen.

Para hacer esto, edite las fuentes RSS en su archivo init.el. Echa un vistazo a este breve ejemplo.

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

Para etiquetar automáticamente una fuente RSS, debe hacer dos cosas con su formato predeterminado de fuentes elfeed:

  • Encierre el enlace de alimentación entre paréntesis. esto dice elfeed-feeds que esta entrada específica en la variable tiene múltiples partes.
  • Proporcione una palabra que actuará como su etiqueta para ese enlace en particular. Puede incluir varias etiquetas siempre que separe cada una de ellas con un espacio.

Emacs Rss 10 Feeds etiquetados automáticamente

Filtrado de su fuente RSS en Elfeed

Estas etiquetas funcionan en conjunto con el poderoso sistema de filtrado de Elfeed. Esto le permite agrupar sus fuentes RSS basándose únicamente en las etiquetas.

Por ejemplo, si tiene fuentes RSS etiquetadas como «noticias», «noticias tecnológicas» y «noticias de juegos», Elfeed le permite agruparlas todas bajo la etiqueta «noticias».

Para filtrar su lista de fuentes, presione S mientras está en Elfeed para que aparezca el mensaje de filtro de Elfeed. De forma predeterminada, el aviso contiene lo siguiente:

  • El símbolo @ indica un rango de fechas. Esta podría ser una fecha absoluta como «2022-02-22» o una relativa como «hace 3 días».
  • El símbolo «+» es un operador de etiqueta que le dice a Elfeed que incluya explícitamente todos los feeds que tienen esta etiqueta.

Filtro predeterminado de Emacs Rss 11

Con eso en mente, considere la siguiente fuente 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)))

Para filtrar la etiqueta «tecnología», escriba «+tecnología» en el indicador de filtro de Elfeed para mostrar los primeros tres enlaces en el búfer de resumen de Elfeed. Sin embargo, si agrega «+noticias», Elfeed mostrará la primera y la quinta etiqueta en su lugar.

Sabiendo esto, puede ser más específico con su lógica de filtrado. Por ejemplo, si desea incluir todos los enlaces tecnológicos pero sin «f1», puede escribir lo siguiente:

Cómo etiquetar feeds automáticamente en función de la URL

Otra forma de etiquetar automáticamente las entradas RSS en Elfeed es ordenarlas según la URL. Esto es útil si está utilizando Elfeed para suscribirse a fuentes RSS que tienen una estructura de URL similar.

Emacs Rss 12 Página web mediana

Para hacer eso, use Elfeed’s elfeed-new-entry-hook. Esta es una función de enlace que ejecuta un comando personalizado basado en condiciones específicas. Esta función ejecutará un comando personalizado cada vez que se agregue una entrada usando el elfeed-add-feed dominio.

Puedes usar el elfeed-make-tagger función dentro de ese gancho. Esta es una función general que etiqueta los enlaces según las opciones que establezca. Como tal, la combinación de las dos funciones para crear un etiquetado automático puede verse así:

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

Emacs Rss 13 Alimentación media

Esa función etiquetará automáticamente cualquier enlace que contenga el slug «medium.com».

También puede ser más específico con las opciones que establece con elfeed-make-tagger. Por ejemplo, puede etiquetar un feed en función de la URL y filtrar las entradas que tengan más de tres meses:

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

Cómo crear colores y fuentes personalizados para etiquetas

Además del etiquetado automático, también puede personalizar el aspecto de Elfeed en función de la etiqueta con la que se trata. Esto es útil si desea que se destaquen los feeds con una etiqueta específica.

Emacs Rss 14 caras personalizadas

Para hacer eso, necesita redefinir el elfeed-search-face-alist función. Este es el comando que usa Elfeed para cambiar la apariencia del búfer de resumen. Como tal, para redefinir esta función, puede utilizar el defface y push funciones:

  • los desfigurar La función crea una nueva «cara» para Emacs. La «cara» es un conjunto de valores que pueden contener tanto fuentes de caracteres como colores de fondo.
  • los empujar La función, por otro lado, agrega una definición a un comando existente en Emacs.

Con eso en mente, puede combinar estas funciones para crear una «cara» personalizada para Elfeed. Por ejemplo, esta es una cara personalizada que resalta la etiqueta f1 en rojo.

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

¡Felicidades! Ahora sabe cómo usar Emacs como lector de RSS con Elfeed. Además, ahora también tiene una idea básica de cómo personalizar y automatizar Elfeed para satisfacer las necesidades de sus fuentes RSS.

Si toda esta discusión le hizo pensar en lo que puede hacer más con Emacs, puede consultar nuestro artículo sobre los mejores paquetes de productividad para Emacs.

Preguntas frecuentes

1. ¿Cómo puedo eliminar un feed en Elfeed?

Puede eliminar una fuente de dos maneras: elimine la entrada de la fuente en su archivo init.el o utilice la función de personalización de Emacs para eliminarla.

Para el primero, eliminar un feed es solo una cuestión de eliminar la URL del feed en su variable elfeed-feeds. Sin embargo, para este último, debe presionar Alt + X para abrir el búfer de comandos. Desde aquí, debe escribir customize. Esto abrirá la ventana de personalización para Emacs.

A partir de ahí, escriba elfeed-feeds en el cuadro de búsqueda. Esto traerá todas las fuentes a las que está suscrito actualmente.

Esto le permite eliminar una fuente haciendo clic en los botones DEL al lado del enlace de la fuente. Una vez hecho esto, puede hacer clic en los botones Aplicar y Guardar debajo de la barra de búsqueda para actualizar su fuente.

2. ¿Qué puedo hacer si agrego todos mis feeds en Elfeed y no se actualizan?

Elfeed no actualiza automáticamente los enlaces de alimentación por usted. Para obtener las últimas entradas en sus fuentes, presione Shift + G para iniciar una actualización en todas las fuentes suscritas actualmente.

Además, si solo desea actualizar una fuente RSS específica, ejecute el elfeed-update-feed función.

3. Mis etiquetas automáticas no parecen funcionar. ¿Como puedo resolver esto?

Esto probablemente se deba a que tiene etiquetas en conflicto para la misma fuente RSS. Eso puede suceder si ha incluido la misma URL del feed tanto en el feed manual como en el automático.

Para resolver esto, debe eliminar la entrada manual en su archivo init.el o la entrada de alimentación automática en el búfer de personalización de Emacs.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada.