2010/07/06

mdiaryについて

mdiary はメモ帳、日記帳、ToDo管理、Blogに投稿したファイルの管理、本の管理、思いついたことをどんどん書き込んでいくだけの雑記帳 ...etc. いろいろな用途に利用できます。

[特徴]
1, ファイルタイプ
mdiary が管理する全てのファイルはテキストファイルであることを前提としています。

2, ファイル内の表記について
当初、Blogspot.com に投稿する記事を管理したかった為下記のような項目になっています。

1 --date
2 2010/07/04 Sun PM 12:40:52
3 --control
4 yes
5 --category
6 diary
7 --title
8 NewTitle
9 --content

3, 必要なもの
Mac OS X 10.6.x
Ruby 1.9.x

4, その他
自分が作成した文書(テキストファイル)は、常に統一した文書フォーマットを維持し、尚かつ素早く検索閲覧できるようにするにはどうすべきか?mdiary はこういった自問自答に対する1つの答えだったりしています。
あと、Ruby で遊ぶための口実のようなものが欲しかったというのもあります。口実が目的でもあり Ruby で遊ぶのが目的でもあり、そのあたりは曖昧模糊としています。いわゆる趣味で作ったやつなのです。
[mdiayr の使い方]
# 設定方法などはREADME を読んでください。
0) 新しい entry の作成
% diary -a 
を実行するとTerminal.app で新しいWindow が開き vim が起動します。
こんな感じです。


# 設定ファイルを編集すると vim 以外の editor に変えることもできます。
# テキストエディット.app に変更することもできます。(参照:README)

category と content を編集します。
category は,で区切ることができます。
content には test ... と記入。
編集し終えたら editor を終了し exit します。

1) リスト表示
% diary -l
1 [-] [2010/07/03 Sat PM 13:51:10] [NewTitle] (diary,mdiary)
Select [i/e/r]:

entry が1つしかない場合はすぐにオプションを訊ねられます。
entry が複数ある場合は entry 番号を選んだ後にオプション選択となります。
何も選択しないでこのまま終了する場合はリターンキーか CTRL + C で終了します。

i を選択すると entry ファイルのパスや生成時刻、カテゴリーなどをみることができます。
e を選択すると 先ほどと同じように entry ファイルを開きます。
r を選択すると 選択された entry ファイルは ~/.m_diary/trash に移動し2度とリストに現れなくなります。

2) 日時とタイトルを指定して新しい entry を作る場合
% diary -a 'お菓子ストック' -t '2010/07/30 18:00'

-a でタイトルを指定しています。
-a だけを指定し -t がなかった場合は自動的に現在の日付時刻になります。
-t は '2009/12/01 1:00:00' など過去の日付を指定することもできます。秒数もOKです。

control と content を編集します。
お菓子ストックは重要なので control を 「yes」 から 「must」 にしてファイルを保存します。



保存したらexit します。

リストをみます。
% diary -l
1 [+] [2010/07/30 Fri PM 18:00:00] [お菓子ストック] (diary)
2 [-] [2010/07/03 Sat PM 13:51:10] [NewTitle] (diary,mdiary)
Select NO:

controlを yes 「以外」にすると [-] だったところが [+] になります。

3) [+] マークがついた entry の表示
% diary -s +
1 [+] [2010/07/30 Fri PM 18:00:00] [お菓子ストック] (diary)

-s をつけると tilte, category, control を検索し該当する entry を表示します。
-s '7/30'
でも同様の結果を得られます。

お菓子も大事だけど水と缶詰も重要だったことに気づきました。
2つ目のentryを追加します。
% diary -a 水と缶詰のストック -t '2010/07/30 18:00'
2
Same name file is exist.

先ほどと全く同じ時刻を指定しまった為エラーになりました。
時刻を少し変え 18:10 にすると entry を追加できます。
% diary -a 水と缶詰のストック -t '2010/07/30 18:10'

水と缶詰も重要なので
editor でcontrol を 「yes」 から 「must」 に変えておきます。

[+] の entry を検索します。
% diary -s +
1 [+] [2010/07/30 Fri PM 18:10:00] [水と缶詰のストック] (diary)
2 [+] [2010/07/30 Fri PM 18:00:00] [お菓子ストック] (diary)

4) 今日の日付を持つ entry の表示
% ./test.rb -today
1 [-] [2010/07/03 Sat PM 13:51:10] [NewTitle] (diary,mdiary)
です。

5) 検索について
-s をつけると category, title, control, date 内を検索します。
-st をつけると content 内を検索します。
-today は今日の日付のentry を検索します。

6) 予定の entry の追加
来月になったら思い出すべき事柄があったとします。
未来の日時を指定して entry を追加します。
% diary -a 'Watch TV' -t '2010/08/19 23:00'

editor で編集します。
プラスマークを検索した時に表示させたいので control を 「yes」 から 「enjoy」 にしておきます。
category を TV,music にします。
content に .... 要注意! と記入しファイルを保存し editor を終了します。


リストで来月(現在:2010/07/03) のentry をみるためには -d 2010-08 をつけます。
% diary -d 2010-08 -l
1 [+] [2010/08/19 Thu PM 23:00:00] [Watch TV] (TV,music)
Select [i/e/r]:

-d がない限り、今月の entry 「だけ」を表示します。
# ToDo : 今月の entry しかリストにあらわれないのはやっぱり不便かな...と考え中です。
(コンピュータの日付が8月以降になれば  % diary -l  と打つと 2010年08月の日付をもつentry があらわれます。)

7) content の検索
content の内容に'要注意'という単語が含まれているentry を表示します。
% diary -d 2010-08 -st '要注意'
1 [+] [2010/08/19 Thu PM 23:00:00] [Watch TV] (TV,music)
Select [i/e/r]:

検索する時も -d で検索する月を指定します。-d がなければ今月の entry 内だけを検索します。
# 私のmdiary を vim で検索してみたところ
% diary -s vim
1 [-] [2010/07/02 Fri PM 22:57:36] [vim-practice-autocommand] (vim)
2 [-] [2010/07/02 Fri AM 10:00:00] [vim-practice-filetype] (vim)
3 [+] [2010/07/01 Thu PM 23:00:00] [safari.scpt] (vim, SnowLeopard)

めんどい時は最初から grep などを使ってください。# え"

+++ memo +++
実際の放送予定
2010/08/19 Thu PM 23:30:00

0 件のコメント: