Linux
 Computer >> コンピューター >  >> システム >> Linux

ElfeedでRSSにEmacsを使用する方法

ElfeedでRSSにEmacsを使用する方法

Emacsは非常に拡張可能なソフトウェアです。それはあなたのテキストエディタ、あなたの電子メールクライアントそしてあなたのUSENETリーダーでさえありえます。 Elfeedを使用すると、RSSフィードリーダーとしてEmacsを使用することもできます。

Elfeedとは何ですか?

Elfeedは、Emacs用に作成された軽量で強力なRSSフィードリーダーです。シンプルなタグベースのシステムを使用してRSSフィードを並べ替えます。それだけでなく、コンテンツに基づいてフィードに自動的にタグを付けることができる強力な「フックベース」のタグ付けシステムも付属しています。

ElfeedでRSSにEmacsを使用する方法

これにより、Elfeedは、RSSフィードをたくさんフォローしていて、フィードを自動的に並べ替える方法を探している人に役立ちます。

EmacsでFeedreaderを使用する理由

Emacsはデータを取得し、さまざまな方法で解釈できるようにするため、相互運用性の概念で機能します。

ElfeedでRSSにEmacsを使用する方法

Emacsを使用してテキストを排他的に編集できますが、たとえば、テキストの編集中に電子メールにアクセスできると、作成中の電子メールに書き込んでいるテキストをシームレスに使用できます。

ElfeedでRSSにEmacsを使用する方法

これが、RSSフィードリーダーをEmacsに組み込むことが魅力的な理由です。これにより、Emacsの強力な編集機能を使用して、Emacsのフィードやその他の機能を操作できるようになります。

EmacsへのElfeedのインストール

Elfeedのインストールは本当に簡単です。 GNU ELPAリポジトリから入手できるため、init.elファイルを変更せずにアクセスできます。

ElfeedでRSSにEmacsを使用する方法

Elfeedをインストールするには、 Altを押します。 + X コマンドバッファを表示するには、package-installと入力します 。 elfeedを提供する必要があります パッケージ名としてEnterを押します 。 EmacsはElfeedのソースコードをダウンロードし、すぐにコンパイルします。

Emacsで最初のRSSフィードを設定する

インストールしたら、 Altを押してElfeedにアクセスします + X elfeedと入力します コマンドバッファ内。これを行うと、空のElfeedバッファがロードされます。

ElfeedでRSSにEmacsを使用する方法

RSSフィードをElfeedに追加する方法は2つあります。

  • init.elファイルを手動で編集する
  • Emacsなし

ElfeedでRSSフィードを手動で追加する

Elfeedには追跡する「elfeed-feeds」変数があるため、init.elファイルにフィードURLを手動で追加することで、Elfeedに簡単にデータを入力できます。これにより、どのフィードをフェッチして概要画面に表示するかが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関数です。この場合、値として3つのフィードリンクを使用してelfeed-feeds変数を設定しています。

そこから、Elfeedはそれらのリンクを内部データベースに自動的に追加し、次にプログラムを実行するときにロードします。

ElfeedでRSSにEmacsを使用する方法

Emacs内にRSSフィードを追加する

Elfeedにデータを入力する別の方法は、実行中にフィードリンクを与えることです。これにより、EmacsをリロードせずにRSSリンクでフィード名簿をアクティブに更新できます。

これを行うには、 Altを押します + X コマンドバッファを開きます。 elfeed-add-feedと入力します Enterを押します 。 Elfeedは、ロードするフィードのURLを提供するように求めます。

ElfeedでRSSにEmacsを使用する方法

私の場合、最新のテクノロジー記事の最新情報を毎日受け取るために、ElfeedにフィードURLを提供しています。

フィードのURLをコピーして、 Ctrlを押します。 + Y URLプロンプトでEmacsへのリンクを貼り付けます。貼り付けたら、 Enterを押すだけです。 フィードURLをElfeedにコミットします。

ElfeedでRSSにEmacsを使用する方法 Emacsでフィードに自動的にタグを付けてフィルタリングする方法

RSSフィードの一覧表示と表示に加えて、Elfeedは、フィードリストを微調整できるようにする多くの機能を実行することもできます。

それらの優れた機能の1つは、自動タグ付けです。この機能を使用すると、特定のフィードからのRSSエントリにすぐにタグを付けることができます。

たとえば、特定のトピックに関する複数のフィードがある場合、それらがすべて同じタグを持つように設定すると、概要画面で複数のフィードを簡単かつ直感的に並べ替えることができます。

これを行うには、init.elファイルのRSSフィードを編集します。この簡単な例を見てください。

(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フィードに自動的にタグを付けるには、デフォルトのelfeed-feeds形式に対して2つのことを行う必要があります。

  • フィードリンクを括弧で囲みます。これはelfeed-feedsに通知します 変数のこの特定のエントリには複数の部分があること。
  • その特定のリンクのタグとして機能する単語を提供します。それぞれをスペースで区切る限り、複数のタグを含めることができます。
ElfeedでRSSにEmacsを使用する方法

ElfeedでのRSSフィードのフィルタリング

これらのタグは、Elfeedの強力なフィルタリングシステムと連携して機能します。これにより、タグのみに基づいてRSSフィードをグループ化できます。

たとえば、RSSフィードに「ニュース」、「ニューステック」、「ニュースゲーム」のタグが付けられている場合、Elfeedではそれらすべてを「ニュース」タグの下にグループ化できます。

フィードリストをフィルタリングするには、 Sを押します。 Elfeedにいる間、Elfeedのフィルタープロンプトを表示します。デフォルトでは、プロンプトには次のものが含まれています。

@6-months-ago +unread
  • @記号は日付範囲を示します。これは、「2022-02-22」などの絶対的な日付、または「3日前」などの相対的な日付である可能性があります。
  • 「+」記号は、このタグを持つすべてのフィードを明示的に含めるようにElfeedに指示するタグ演算子です。
ElfeedでRSSにEmacsを使用する方法

そのことを念頭に置いて、次の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)))

「tech」タグをフィルタリングするには、Elfeedのフィルタプロンプトに「+ tech」と入力して、Elfeedのサマリーバッファの最初の3つのリンクを表示します。ただし、「+ news」を追加すると、Elfeedは代わりに1番目と5番目のタグを表示します。

これを知っていると、フィルタリングロジックをより具体的にすることができます。たとえば、「f1」を使用せずにすべての技術リンクを含める場合は、次のように入力できます。

+tech -f1
URLに基​​づいてフィードに自動的にタグを付ける方法

ElfeedでRSSエントリに自動的にタグを付ける別の方法は、URLに基​​づいてRSSエントリを並べ替えることです。これは、Elfeedを使用して同様のURL構造を持つRSSフィードを購読している場合に便利です。

ElfeedでRSSにEmacsを使用する方法

これを行うには、Elfeedのelfeed-new-entry-hookを使用します 。これは、特定の条件に基づいてカスタムコマンドを実行するフック関数です。この関数は、elfeed-add-feedを使用してエントリが追加されるたびにカスタムコマンドを実行します コマンド。

elfeed-make-taggerを使用できます そのフック内で機能します。これは、設定したオプションに基づいてリンクにタグを付ける一般的な関数です。そのため、2つの機能を組み合わせて自動タグ付けを作成すると、次のようになります。

(add-hook 'elfeed-new-entry-hook
        (elfeed-make-tagger :feed-url "medium\\.com"
                            :add '(medium)))
ElfeedでRSSにEmacsを使用する方法

この関数は、スラッグ「medium.com」を含むすべてのリンクに自動的にタグを付けます。

elfeed-make-taggerで設定したオプションをより具体的にすることもできます 。たとえば、URLに基​​づいてフィードにタグを付けたり、3か月以上経過したエントリを除外したりできます。

(add-hook 'elfeed-new-entry-hook
        (elfeed-make-tagger :feed-url "medium\\.com"
                            :before "3 months ago"
                            :add 'medium))
タグのカスタムカラーとフォントを作成する方法

自動タグ付けの他に、Elfeedが処理しているタグに基づいてElfeedの外観をカスタマイズすることもできます。これは、特定のタグが付いたフィードを目立たせる場合に便利です。

ElfeedでRSSにEmacsを使用する方法

そのためには、elfeed-search-face-alistを再定義する必要があります 働き。これは、Elfeedがサマリーバッファの外観を変更するために使用するコマンドです。そのため、この関数を再定義するには、deffaceを使用できます。 およびpush 機能:

  • defface 関数はEmacsの新しい「顔」を作成します。 「顔」は、文字フォントと背景色の両方を含むことができる値のセットです。
  • プッシュ 一方、functionは、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をElfeedでRSSリーダーとして使用する方法をマスターしました。さらに、RSSフィードのニーズに合わせてElfeedをカスタマイズおよび自動化する方法の基本的な考え方も理解できました。

このすべての議論でEmacsで何ができるかを考えさせられた場合は、Emacsの最高の生産性パッケージに関する記事をチェックしてください。

よくある質問

1。 Elfeedでフィードを削除するにはどうすればよいですか?

フィードは2つの方法で削除できます。init.elファイル内のフィードのエントリを削除するか、Emacsのカスタマイズ機能を使用して削除します。

前者の場合、フィードを削除するには、elfeed-feeds変数のフィードURLを削除するだけです。ただし、後者の場合は、 Altを押す必要があります。 + X コマンドバッファを開きます。ここから、customizeと入力する必要があります 。これにより、Emacsのカスタマイズウィンドウが開きます。

そこから、elfeed-feedsと入力します 検索ボックスで。これにより、現在サブスクライブしているすべてのフィードが表示されます。

これにより、 DELをクリックしてフィードを削除できます。 フィードリンクの横にあるボタン。完了したら、適用をクリックできます および保存 検索バーの下にあるボタンをクリックして、フィードを更新します。

2。すべてのフィードをElfeedに追加しても更新されない場合はどうすればよいですか?

Elfeedは、フィードリンクを自動的に更新しません。フィード内の最新のエントリを取得するには、 Shiftを押します。 + G 現在サブスクライブしているすべてのフィードの更新を開始します。

さらに、特定のRSSフィードのみを更新する場合は、elfeed-update-feedを実行します。 機能。

3。自動タグが機能しないようです。どうすればこれを解決できますか?

これはおそらく、同じRSSフィードに対して競合するタグがあるためです。これは、手動フィードと自動フィードの両方に同じフィードURLを含めた場合に発生する可能性があります。

これを解決するには、init.elファイルの手動エントリまたはEmacsのカスタマイズバッファの自動フィードエントリのいずれかを削除する必要があります。


  1. Gmail で Outlook を使用する方法

    コンピュータを使用している場合、Yahoo、Google、Hotmail、および Outlook 用に複数のメール ID を持っている可能性がかなりあります。時間の経過とともに、いくつかのメール ID が無視される傾向があるため、Outlook の受信トレイで頻繁に使用するものを常に構成することをお勧めします。 Microsoft Outlook で動作するように任意の電子メール アドレスを構成できますが、いくつかの理由により、Gmail を使用することをお勧めします。 Gmail のストレージは、ほとんどのメール サービス プロバイダーよりもはるかに大きく、スパムに対する保護がはるかに優れて

  2. RSS フィードの概要と使用方法

    読書は、十分な知識を得るだけでなく、対人スキルにも役立つ健康的な習慣です。インターネットを使えば、紙を節約して環境に配慮することができるようになりましたが、特に読む価値のあるものを見つけようとすると、頭痛の種にもなります。読み取り可能なコンテンツの選択は、大量のコレクションが原因でインターネットを読む際に直面する可能性がある主要な問題の 1 つです。 この問題を解決するために、RSS フィードが開発されました。これにより、コンテンツを読んだり見たりする時間を節約できます。 RSS を使用すると、購読している作成者 (Web サイト) から RSS アグリゲーター (プログラム) にアクセスし