1.10において記事削除時に致命的なバグが発生することを発見しました。1.11にアップデートしてください。アップデート時の注意(ver1.03以前)デフォルトでロードされる設定ファイルがconfig.yamlになりました。お手数ですが、setting.yamlをconfig.yamlリネームしてください。はじめにadiaryWriterは結城浩氏が開発した「はてなダイアリーライター」のadiary専用版であり、フリーの簡易投稿Rubyスクリプトです。「簡易投稿スクリプトって何?」という方は次の簡易投稿スクリプトとはを、「導入してみようかな」という方はダウンロード、インストール、設定をそれぞれ参照してください。簡易投稿スクリプトとは簡易投稿スクリプトとは、ブログを更新する際に行う定型化した作業を、ユーザの代わりに自動で行ってくれるスクリプトのことです。ここでは、adiaryを例に取って説明します。普通、adiaryに記事を投稿するには、以下のような手順を踏む必要があります。投稿完了!ところが、簡易投稿スクリプトadiaryWriterは、手順5「記事を書く」と手順6「投稿する」以外の作業を自動で行い、投稿時間を短縮します。投稿完了!また、adiaryWriterはパソコン内に保存されている記事を投稿するので、記事のバックアップも簡単に出来ます。ダウンロードダウンロードは以下からどうぞ。(アップデートはaw.rbのスクリプトをそのまま上書きするだけでOKです。(2008/09/19)インストールadiaryWriterはRubyスクリプトです。したがって、Rubyをインストールする必要があります。Rubyをインストールしてください。次に、adiaryはWWW::Mechanizeを使用しているので、WWW::Mechanizeをインストールする必要があります。mechanizeと入力すればインストールされるはずです。2009/01/20)WWW-Mechanizeの仕様がバージョン0.9.0から大幅に変わりました。WWW-Mechanize-0.9.0ではadiaryWriterを利用出来ません。現在adiaryWriterをWWW-Mechanize-0.9.0に対応させる予定はありません。したがって、WWW-Mechanizeをインストールする場合は以下のように古いバージョンを指定してください。0.8.3これで準備は整いました。上記のファイルをダウンロードして解凍し、以下のファイルがあるか確認してください。2008/08/21)adiary1.44~2.003まで対応を確認しています。2008/08/29)aw.rbをコピーして古いバージョンに上書きしてください。設定方法は、2種類あります。スクリプトファイルaw.rbに直接記入する方法と、設定ファイルdata/config.yaml(旧称:setting.yaml)に記入する方法です。どちらの方法であっても、必須設定を記入すれば使用出来るようになります。以下にそれぞれの方法を纏めたので、お好きな方を参照してください。必須設定#文字コード#'EUC'、'SJIS'、'UTF8'、'NONE'のいずれかで指定してください。'書き換えが必要です'ファイルの文字コードです。WindowsならSJIS、Linux、UnixならEUCを選択すれば問題ないでしょう。#adiary側の文字コード#'EUC'、'UTF8'、のいずれかで指定してください。'書き換えが必要です'adiary側の文字コードです。adiaryはEUC版とUTF版の2種類が配布されています。したがって、文字化け起こしたら、もう片方を選択すれば大丈夫なはずです。それでも文字化けが起こったら、上の文字コードを見直してください。'書き換えが必要です'ブログのURLです。このブログの場合、http://junthr.blog.abk.nu/になります。URLを改変していなければ、http://www.example.com/adiary/adiary.cgi/のように、adiary.cgiも含めて記入してください。'書き換えが必要です'ログイン用のIDです。下はログイン画面ですが、ここのIDの部分に記入するものを入れてください。'書き換えが必要です'ログイン用のパスワードです。上の図でpassの部分に記入するものを入れてください。'書き換えが必要です'日記帳用のIDです。URLを改変している場合は空にしてください。旧称シングルユーザーモードで使用している場合も同様です。'書き換えが必要です'アップローダーのURLです。このサイトの場合、http://junthr.blog.abk.nu/uploader.cgi/になります。*1任意設定#アップロード出来る画像の拡張子#小文字で入力してください。'png']アップロードできる画像ファイルの拡張子です。種類を増やしたい場合は、ここに追加してください。adiaryの本体側でも許可を与える必要があります、#アップロード出来るファイルの拡張子#小文字で入力してください。'wmv','flv','mp3']アップロードできる書庫ファイルの拡張子です。種類を増やしたい場合は、ここに追加してください。adiaryの本体側でも許可を与える必要があります。8*1024*1024アップロードできるファイルサイズの上限です。デフォルトでは8MBとなっています。アップロード出来るファイルサイズを増やしたい場合は、ここに記入してください。adiaryの本体側でも増やす必要があります。'./data/config.yaml'設定ファイルを指定しなかった場合にロードされる設定ファイルです。yaml形式で記述してください。'./data/pkey_title.dat'記事番号とタイトルを保存したファイルです。必要な場合を除いて改変しないでください。'./data/touch.dat'adiaryWriterを起動した時刻を記録したファイルです。必要な場合を除いて改変しないでください。'./data/cookie.dat'ログインして得られたクッキーを記録したファイルです。必要な場合を除いて改変しないでください。'./backup'投稿した記事が邪魔になった場合に、それらを格納しておけるフォルダのパスです。このフォルダに記事を格納しておくと、もし同じファイル名(タイトル)の記事を投稿した場合、記事を上書きするかどうかの確認を行います。#バックアップフォルダの使用#true、falseのいずれかで指定してください。false上記のバックアップフォルダを使用する場合はtrueを代入してください。#ImageMagickの使用#true、falseのいずれかで指定してください。falseImageMagickを使用して画像を縮小出来る場合はtrueを代入してください。#記事ファイル側のタイムスタンプの変換#true、falseのいずれかで指定してください。falseはてなダイアリーライターでもあった、時刻記法をファイル側にも反映させるかどうかの設定です。使用する場合はtrueを代入してください。#記事ファイル側の画像・ファイルのURLの変換#true、falseのいずれかで指定してください。false画像ファイルや書庫ファイルのURLを変換するかどうかの設定です。この設定をtrueにすると、adiaryWriterのアップロードオプションを使用した時、ファイル側に記述された[awup:hogehoge.jpg]などという文字列が、と変換されます。adiary:this]を記事ファイル側にも反映#true、falseのいずれかで指定してください。false関数実装タグhttp://junthr.blog.abk.nu/junthr/00を記事側にも反映させる場合はtrueを代入してください。'.txt'記事ファイルとして扱う拡張子を変更したい場合は変えてください。"日記を書く"スケルトンファイルの「日記を書く」という部分を変更している場合は変えてください。falseYYYY-MM-DD.txtというファイルを投稿した時、タイトルを、"YYYY/MM/DD"にします。#{$VERSION}"ユーザエージェントを変更したい場合は変えてください。#処理間隔時間#サーバの処理が遅い場合は数値を上げてください。0.5連続して記事を投稿した時に処理が遅くなった場合は数値を上げてください。書き換えが必要ですファイル側の文字コードです。SJIS、EUC、UTF8、NONEのうちどれかを記入してください。書き換えが必要ですサーバー側の文字コードです。EUCまたはUTF8を選択してください。書き換えが必要ですブログのURLです。このブログの場合、http://junthr.blog.abk.nu/になります。URLを改変していなければ、http://www.example.com/adiary/adiary.cgi/のように、adiary.cgi/も含めて記入してください。書き換えが必要ですログイン用のIDです。下はログイン画面ですが、ここのIDの部分に記入するものを入れてください。書き換えが必要ですログイン用のパスワードです。上の図でpassの部分に記入するものを入れてください。書き換えが必要です日記帳用のIDです。旧称シングルユーザーモードで使用している場合も同様です。書き換えが必要ですアップローダーのURLです。このサイトの場合、http://junthr.blog.abk.nu/uploader.cgi/になります。pngアップロードできる画像ファイルの拡張子です。種類を増やしたい場合は、ここに追加してください。wmvアップロードできる書庫ファイルの拡張子です。種類を増やしたい場合は、ここに追加してください。adiaryの本体側でも許可を与える必要があります。100KBアップロードできるファイルサイズの上限です。デフォルトでは100KBとなっています。アップロード出来るファイルサイズを増やしたい場合は、ここに記入してください。記述方法にはKBとMBが使用できます。adiaryの本体側でも増やす必要があります。./data/pkey_title.dat記事番号とタイトルを保存したファイルです。必要な場合を除いて改変しないでください。./data/touch.datadiaryWriterを起動した時刻を記録したファイルです。必要な場合を除いて改変しないでください。./data/cookie.datログインして得られたクッキーを記録したファイルです。必要な場合を除いて改変しないでください。./backup投稿した記事が邪魔になった場合に、それらを格納しておけるフォルダのパスです。このフォルダに記事を格納しておくと、もし同じファイル名(タイトル)の記事を投稿した場合、記事を上書きするかどうかの確認を行います。false上記のバックアップフォルダを使用する場合はtrueを代入してください。falseImageMagickを使用して画像を縮小出来る場合はtrueを代入してください。falseはてなダイアリーライターでもあった、時刻記法をファイル側にも反映させるかどうかの設定です。使用する場合はtrueを代入してください。false画像ファイルや書庫ファイルのURLを変換するかどうかの設定です。この設定をtrueにすると、adiaryWriterのアップロードオプションを使用した時、ファイル側に記述された[awup:hogehoge.jpg]などという文字列が、[image:user_id:hogehoge.jpg:hogehoge.jpg]と変換されます。false関数実装タグ[adiary:this]を記事側にも反映させる場合はtrueを代入してください。.txt記事ファイルとして扱う拡張子を変更したい場合は変えてください。日記を書くスケルトンファイルの「日記を書く」という部分を変更している場合は変えてください。falseYYYY-MM-DD.txtというファイルを投稿した時、タイトルを、"YYYY/MM/DD"にします。Mechanizeユーザエージェントを変更したい場合は変えてください。0.5連続して記事を投稿した時に処理が遅くなった場合は数値を上げてください。hoge.txtと入力すれば、hoge.txtが投稿/更新/削除されます。ファイル名に空白がある場合は、"(ダブルクオート)で括ってください。*.txtと入力すれば、aw.rbと同じフォルダの中にあるtxtファイルが投稿/更新/削除されます。(configfile)と入力すれば、dataフォルダ内にあるconfig.yamlの設定をロードして、aw.rbと同じフォルダの中にある全ての投稿用拡張子のファイルが投稿されます。configfileに設定ファイルを指定すると、その設定ファイルをロードして投稿します。指定しなかった場合は、./data/config.yamlが使用されます。-csと入力すれば、aw.rbの設定が表示されます。(configfile)と入力すれば、設定ファイルの設定が表示されます。(configfile)に設定ファイルを指定すると、同様にconfigfileの設定が表示されます。使用上の注意ライセンスついてadiaryWriterはGPLのもとによって配布されているライブラリWWW::Mechanizeを使用しています。したがって、このスクリプトもGPLが適用されます。ファイルの上書きとファイル名使用禁止文字についてadiaryWriterはファイル名によって記事が投稿されたかどうかを判断しています。したがって、同一ファイル名の記事が既に投稿されていた場合、adiary側の記事が上書きされてしまいます。同じタイトルで投稿したい場合は、一行目に[TITLE:hoge2]などと記入すれば、adiary側のタイトルはhoge2になります。"など)についても同様に[TITLE]オプションを使用してください。]をファイル側にも反映する場合は、一度投稿し、再度ファイル側を編集し、もう一度投稿すれば反映されるようになります。2008/08/21)原因不明のバグです。今の所解決の目処が立たないので仕様だと思ってください。対処法adiary側で1つでも記事を投稿すれば、adiaryWriter側でもログイン出来るようになります。自己責任でご利用くださいライセンス上、そうなります。2008/08/21)お手数ですが、件名を「adiaryWriterのバグ」として下記のメールアドレスにメールをお送りください。]がスケルトンファイルやシステムによって反映されないことがある。2008/08/21)二度目にアップロードされた同一名のファイルがエラーとして処理されない。2008/08/21)http://junthr.blog.abk.nu/adiarywriterからも参照できるようになりました。2008/08/21)http://d.hatena.ne.jp/textfile/20080819/adiaryInformationadiary用の簡易投稿スクリプト(Ruby)を公開しています。