ChangeLog形式のテキストをEvernoteに変換

以前GoogleノートブックをEvernoteに変換するツールを公開した際に、qkeiさんからコメントいただいたChange-Logの変換ツールを作ってみました!
(まだqkeiさんがこのブログを見てくれているのかどうかも怪しいですが・・・)

とはいえChangelogを調べてみたところ、これはある決まったフォーマットではなく思想に近いものであることがわかりました。
(こんな風に書くといいですよ、的な感じ)

なので使用する個人によって形式がばらばらです。
このソフトでは下記のChange-Log(Change Memo)記入様式を基本とし、変換することができます。

いますぐダウンロードしたい方はこちら

基本的な書式

2009-01-01 12:34:56 Taro Nihon <taro@example.com>

* 今日はいい天気だった
* 昨日は曇りだった

書式の内容

●ブロックの始まり

日付[ ]時刻[ ]記入者名など[ ]<メールアドレスなど>

例:) 2009-01-01 12:34:56 Taro Nihon <taro@example.com>

先頭にスペースを空けてはいけません。

この行を見つけると「ブロック」として認識を開始します。
この下に続く本文に対して、日付、記入者の名前を付けていきます。

また時刻は必須ではありません。
時刻がない場合は現在の時刻を割り当てます。

次に記入者名の読み取り
「記入者名を読み取る」オプションが

■チェックされている場合
Evernoteのノートの終わりそれぞれに
記入者:Taro Nihon <taro@example.com>
と入ります。

■チェックされていない場合
項目の内容のみになります。

■日付の形式

この日付の形式が一番困りました。
なにしろ付ける人によって完全にばらばらです。
とはいえ変換できないでは話になりませんから、ある程度のフォーマットに絞り変換します。
標準的な付け方にはほとんど対応できるはずです。

日付のフォーマットは下記の様式に柔軟に対応します。
しかし下記のいずれかでない場合は変換ができません。
その場合、本日に日付に置き換えられます。
——————————————————–
2009-01-01(年、数字の月、日)
2009-JAN-01(年、英語の月、日)
英語の形式は1月ならJAN, JANUARY(大文字小文字は関係なし)に対応できます。

01-01-2009(日、数字の月、年)
01-JAN-2009(日、英語の月、年)

またそれぞれの区切り文字は / や空白でもOK

変換できない例:
01 JAN 12:00:00 2009 (日、月、時間、年)

不可思議なのはこの形式ですが、使っている人がいるようです。いったいどのような利便があるのだろうか・・・
——————————————————–

●項目の始まり

[インデント]*[文章]

例:)    * 今日はいい天気だ。

インデントをとり、アスタリスク(*)で始まる行を見つけると項目として認識を開始します。インデントはいくつかのスペース、タブ文字などに対応しています。(スペースの行、タブの行が混在していてもかまいません。)

この項目はEvernoteのノート1つ分になります。
上記の例ですと、Evernoteに「今日はいい天気だ。」というノートが一つはいります。
その作成日付は先ほどのブロックの日付になります。
上記の例ですと2009年1月1日 12:34:56にノートが作成されたこととなります。

また項目の途中の空白行は下部のオプションのスイッチにより動作が変わります。

たとえば以下のような構成があったとします。

*今日はよい天気です。
(空白行)
でも午後は曇るようです。

空白行は文字ゼロの行(スペース、タブなども存在しない)です。

「空白行で項目の区切りとする」オプションが
■チェックされている場合
項目は完全に空白の行(スペースも何もないゼロ文字の行)を見つけると
終了します。

「今日はよい天気です。」のみがノートになる。

■チェックされていない場合
「今日はよい天気です。

でも午後は曇るようです。」

がノートになります。

ダウンロードはこちら

ChangeLog to Evernote 変換ツールのダウンロードはこちらからどうぞ。