「Newsboat」の版間の差分
(同期) |
(関連記事を追加) |
||
(3人の利用者による、間の13版が非表示) | |||
1行目: | 1行目: | ||
[[Category:ニュースアグリゲータ]] |
[[Category:ニュースアグリゲータ]] |
||
+ | [[Category:コンソールアプリケーション]] |
||
− | [[en:Newsbeuter]] |
||
+ | [[en:Newsboat]] |
||
+ | {{Related articles start}} |
||
+ | {{Related|Web feed}} |
||
+ | {{Related articles end}} |
||
+ | |||
[http://newsbeuter.org/ プロジェクトのウェブページ] より: |
[http://newsbeuter.org/ プロジェクトのウェブページ] より: |
||
:Newsbeuter はテキストターミナル用のオープンソースの RSS/Atom フィードリーダーです。Linux, FreeBSD, macOS などの Unix ライクなオペレーティングシステムで動作します。Newsbeuter は設定が自由自在で優れた機能を多数備えていることから、全てキーボードで動作できる高速かつスマートなフィードリーダーを望んている人にうってつけです。 |
:Newsbeuter はテキストターミナル用のオープンソースの RSS/Atom フィードリーダーです。Linux, FreeBSD, macOS などの Unix ライクなオペレーティングシステムで動作します。Newsbeuter は設定が自由自在で優れた機能を多数備えていることから、全てキーボードで動作できる高速かつスマートなフィードリーダーを望んている人にうってつけです。 |
||
− | Newsbeuter の開発は中止され、フォークされて {{Pkg|newsboat}} が生まれました |
+ | Newsbeuter の開発は中止され、フォークされて {{Pkg|newsboat}} が生まれました。[https://groups.google.com/forum/#!topic/newsbeuter/RPtlWX8CPGU] |
== インストール == |
== インストール == |
||
+ | |||
{{Pkg|newsboat}} は公式リポジトリからインストールできます。開発版は {{AUR|newsbeuter-git}} または {{AUR|newsboat-git}} パッケージでインストールできます。 |
{{Pkg|newsboat}} は公式リポジトリからインストールできます。開発版は {{AUR|newsbeuter-git}} または {{AUR|newsboat-git}} パッケージでインストールできます。 |
||
== 使用方法 == |
== 使用方法 == |
||
− | インストールしたら、コマンドラインから newsbeuter を起動することができます: |
||
+ | Newsboatは、設定済みのフィードなしでは起動できません。 フィードは、{{ic|~/.config/newsboat/urls}} で構成できます。 |
||
− | newsbeuter |
||
+ | インストールしたら、コマンドラインから newsboat を起動することができます: |
||
− | ナビゲーションはとてもわかりやすいものになっています。キーバインディングの完全なリストは man ページを見るか、newsbeuter の中から {{ic|?}} キーを押して下さい。 |
||
+ | newsboat |
||
− | {{Warning|フィードを設定しないと newsbeuter を起動することはできません。フィードの追加方法は次のセクションである [[#フィードの管理]] を見て下さい。}} |
||
+ | |||
− | {{Note|キーバインディングの設定は変えられます。[[#設定]] を見たり、man ページに載っているバインド出来る機能のリストを見て下さい。}} |
||
+ | ナビゲーションはとてもわかりやすいものになっています。キーバインディングの完全なリストは man ページを見るか、newsbeuter の中から {{ic|?}} キーを押して下さい。 |
||
== フィードの管理 == |
== フィードの管理 == |
||
+ | |||
− | フィードの追加・削除・タグ管理は全て urls ファイルの編集で行います。デフォルトでは {{ic|~/.newsbeuter/urls}} に存在します。 |
||
+ | フィードの追加・削除・タグ管理は全て urls ファイルの編集で行います。デフォルトでは {{ic|~/.config/newsboat/urls}} に存在します。 |
||
=== フィードの追加・削除 === |
=== フィードの追加・削除 === |
||
+ | |||
− | URL を追加するには、{{ic|~/.newsbeuter/urls}} をお好きなテキストエディタで開いて、一行ごとに URL を追加します: |
||
+ | URL を追加するには、{{ic|~/.config/newsboat/urls}} をお好きなテキストエディタで開いて、一行ごとに URL を追加します: |
||
<nowiki>http://rss.cnn.com/rss/cnn_topstories.rss</nowiki> |
<nowiki>http://rss.cnn.com/rss/cnn_topstories.rss</nowiki> |
||
32行目: | 40行目: | ||
<nowiki>http://username:password@hostname.domain.tld/feed.rss</nowiki> |
<nowiki>http://username:password@hostname.domain.tld/feed.rss</nowiki> |
||
− | ユーザー名とパスワードが流出しないように、{{ic|~/. |
+ | ユーザー名とパスワードが流出しないように、{{ic|~/.config/newsboat/urls}} には適切なパーミッションを設定してください。 |
また、Newsbeuter は URL に含まれているユーザー名とパスワードをユーザーインターフェイスに表示しません。ユーザー名に @ が含まれる場合、ユーザー名・パスワードとホスト名を区切る @ と区別が付くように %40 を使ってください。 |
また、Newsbeuter は URL に含まれているユーザー名とパスワードをユーザーインターフェイスに表示しません。ユーザー名に @ が含まれる場合、ユーザー名・パスワードとホスト名を区切る @ と区別が付くように %40 を使ってください。 |
||
40行目: | 48行目: | ||
file:///var/log/rss_eventlog.xml |
file:///var/log/rss_eventlog.xml |
||
− | フィードを削除したいときは、urls ファイルからそのフィードの行を消して下さい。 |
+ | フィードを'''削除'''したいときは、urls ファイルからそのフィードの行を消して下さい。 |
=== フィードのタグ管理 === |
=== フィードのタグ管理 === |
||
+ | |||
全てのフィードにはタグを割り当てることができます。タグ付けすることでフィードのカテゴライズが簡単になるだけでなく、一度に複数のフィードを対象としてコマンドを適用することができるようになります。 |
全てのフィードにはタグを割り当てることができます。タグ付けすることでフィードのカテゴライズが簡単になるだけでなく、一度に複数のフィードを対象としてコマンドを適用することができるようになります。 |
||
54行目: | 63行目: | ||
==== 特殊なタグ ==== |
==== 特殊なタグ ==== |
||
+ | |||
===== フィードのカスタム名称 ===== |
===== フィードのカスタム名称 ===== |
||
+ | |||
urls ファイルで特殊なタグを使うことでフィードの名前を定義することができます。タグの名前の前に {{ic|~}} 記号を付けると、タグの名前がフィードの名前になります。例: |
urls ファイルで特殊なタグを使うことでフィードの名前を定義することができます。タグの名前の前に {{ic|~}} 記号を付けると、タグの名前がフィードの名前になります。例: |
||
61行目: | 72行目: | ||
上記の設定で "CNN Top stories" がフィードの名前として定義されます。 |
上記の設定で "CNN Top stories" がフィードの名前として定義されます。 |
||
− | ===== 非表示フィード ===== |
+ | ===== 非表示のフィード ===== |
+ | |||
タグの名前の前に {{ic|!}} を付けることで、そのフィードを通常のフィードのリストから非表示にすることができます。例: |
タグの名前の前に {{ic|!}} を付けることで、そのフィードを通常のフィードのリストから非表示にすることができます。例: |
||
<nowiki>http://rss.orf.at/news.xml</nowiki> "!ORF News (hidden)" |
<nowiki>http://rss.orf.at/news.xml</nowiki> "!ORF News (hidden)" |
||
− | 非表示フィードのコンテンツは |
+ | 非表示フィードのコンテンツはクエリしないかぎり表示されません。 |
+ | |||
+ | === クエリフィード === |
||
+ | |||
+ | カスタムフィードは、いわゆる ''クエリフィード'' を作成することで既存のフィードから作成できます。クエリフィードと記事を照合することによって生成されるフィードです。クエリフィードは、通常のフィードと同様に、{{ic|~/.config/newsboat/urls}} ファイルで定義されます。 |
||
+ | 構文は次のとおりです: |
||
+ | |||
+ | <nowiki>query:FEEDNAME:FILTER_EXPRESSION [TAG ...]</nowiki> |
||
+ | |||
+ | 通常のフィードと同様、クエリフィードには {{ic|FEEDNAME}} という名前があり、フィードリストに表示されます。 |
||
+ | {{ic|FILTER_EXPRESSION}} のフィルター式言語は、[https://newsboat.org/releases/2.13/docs/newsboat.html#_filter_language newsboat マニュアル] で定義されています。 |
||
+ | クエリフィードには、通常のフィードと同様に、オプションでタグを付けることができます。[[Newsboat#フィードのタグ付け|フィードのタグ付け]] を参照してください。 |
||
+ | |||
+ | ==== 基本的な例 ==== |
||
+ | |||
+ | {{hc|~/.config/newsboat/urls|2= |
||
+ | "query:Example1:age > 1" |
||
+ | "query:Example2:(tags # \"example2\") and (title =~ \"example2\")" |
||
+ | "query:Example3:(rssurl =~ \"example3\") or (total_count > 3)" |
||
+ | }} |
||
+ | |||
+ | 最初の例では、1 日以上前の記事をすべて含む {{ic|Example1}} という名前のフィードを定義します。 |
||
+ | |||
+ | 2 番目の例では、フィードに {{ic|example2}} のタグが付けられたすべての記事を含む、{{ic|Example2}} という名前のフィードを定義します。 |
||
+ | 記事タイトルが {{ic|example2}} と一致する "および" ここで、{{ic|#}} は '''含む''' 演算子です。 |
||
+ | |||
+ | 3 番目の例では、フィード URL が一致するすべての記事を含む、{{ic|Example3}} という名前のフィードを定義します。 |
||
+ | 正規表現 {{ic|example3}} ''または'' 3 つ以上の記事を含むフィードの一部であるすべての記事。 |
||
+ | |||
+ | {{Note|クエリフィード定義は二重引用符で囲む必要があります。したがって、宣言内の他の二重引用符はエスケープする必要があります。}} |
||
+ | |||
+ | ==== 未読の記事 ==== |
||
+ | |||
+ | すべての未読記事を含む {{ic|未読記事}} という名前のフィードを作成するには、次のように定義します。 |
||
+ | |||
+ | {{hc|~/.config/newsboat/urls|2= |
||
+ | "query:Unread Articles:unread = \"yes\"" |
||
+ | }} |
||
+ | |||
+ | ==== 複数のフィードを 1 つに統合する ==== |
||
+ | |||
+ | クエリフィードは、複数のフィードにコンテンツが分散されているクリエイターをフォローする場合に有効に使用できます。クエリフィードを使用すると、すべてのコンテンツを 1 か所に統合できます。 |
||
+ | |||
+ | {{hc|~/.config/newsboat/urls| |
||
+ | "query:Metafeed:tags # \"metafeed\""<nowiki> |
||
+ | https://feed.url/1 metafeed ! |
||
+ | https://feed.url/2 metafeed ! |
||
+ | https://feed.url/3 metafeed ! |
||
+ | </nowiki>}} |
||
+ | |||
+ | コツは、個々のフィードに一意のタグを割り当てることです (ここでは {{ic|metafeed}} を使用しました) これにより、フィルター式で照合できるようになります。また、個々のフィードがフィードリストに表示されないように、[[Newsboat#非表示のフィード|非表示のフィード]] (各フィードの末尾にある {{ic|!}}) を使用します。 |
||
+ | |||
+ | ==== 特定のフィードのフィルタリング ==== |
||
+ | |||
+ | フィードに表示したくないコンテンツが含まれている場合は、クエリフィードを使用してフィルタリングできます。 |
||
+ | たとえば、関心のあるパッケージの更新を監視するには、次のコマンドを使用できます。 |
||
+ | |||
+ | {{hc|~/.config/newsboat/urls|2= |
||
+ | "query:Package Updates:(tags # \"packageupdates\") and (title =~ \"linux [0-9]{{!}}newsboat\")" |
||
+ | <nowiki>https://archlinux.org/feeds/packages/</nowiki> packageupdates ! |
||
+ | }} |
||
+ | |||
+ | これで、このフィードには、{{Pkg|linux}} と {{Pkg|newsboat}} の更新のみが表示されます。 |
||
+ | |||
+ | === 記事を無視する === |
||
+ | |||
+ | [[Newsboat#特定のフィードのフィルタリング|クエリフィード]] と同様に、フィードをフィルタリングするもう 1 つの方法は、{{ic|~/.config/newsboat/config}} で {{ic|ignore-article}} コマンドを使用することです。次の構文があります |
||
+ | |||
+ | ignore-article FEEDURL FILTER_EXPRESSION |
||
+ | |||
+ | ==== 例 ==== |
||
+ | |||
+ | {{hc|~/.config/newsboat/config|<nowiki> |
||
+ | ignore-article "https://feed/url1" "content =~ \"tele(phone|communications)\"" |
||
+ | ignore-article "https://feed/url2" "title =~ \"text_1|text_2\"" |
||
+ | </nowiki>}} |
||
+ | |||
+ | 最初の例では、コンテンツが一致する {{ic|<nowiki>https://feed/url1</nowiki>}} 内のすべての記事を無視します。 |
||
+ | {{ic|tele(phone{{!}}communications)}} |
||
+ | |||
+ | 2 番目の例では、タイトルが {{ic|text_1{{!}}text_2}} と一致する {{ic|<nowiki>https://feed/url2</nowiki>}} 内のすべての記事を無視します。 |
||
+ | |||
+ | ==== 無視モード ==== |
||
+ | |||
+ | クエリフィードによるフィルタリングとは対照的に、Newsboat では、{{ic|ignore-article}} コマンドに一致する記事をどう処理するかを決定できます。記事を削除したり、表示しなかったりすることができます。 |
||
+ | |||
+ | {{hc|~/.config/newsboat/config| |
||
+ | # ignore-mode "download" # Default: Delete them. |
||
+ | # ignore-mode "display" # Do not show them. |
||
+ | }} |
||
+ | |||
+ | ==== クエリフィードとの比較 ==== |
||
+ | |||
+ | 純粋なフィルタリングに関して言えば、{{ic|ignore-article}} で実行できることはすべて、[[Newsboat#特定のフィードのフィルタリング|クエリフィード]] でも実行できます。 |
||
+ | |||
+ | クエリフィードは {{ic|~/.config/newsboat/urls}} ファイルで定義され、{{ic|ignore-article}} コマンドは {{ic|~/.config/newsboat/config}} に配置されます。したがって、すべてのフィード関連のものを 1 か所にまとめておきたい場合は、次のようにすることをお勧めします。 |
||
+ | |||
+ | ただし、スペースを節約したい場合など、Newsboat が特定の記事をダウンロードしないようにしたい場合は、 |
||
+ | {{ic|ignore-article}} を使用することが唯一の選択肢です。 |
||
== 設定 == |
== 設定 == |
||
− | + | Newsboat は、デフォルトで {{ic|~/.newsboat/config}} または {{ic|~/.config/newsboat/config}} にある設定ファイルを介して設定できます。この設定ファイルは以下のような形式で記述されます: |
|
<config-command> <arg1> ... |
<config-command> <arg1> ... |
||
+ | |||
+ | === カラースキーム === |
||
+ | |||
+ | パッケージには、{{ic|/usr/share/doc/newsboat/contrib/colorschemes/}} に多数のスキームが同梱されており、次のように include コマンドでロードできます。 |
||
+ | |||
+ | include /usr/share/doc/newsboat/contrib/colorschemes/inkpot |
||
+ | |||
+ | === 追加オプション === |
||
設定ファイルにはコメントも付けられます。コメントの先頭には {{ic|#}} 記号をつけて、以下行末までコメントになります。空白が含まれた設定引数を入力する必要があるときは、クォート {{ic|"}} を使って引数全体を括って下さい。外部コマンドの出力を設定に組み入れることも可能です。バッククォート {{ic|`}} で囲まれたテキストはシェルコマンドとして評価され、その場所にはコマンドの出力が入ります。Bourne 互換シェルのバッククォートと同じように使うことができ、外部の情報を設定の中で使えるようになっています。 |
設定ファイルにはコメントも付けられます。コメントの先頭には {{ic|#}} 記号をつけて、以下行末までコメントになります。空白が含まれた設定引数を入力する必要があるときは、クォート {{ic|"}} を使って引数全体を括って下さい。外部コマンドの出力を設定に組み入れることも可能です。バッククォート {{ic|`}} で囲まれたテキストはシェルコマンドとして評価され、その場所にはコマンドの出力が入ります。Bourne 互換シェルのバッククォートと同じように使うことができ、外部の情報を設定の中で使えるようになっています。 |
||
78行目: | 196行目: | ||
設定例は [https://gist.github.com/anonymous/42d2f5956e7bc8ee1ebc] と [http://moparx.com/configs/newsbeuter/] を見て下さい。 |
設定例は [https://gist.github.com/anonymous/42d2f5956e7bc8ee1ebc] と [http://moparx.com/configs/newsbeuter/] を見て下さい。 |
||
− | {{Note|設定コマンドの完全なリストは、man |
+ | {{Note|設定コマンドの完全なリストは、{{man|1|newsboat|CONFIGURATION COMMANDS}} を見て下さい。}} |
+ | |||
+ | == ヒントとテクニック == |
||
− | == ヒント == |
||
=== フィードの自動リロード === |
=== フィードの自動リロード === |
||
+ | |||
[[cron]] や [[systemd]] を使うことで自動的にフィードをリロードすることができます。crontab に行を追加するか、systemd のサービス/タイマーのコンボを作って以下のコマンドを実行してください: |
[[cron]] や [[systemd]] を使うことで自動的にフィードをリロードすることができます。crontab に行を追加するか、systemd のサービス/タイマーのコンボを作って以下のコマンドを実行してください: |
||
93行目: | 213行目: | ||
reload-time <desired number of minutes> |
reload-time <desired number of minutes> |
||
+ | |||
+ | === フィードを並行ロードして更新を高速化する === |
||
+ | |||
+ | デフォルトでは、Newsboat は {{ic|~/.newsboat/urls}} 内のエントリを順番に更新しようとします。ただし、次の設定では、一度に n 個ずつ並行して更新されます。nはお好みに合わせて調整してください。 |
||
+ | |||
+ | reload-threads 100 |
||
=== 記事の URL を外部のコマンドに渡す === |
=== 記事の URL を外部のコマンドに渡す === |
||
+ | |||
外部のコマンドに記事の URL を渡すハックです。newsbeuter で記事を開くときのブラウザを設定する macro を使って他のコマンドのパスを利用して、その後、元の macro に戻します。 |
外部のコマンドに記事の URL を渡すハックです。newsbeuter で記事を開くときのブラウザを設定する macro を使って他のコマンドのパスを利用して、その後、元の macro に戻します。 |
||
102行目: | 229行目: | ||
{{Note|マクロを使うときは、まず {{ic|,}} キーを押してからキーバインドを押して下さい。上の例の場合、{{ic|,}} + {{ic|y}} と入力します。}} |
{{Note|マクロを使うときは、まず {{ic|,}} キーを押してからキーバインドを押して下さい。上の例の場合、{{ic|,}} + {{ic|y}} と入力します。}} |
||
+ | |||
+ | === 副題 === |
||
+ | |||
+ | ユーザーが副題を追加してフィードをより効率的に並べ替えることができる、もう 1 つの小さなハックがあります。このハッキングには、次のように偽のフィードを {{ic|urls}} ファイルに追加することが含まれます。 |
||
+ | |||
+ | ---Heading--- |
||
+ | |||
+ | {{Note|{{ic|---}} 文字はオプションですが、見出しを識別する何らかの文字があるとスタイル設定に役立ちます。}} |
||
+ | |||
+ | 次に、{{ic|~/.config/newsboat/config}} に次の 2 行を追加します: |
||
+ | |||
+ | highlight feedlist "---.*---" ''COLOR_OF_YOUR_CHOOSING'' default bold |
||
+ | highlight feedlist ".*0/0.." default default invis |
||
+ | |||
+ | {{ic|''COLOR_OF_YOUR_CHOOSING''}} を [https://newsboat.org/releases/2.24/docs/newsboat.html#_cconfiguring_colors newsboat がサポートする色] に置き換えます。 |
||
+ | |||
+ | このトリックは、{{ic|---Heading---}} を次のように置き換えることでタグと対話することもできます: |
||
+ | |||
+ | "query:---Heading---:tags # \"Tag\"" |
||
+ | |||
+ | 次に、見出しの下にあるすべてのフィードに {{ic|Tag}} をタグ付けします。 |
||
== トラブルシューティング == |
== トラブルシューティング == |
2023年11月24日 (金) 03:39時点における最新版
関連記事
プロジェクトのウェブページ より:
- Newsbeuter はテキストターミナル用のオープンソースの RSS/Atom フィードリーダーです。Linux, FreeBSD, macOS などの Unix ライクなオペレーティングシステムで動作します。Newsbeuter は設定が自由自在で優れた機能を多数備えていることから、全てキーボードで動作できる高速かつスマートなフィードリーダーを望んている人にうってつけです。
Newsbeuter の開発は中止され、フォークされて newsboat が生まれました。[1]
インストール
newsboat は公式リポジトリからインストールできます。開発版は newsbeuter-gitAUR または newsboat-gitAUR パッケージでインストールできます。
使用方法
Newsboatは、設定済みのフィードなしでは起動できません。 フィードは、~/.config/newsboat/urls
で構成できます。
インストールしたら、コマンドラインから newsboat を起動することができます:
newsboat
ナビゲーションはとてもわかりやすいものになっています。キーバインディングの完全なリストは man ページを見るか、newsbeuter の中から ?
キーを押して下さい。
フィードの管理
フィードの追加・削除・タグ管理は全て urls ファイルの編集で行います。デフォルトでは ~/.config/newsboat/urls
に存在します。
フィードの追加・削除
URL を追加するには、~/.config/newsboat/urls
をお好きなテキストエディタで開いて、一行ごとに URL を追加します:
http://rss.cnn.com/rss/cnn_topstories.rss http://newsrss.bbc.co.uk/rss/newsonline_world_edition/front_page/rss.xml
ユーザー名/パスワードを入力しないとアクセスできない URL を追加するときは、以下のようにしてユーザー名/パスワードを指定します:
http://username:password@hostname.domain.tld/feed.rss
ユーザー名とパスワードが流出しないように、~/.config/newsboat/urls
には適切なパーミッションを設定してください。
また、Newsbeuter は URL に含まれているユーザー名とパスワードをユーザーインターフェイスに表示しません。ユーザー名に @ が含まれる場合、ユーザー名・パスワードとホスト名を区切る @ と区別が付くように %40 を使ってください。
ローカルのファイルをフィードとして設定することもでき、その場合はローカルパスの前に file://
を付けて ~/.newsbeuter/urls
ファイルに追加します:
file:///var/log/rss_eventlog.xml
フィードを削除したいときは、urls ファイルからそのフィードの行を消して下さい。
フィードのタグ管理
全てのフィードにはタグを割り当てることができます。タグ付けすることでフィードのカテゴライズが簡単になるだけでなく、一度に複数のフィードを対象としてコマンドを適用することができるようになります。
通常、~/.newsbeuter/urls
ファイルには一行ごとに一つの RSS フィードの URL を記述します。RSS フィードにタグを付けるには、スペースやタブなどの空白で区切って、単語を後ろに付け加えて下さい。タグの中に空白を入れたいときは、タグをクォート (") で括って下さい (下の例を参照)。例:
http://blog.fefe.de/rss.xml?html interesting conspiracy news "cool stuff" http://rss.orf.at/news.xml news orf http://www.heise.de/newsticker/heise.rdf news interesting
上記のように設定したら、newsbeuter を起動してから t
を押すことでタグを選択できます。"news" タグを選択した場合、3つの RSS フィード全てが表示されます。もう一度、t
を押して "conspiracy" タグを選択すると、http://blog.fefe.de/rss.xml?html
の RSS フィードしか表示されなくなります。Ctrl-T
を押すとタグの選択が解除され、全ての RSS フィードが表示されるように戻ります。
特殊なタグ
フィードのカスタム名称
urls ファイルで特殊なタグを使うことでフィードの名前を定義することができます。タグの名前の前に ~
記号を付けると、タグの名前がフィードの名前になります。例:
http://rss.cnn.com/rss/cnn_topstories.rss "~CNN Top stories"
上記の設定で "CNN Top stories" がフィードの名前として定義されます。
非表示のフィード
タグの名前の前に !
を付けることで、そのフィードを通常のフィードのリストから非表示にすることができます。例:
http://rss.orf.at/news.xml "!ORF News (hidden)"
非表示フィードのコンテンツはクエリしないかぎり表示されません。
クエリフィード
カスタムフィードは、いわゆる クエリフィード を作成することで既存のフィードから作成できます。クエリフィードと記事を照合することによって生成されるフィードです。クエリフィードは、通常のフィードと同様に、~/.config/newsboat/urls
ファイルで定義されます。
構文は次のとおりです:
query:FEEDNAME:FILTER_EXPRESSION [TAG ...]
通常のフィードと同様、クエリフィードには FEEDNAME
という名前があり、フィードリストに表示されます。
FILTER_EXPRESSION
のフィルター式言語は、newsboat マニュアル で定義されています。
クエリフィードには、通常のフィードと同様に、オプションでタグを付けることができます。フィードのタグ付け を参照してください。
基本的な例
~/.config/newsboat/urls
"query:Example1:age > 1" "query:Example2:(tags # \"example2\") and (title =~ \"example2\")" "query:Example3:(rssurl =~ \"example3\") or (total_count > 3)"
最初の例では、1 日以上前の記事をすべて含む Example1
という名前のフィードを定義します。
2 番目の例では、フィードに example2
のタグが付けられたすべての記事を含む、Example2
という名前のフィードを定義します。
記事タイトルが example2
と一致する "および" ここで、#
は 含む 演算子です。
3 番目の例では、フィード URL が一致するすべての記事を含む、Example3
という名前のフィードを定義します。
正規表現 example3
または 3 つ以上の記事を含むフィードの一部であるすべての記事。
未読の記事
すべての未読記事を含む 未読記事
という名前のフィードを作成するには、次のように定義します。
~/.config/newsboat/urls
"query:Unread Articles:unread = \"yes\""
複数のフィードを 1 つに統合する
クエリフィードは、複数のフィードにコンテンツが分散されているクリエイターをフォローする場合に有効に使用できます。クエリフィードを使用すると、すべてのコンテンツを 1 か所に統合できます。
~/.config/newsboat/urls
"query:Metafeed:tags # \"metafeed\"" https://feed.url/1 metafeed ! https://feed.url/2 metafeed ! https://feed.url/3 metafeed !
コツは、個々のフィードに一意のタグを割り当てることです (ここでは metafeed
を使用しました) これにより、フィルター式で照合できるようになります。また、個々のフィードがフィードリストに表示されないように、非表示のフィード (各フィードの末尾にある !
) を使用します。
特定のフィードのフィルタリング
フィードに表示したくないコンテンツが含まれている場合は、クエリフィードを使用してフィルタリングできます。 たとえば、関心のあるパッケージの更新を監視するには、次のコマンドを使用できます。
~/.config/newsboat/urls
"query:Package Updates:(tags # \"packageupdates\") and (title =~ \"linux [0-9]|newsboat\")" https://archlinux.org/feeds/packages/ packageupdates !
これで、このフィードには、linux と newsboat の更新のみが表示されます。
記事を無視する
クエリフィード と同様に、フィードをフィルタリングするもう 1 つの方法は、~/.config/newsboat/config
で ignore-article
コマンドを使用することです。次の構文があります
ignore-article FEEDURL FILTER_EXPRESSION
例
~/.config/newsboat/config
ignore-article "https://feed/url1" "content =~ \"tele(phone|communications)\"" ignore-article "https://feed/url2" "title =~ \"text_1|text_2\""
最初の例では、コンテンツが一致する https://feed/url1
内のすべての記事を無視します。
tele(phone|communications)
2 番目の例では、タイトルが text_1|text_2
と一致する https://feed/url2
内のすべての記事を無視します。
無視モード
クエリフィードによるフィルタリングとは対照的に、Newsboat では、ignore-article
コマンドに一致する記事をどう処理するかを決定できます。記事を削除したり、表示しなかったりすることができます。
~/.config/newsboat/config
# ignore-mode "download" # Default: Delete them. # ignore-mode "display" # Do not show them.
クエリフィードとの比較
純粋なフィルタリングに関して言えば、ignore-article
で実行できることはすべて、クエリフィード でも実行できます。
クエリフィードは ~/.config/newsboat/urls
ファイルで定義され、ignore-article
コマンドは ~/.config/newsboat/config
に配置されます。したがって、すべてのフィード関連のものを 1 か所にまとめておきたい場合は、次のようにすることをお勧めします。
ただし、スペースを節約したい場合など、Newsboat が特定の記事をダウンロードしないようにしたい場合は、
ignore-article
を使用することが唯一の選択肢です。
設定
Newsboat は、デフォルトで ~/.newsboat/config
または ~/.config/newsboat/config
にある設定ファイルを介して設定できます。この設定ファイルは以下のような形式で記述されます:
<config-command> <arg1> ...
カラースキーム
パッケージには、/usr/share/doc/newsboat/contrib/colorschemes/
に多数のスキームが同梱されており、次のように include コマンドでロードできます。
include /usr/share/doc/newsboat/contrib/colorschemes/inkpot
追加オプション
設定ファイルにはコメントも付けられます。コメントの先頭には #
記号をつけて、以下行末までコメントになります。空白が含まれた設定引数を入力する必要があるときは、クォート "
を使って引数全体を括って下さい。外部コマンドの出力を設定に組み入れることも可能です。バッククォート `
で囲まれたテキストはシェルコマンドとして評価され、その場所にはコマンドの出力が入ります。Bourne 互換シェルのバッククォートと同じように使うことができ、外部の情報を設定の中で使えるようになっています。
ヒントとテクニック
フィードの自動リロード
cron や systemd を使うことで自動的にフィードをリロードすることができます。crontab に行を追加するか、systemd のサービス/タイマーのコンボを作って以下のコマンドを実行してください:
/usr/bin/newsbeuter -x reload
もしくは、以下の設定をすることで Newsbeuter の起動時にフィードを全て自動的にリロードするように設定することもできます:
auto-reload yes
上記の設定をすると、Newsbeuter は定期的に自動リロードを行います。デフォルトでは60分に設定されています。自動リロードの間隔は以下のように設定できます:
reload-time <desired number of minutes>
フィードを並行ロードして更新を高速化する
デフォルトでは、Newsboat は ~/.newsboat/urls
内のエントリを順番に更新しようとします。ただし、次の設定では、一度に n 個ずつ並行して更新されます。nはお好みに合わせて調整してください。
reload-threads 100
記事の URL を外部のコマンドに渡す
外部のコマンドに記事の URL を渡すハックです。newsbeuter で記事を開くときのブラウザを設定する macro を使って他のコマンドのパスを利用して、その後、元の macro に戻します。
例えば、youtube のチャンネルを購読して mpv で動画を開きたい場合、以下のように設定します:
macro y set browser "mpv %u" ; open-in-browser ; set browser "elinks %u"
副題
ユーザーが副題を追加してフィードをより効率的に並べ替えることができる、もう 1 つの小さなハックがあります。このハッキングには、次のように偽のフィードを urls
ファイルに追加することが含まれます。
---Heading---
次に、~/.config/newsboat/config
に次の 2 行を追加します:
highlight feedlist "---.*---" COLOR_OF_YOUR_CHOOSING default bold highlight feedlist ".*0/0.." default default invis
COLOR_OF_YOUR_CHOOSING
を newsboat がサポートする色 に置き換えます。
このトリックは、---Heading---
を次のように置き換えることでタグと対話することもできます:
"query:---Heading---:tags # \"Tag\""
次に、見出しの下にあるすべてのフィードに Tag
をタグ付けします。
トラブルシューティング
Newsbeuter が起動しない
何もフィードを設定していないと Newsbeuter は起動しません。以下のようなエラーが表示される場合:
Error: no URLs configured. Please fill the file /home/ak/.newsbeuter/urls with RSS feed URLs or import an OPML file.
#フィードの管理 を見て URL を追加してください。
上記が問題ではない場合、おそらく newsbeuter の別のインスタンスが実行中です。Newsbeuter はデータベースにロックをかけるため一度にデータベースにアクセスできるインスタンスは一つのみとなっています。そのため、インスタンスを2つ開こうとしてもできません。