
*Malon Note

MalonNote は、ちょっとしたメモをすばやく保存・検索できるようにするアプリケーションです。
メモデータはテキストデータで保存されるので Malon Note が気に入らなくなってしまっても
情報を流用することができます。

Wiki を知っている方は「ローカル一人 Wiki」のようなものと思っていただければ良いと思います。
Wiki の影響を強く受けていますのでデータ形式もWiki 互換となるようにしました。


*インストール方法

**Mac の場合
mnote.app(あるいはmnote)のアイコンをアプリケーションフォルダにコピーしてください

**Windows の場合
mnote.exeを任意のディレクトリにコピーしてください

**UNIXの場合
mnoteを任意のディレクトリにコピーしてください


*使い方

**初めて使用する場合
初めて起動する場合、メモデータを保存するディレクトリを訪ねてきます。
お好みの空ディレクトリを指定して下さい。


**検索
1行入力用のテキストボックスに検索文字列を入力して、リターンキーを押すと
検索文字列を親として、検索結果がツリー状に表示されます。


**新しいメモの作成
メニューから「New」を選択してください。


**メモの削除
削除したいメモをツリーから選択し、メニューから「Remove」を選択してください。
メモに対応するファイルも一緒に削除されます。


**検索結果の削除
削除したい検索文字列をツリーから選択し、メニューから「Remove」を選択してください。
データファイルは削除されません。


**メモの件名修正
修正したいメモをツリーから選択し、件名を再度クリックしてください。

**保存
明示的な保存手順はありません。
アプリケーションの終了とツリー上でメモを選択した際に
自動的に保存されます。


*メモフォーマット

基本的にフリーフォーマットですが、最初の4行は
以下のフォーマットを崩さないようにしてください。

:''DATE'':YYYY/MM/DD HH:MI:SS

:''TYPE'':メモの種別（任意の単語。/で区切ることも可 例:memo/todo/参考）
----
本文

また、Wikiとの互換性を保つため本文には以下のような
Wikiテキスト整形フォーマットを推奨します。

※Malon Noteでは整形機能が実装されていませんので
  単なるテキスト表示になります。
　将来はリンク機能を実装する予定です。d

・連続した複数行は連結されます。
・空行は段落の区切りとなります。
・行頭がスペースで始まると、その行はそまま表示されます。
・シングルクォート２個ではさんだ部分は、ボールドになります。
・シングルクォート３個ではさんだ部分は、イタリックになります。
・アスタリスク(*)を行頭に書くと、大見出しになります。
・アスタリスク2個(**)を行頭に書くと小見出しになります。
・-を行頭に書くと箇条書きになります。
・http://www.maloninc.com/のようなURLは自動的にリンクになります。
・file://hoge.txtのようなものも自動的にリンクになります。
・[[]]でくくった文字列は他のメモを検索するリンクになります。


*TODO

-リンク機能の実装
-メニューなどの日本語翻訳
-分類機能


*バグの報告

**メールでの報告
バグを発見した場合には以下のメールアドレスまでご連絡ください。

    hiroyuki@maloninc.com

また、以下の点について記載していただけますと大変助かります。

・OSの種類とバージョン（例: MacOS X 10.2）
・バグの事象を再現させる方法（例：同じ文字で検索を何回か繰り返すと強制終了する）

以下のファイルを取得できる場合は添付していただけますと非常に助かります。
・Windowsであれば、C:\Documents and Settings\All Users\Documents\DrWatson\drwtsn32.log
・MacOS Xであれば、/User/あなたのユーザー名/Library/Logs/CrashReporter/mnote.crash.log
・UNIXであれば、coreファイル

**sourceforgeを使える方
以下のURLからバグトラッカーへ登録していただけます助かります。
http://sourceforge.jp/projects/malonnote/tracker/


*開発者向けの情報

**GUIライブラリ
Macだけではなくて、UNIXやWindowsでも稼動させるためにクロスプラットフォームのGUIライブラリであるwxWidgets(旧名:wxWindows)を
使用しています。wxWidgetsについては以下のURLを参照してください。

-wxWindows本家
http://www.wxwindows.org/

-wxWindows日本語プロジェクト
http://wxwindowsjp.sourceforge.jp/

-wxWidgets でクロスプラットフォーム GUIアプリを作ろう
http://namazu.org/~satoru/pub/uu-2004-08/
※このサイトを見て初めてwxWidgesを知りました。高林哲さんに感謝。

**設計思想

MalonNoteを構成するオブジェクトはMVC(Model-View-Controller)モデルで
作られています。
筆者のMVCモデルの理解を以下にまとめます。

-Model（ロジック）
    アプリケーションロジックを担当する。
    ただし、データの表示方法については実装しない。（それはViewの役割）

-View（表示）
    Modelの状態を表示する。また、ControllerからModelの状態変更通知を受けた場合には
    再表示する。
    ViewはModelの状態を変更するような処理は行わない。（それはControllerの役割）

-Controller（イベント処理）
    Viewで発生したイベントに応じてModelの状態を変更し、Viewへ状態変更を通知する。


**各クラスの機能

-mnModelクラス（Model）
    メモデータであるWikiファイルやデータの管理と検索結果の管理を行います。

-mnFrameクラス（View）
    mnModelの内容（状態）を画面（ツリーやテキストボックス）に表示します。

-mnControllerクラス（Controller）
    mnFrame上で発生したイベントに応じてmnModelの状態を変更したり、
    mnFrameへmnModelの状態変更を通知する役割を担います。

*謝辞
-高林哲さんに感謝。wxWidgetsの記事を書いていただかなければ、MalonNoteは存在しなかったでしょう。
-Hitomiさんに感謝。りんごちゃんのアイコンを生み出してくれました。

