2009/01/17

readbook

2008 年末に作った useaws.rb をマーシャルデータ化しコマンドでリスト表示できるものを作っていた 2009 お正月、
本屋で平積みになっていた「読書は1冊のノートにまとめなさい」を購入したところ useaws.rb はこの本のいう「読書ノート」だけにフォーカスしていたことに気付かされた。
ちょうど、コマンドでリスト表示させるものを作り始めていたものの「索引のデジタル化」を読んでとてもよい刺激を受けた。
P97 読書ノート
P125 索引のデジタル化

このふたつを意識した読書管理プログラム(ローカル内で)を ruby 1.9.1 で作成してみた。

% mybook h
Usage: ./readbook-run.rb  [option] [EAN|ISBN|keyword|number]

Option:
  a	: get amazon data.
  fadd	: get amazon data followed text file.
  l	: list. sort adddate.
  last	: list. sort enddate
  r	: remove item.
  u	: update item.
  s	: search item with keyword.
  f	: text search with keyword.
  h	: help

...

# エイリアス myboook は実行権限のあるファイルのエイリアス。
# optparse.rb はよく分からなかったので使っていない。いつかは使ってみたい。よって help は手書き。

1) 本を登録

% mybook a 978xxxxxxxxxx

or
~/Desktop/mylist.txt に ISBN を一行づつ記入しておいて

% mybook fadd ~/Desktop/mylist.txt

でまとめて登録。

2) 一覧表示

% mybook l
1. [ Book][         -][-][                -] 読書は1冊のノートにまとめなさい 100円ノートで確実に頭に落とすインストール・リーディング | 奥野宣之
2. [ Book][         -][-][                -] プログラミングRuby 第2版 言語編 | Dave Thomas / Chad Fowler / Andy Hunt (田和 勝 / まつもと ゆきひろ)
3. [ Book][         -][-][                -] アップルを創った怪物―もうひとりの創業者、ウォズニアック自伝 | スティーブ・ウォズニアック (井口 耕二)
----
3 items

# 右から # 左から 表示番号, [group][読了日][メモや感想の有無][ジャンル] タイトル|著者や訳者名

3) 数日後「アップルを創った怪物」を読み終えたら

% mybook s アップル

or

% mybook s 2009

などで検索。
候補が1つだけの時はいきなりオプションを聞いてくるので(複数の時は番号を選択後)英語のオーを入力してリターンキーを押すと、テキストエディット.app が起動し登録時に自動保存したテキストファイルが開く。読了日やジャンルや感想などを入力し保存。テキスト編集後にアップデートすると読了一覧表に反映される。
# オプションの種類
# c 詳細表示
# o テキストファイルオープン
# u アップデート
# r 削除

4) 一括アップデート

% mybook u all
: Updated アップルを創った怪物―もうひとりの創業者、ウォズニアック自伝.
: Saved List.

# 個別にアップデートしたい時は検索後オプションで u を選ぶ。

5) 読了一覧

% mybook last
1.	[ Book][2009-01-03][+][   Computer,Apple]	アップルを創った怪物―もうひとりの創業者、ウォズニアック自伝 | スティーブ・ウォズニアック (井口 耕二)
----
1 items

# last は読了したものだけを 読了日昇順に。
# l (小文字のエル) は登録しているものすべて(conf で設定した行数分だけ)を登録した昇順に。

6) 数日後or何ヶ月後 テキストファイルから「あの単語」を検索したくなったら、

% mybook f あの単語
1,  ...
2,  ...
----
2 items

: Please Select Number: [num/n]:
1

: Selected "たのしいRuby 第2版 Rubyではじめる気軽なプログラミング"

: open[o] cat[c] update[u] remove[r] stop[n]. Please Select Option:[o/c/u/r/n]:

s で検索した場合と同様に番号を入力するとオプションを聞いてくるのでオプションを選択する。キャンセルは n or リターンキー

+++ note +++

ruby と ruby1.9 についてまだまだ未熟者がつくったものです。
なんだこれ?とかこういう機能がほしい思われる箇所があればご自由に書き換えご使用ください。私の Mac と ruby と ruby 1.9.1 に関する知識不足からそういった箇所はたくさんあるかもしれません。なんだこれ?を発見しましたらご一報などいただければ幸いです。
see: doc/README-UTF8.txt

勇気とRuby と Ruby 1.9.1 に興味のある方はどうぞつかってみてください。またご自由に加筆修正してください。

ダウンロードはこちら。 詳細は下記リンク
http://www.midore.net/readbook/ReadBook.html
http://github.com/midore/readbook

1, Mac OS X 10.5.6
2, ruby 1.9.1 のインストール
ruby 1.9.1 (2008-12-30 patchlevel-0 revision 21203) [i386-darwin9.6.0]
を使用しています。
3, エディタの設定カスタマイズ
が必要です。

# ちなみに 世の中には Books というすばらしいアプリケーションがあります。

+++ 追記 ++++

「読書は1冊のノートにまとめなさい」の著者の奥野氏は「読書ノート」は手書きでノートにしたためることを前提としています。パソコンに保存されたデータの危うさには注意せよとも言っています。しかし、私としてはまさにここ(感動をしたためるとか重要箇所引用のページ数を記すとか)をパソコン管理したくて useaws.rb を作った経緯があったのでどうしてもそれをはずことはしたくなかったのでした。

奥野氏が言われているようにテキストエディタよい、という意見にはたいへん共感しました。OS X が提供するテキストエディタがいいかどうかは別として、日本語を入力するためには何不自由なく使えるようだし、環境設定をカスタマイズすることで確実に UTF-8 で編集/保存が可能だったのでテキストエディットを使うことを前提としてみました。emacs などお使いの方も一行書き換えるだけで使えるはずです。詳細は help をご覧ください。

--imported_from
http://www.midore.net/daybook/2009/01/1232118005.html

+++ 追記 +++
2010-02-06

2009年夏以降 Amazon AWS の仕様変更に伴い、
github.com/midore/readbook
は動かなくなりました。それ以降つくるのをやめています。
Amazon の新しい仕様にのっとって作った(2009/08)ものはこちら。github.com/midore/amazon-jp-api

関連する記事
"Amazon"ラベルがついた全ての記事

関連する記事
"readbook"ラベルがついた全ての記事

0 件のコメント: