• 今さらCLIで今さらRSSリーダー入門

はじめに

はじめまして. ゆーとす(@u_t0s)です.

私は,大学生のころからRSSリーダーを使い始めました. 好きなブログやはてなブックマークなどの情報をまとめて確認できるので気に入っていたのですが… 無料で使用できるRSSリーダーには以下のような,制限があります. ガンガンと購読数を積み重ねた私は,制限に達してしまいました

RSSリーダー Feedly(無料版) Inoreader(無料版)
最大購読アイテム数 100 150

また,レスポンスの悪さもかなり気になってきました. そこで,今回は新たな代替RSSリーダーとしてCLIで動作する Newsboat の利用を開始したので,こちらを紹介したいと思います.

Newsboatについて

Newsboat は Newsbeuter から派生したOSSプロジェクトでターミナルで動作するTUIになります. Feedのダウンロードも(もちろんネットワーク依存ではありますが,)早く情報の取捨選択も楽に行なえます.

Figure 1: Newsboat

Figure 1: Newsboat

使用方法

インストール

brew install newsboat

sudo apt install newsboat

で可能です.

フィードの登録・削除

.newsboat/urls に、一行ごとに購読したいフィードを登録していきます.

以下のように, スペースを開けて書いた文字がタグとして登録できます.

http://b.hatena.ne.jp/hotentry.rss "Hatena"

削除するときは,ファイルからURLを削除するだけで可能です.

newsboat起動

newsboat コマンドを実行すると .newsboat

未読・既読フィードの同期について

Dropbox等のサービスと連携することでデータベースの同期も可能です. 今まで使用していたFeedly/Inoreaderと比べてユーザー体験を損なうこともありません.

~/.newsboat/cache.db をDropboxの同期フォルダに配置し, ln コマンドでシンボリックリンクを貼っておけば問題ありません.

ln -s (path_to_dropbox)/cache.db ~/.newsboat/cache.db

Newsboat は使用中データベースにロックをかけるので,複数のターミナル,PCからアクセスしないようにしてください. アクセスした場合や,同期に失敗するとデータベースの読込みに失敗し起動できなくなるので,その場合は ~/.newsboat/cache.db を削除してください.

ただし,スマホでRSSリーダーを利用していた方は要注意です. Newsboatはスマホアプリがないので,私は次に書く方法を用いてスマホで記事を確認しています.

Pocketとの連携

Pocketは「あとで読む」の代名詞とも言える有名なサービスなので説明不要と思いますが,実は事前に登録した送信用メールアドレスから本文にURLを書いて送ると記事を追加することができます.

このメールで追加機能を newsboat のマクロ機能に割り当てて上げることで,キー操作でPocketに記事を追加することができます. これを行うことで,スマホではPocketで気になった記事を読み,PC上で大量のフィードを処理することができます.

具体的には, ~/.newsboat/script/save2pocket.sh

#!/bin/bash

sendmail_with_url(){
    local url=$1
    local title=$2
    echo ${url} | mutt -s $title add@getpocket.com
}

main(){
    sendmail_with_url $1 $2
}

# url="$1"
# title="$2"
# description="$3"
# feed_title="$4"
main $1 $2

として,保存します.

newsboatの設定ファイルである ~/.newsboat/config (なければ作成してください)に

set bookmark-cmd "~/.newsboat/script/save2pocket.sh"
bind-key ^B bookmark

bookmark コマンドに先程のスクリプトを登録し,フィードを選択し「Ctrl+B」を押せば,Pocketに記事が登録されます. (Ctrl+Bはデフォルト設定です)

最後に

TUIアプリである newsboat は本当に動作が早く,情報の取捨選択を素早く行うことができます. 他にもたくさん使い道がありそうなので,今後紹介していきたいと思います.

このブログが皆さんのお役に立てると幸いです.

なにかありましたら,下のコメント欄やTwitter/Githubまでお願いします!!