Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

esaの記事を高速で読む方法

More than 3 years have passed since last update.

https://esa.io というすばらしいWebサービスを利用しているのですが、
日々の記事を読むとき、みなさんはどうされていますか?

僕はPOSTSのリンクを一旦全部ブラウザのタブで開いていたのですが、ここで全く新しい方法の提案です。

https://github.com/ksss/esa-cli

demo

esaの記事をCLI上で読もうという試みです。

現状最新30件を取ってきて、j k l hキーで移動して、Enterで記事のmarkdownをlessで開くという動きになっています。

esa-cliを使うことによって、ブラウザを使うことなく、高速に記事を読むことができます。

API的にも最初の一回のリクエストで一ページ分すべての記事の内容を取得できるので、それをメモリ上に持っておき表示しているので高速です。

次のページを読み込むのにリクエストを飛ばしますが、一度読み込んだページはメモリの保存しているので、再度元のページに戻るのも高速です。

画像が表示されないのが難点ですが、いざとなれば記事の最初にURLをつけたので、そこからいかようにもアクセスできるかなという感じです。

もしかしたらコードハイライトとか太文字とかを駆使すればもっと読みやすくなるかも……。皆様のアイデアをお待ちしております。

https://github.com/ksss/esa-cli

余談

こういうコンソールアプリは作ったことがなくて「どうやって作るんだろう?」「なにか特別なライブラリーがいるのかな?」と思っていたのですが、
なんのことはなく、ただprint文を駆使して、文字列でがんばるだけという感じでした。
ANSIエスケープを使うと、色の変化やカーソルの移動なんかができて、
キーボードの入力も単に標準入力をよみこむイメージが基本のようです。

参考になるコード

https://github.com/mattn/cho

コードが短いので動きが把握しやすい。かなり参考になりました。

https://github.com/peco/peco

より、リッチなことがしたいとき用の調べものに。

もしかして

GitHubでもこういうのがあれば便利……?

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away