ターミナル上で使える青空文庫ビューアを作ってます

iPadを買うお金もないし電子書籍が身近になるまで何かして待っていようと思ったので、前からつくろうと思っていたターミナル上の青空文庫ビューアを作ってます。
GitHub - hibariya/azul: Azul: 青空文庫のターミナルビューア

名前: Azul(アズル、アズール)

  • できること
  • 目的
    • まだ読んでない作品を手軽に読む
    • gemの作り方の勉強
    • githubを使う何らかの理由
  • 特徴など
    • 初回起動時は少し重い
    • 出力をパイプで繋いで表示したりできる
    • 画面の色とか変えられる
    • 割と色々な場面でエラーが出る
    • 多分、UTF-8でないとうまく検索できない
    • ~/.azul とか、勝手にディレクトリを作る
    • Ubuntu(10.04), MaxOSX(10.6.4), ruby 1.8.7で動作確認してます

使い方など図解

基本的な使い方をなるべくスクリーンショットを使って説明します。

インストール

ここにある最新のgemをインストール。sudoをつけない*1方がいいかも。インストールすることでazulというコマンドが使えるようになります*2


Tabキーを何回か押せばコマンドの候補は出てきますが、 help と叩くことで日本語の説明が表示されます。


set color 0 などとすればターミナルの色が元に戻ります。azulのコマンドの出力は、パイプでつないで制御できます。

基本的な使い方

search 太宰 などと打てば、タイトルや人物名などから検索してヒットした人物一覧が表示されます。ヒットした人物が1人だけだった場合は、その人物の作品一覧が表示されます。複数ヒットした場合は take a みたいにtake [行頭の英字]と打って人物を選択すると作品一覧が表示されます。


open a みたいに open [先頭の英字]と叩くことで、(運が良ければ)本文が表示されます。そのとき、本文は大抵とても長いので、lessなどでつないであげるなどします。


その他、詳しくはこちら

これから

「ターミナルで青空文庫を読む」ということへの需要はともかく、一旦手をつけてしまった後で放棄するのも嫌なので、勉強もかねて、これから気が向いたときに徐々に改善していければなーと思っています。
あとは、中では結構泥臭いことばかりやっているので、その辺もどうにかできればなと思ってます。

その他

随所で悩みながら書いている感じなので、バグとか、設計やコードへのアドバイスなど頂ければ喜びます。

*1:~/.gemrcにgem: --user-installと追記

*2:~/.gem/ruby/1.8/bin とかにPATHが通っている必要があるかもしれません