Hatena Diary Writer Wrapper
注:このエントリは随時更新中です
はてなダイアリーライター(通称はてダラ)のラッパーとなるコマンド、はてなダイアリーライターラッパー(長い)というのを作りました。
tyru/hatenadiary-writer-wrapper · GitHub
はてダララッパー(なんか微妙・・・)はgitみたいなスクリプトで、
とりあえず今は下の様なコマンドを持ってます。(随時追加予定)
注:いくつかのコマンドは追加モジュールが必要です。いずれモジュールも一緒に付けるつもりです。
注:from Rakefileと書いてあるものは、id:kosekiさんが書いたRakefileの同名のコマンドからアイデアをいただきました。なので「rake コマンド」で同様のことが可能です。(一部引数を拡張したものあり)
- init
- status
- from Rakefile
- アップデートされたファイルをリストアップ
- update
- from Rakefile
- release --trivial(-t)と一緒
- touch
- diff
- gen-html
- テキストファイルからHTMLを生成
- 元々これがやりたかった
- Text::Hatena が必要
- update-index
- テンプレートファイルを元にindex.htmlを作る
- 詳しくはヘルプ参照(例も載せてある)
- HTML::TreeBuilder, HTML::Template, DateTime, Time::Local が必要
- help
- ヘルプメッセージ表示
- version
- バージョンメッセージ表示
- chain
- verify
- 重複した日付のテキストファイルがないか確認
- いずれその他のチェックもする予定
- apply-headline
- ファイル中の見出しを取ってきてそれをつけたファイル名に変更します
- 例えば「2009-08-03.txt」というファイルにHeadLineとHeadLine2という見出しがあれば、「2009-08-03-HeadLine-HeadLine2.txt」というファイルにリネームされる
- 何個も見出しがついた日は予想外に長くなる可能性が
- 「YYYY-MM-DD.txt」形式に戻すオプション追加予定(今思いついた)
- load
- その他実装してないコマンド
- タグや見出しを操作するコマンド
またそれぞれのヘルプは
$ perl hww.pl help <コマンド>
とすれば見られます。
いくつかのコマンドではまだヘルプを書いてなかったり更新してないものもありますが・・・
(ヘルプは lib-hww/pod/ 以下にpod形式で置いてあります)
いくつかのコマンドではディレクトリを受け取れるようになってます。
hw.plでは、入っているディレクトリの設定を変えるには設定ファイル(config.txt)を変更する必要があったので、いくつかのダイアリーを持っていた場合にいくつかの設定ファイルを書く必要があったのが、はてダララッパー(やっぱ微妙・・・)では引数として受け取れるようにしました。
指定されるとconfig.txtの設定を上書きします。
(元の設定ファイルは変更されません。あくまでコマンド実行中にというだけです)
一部のコマンドでは対応できてないものもあると思いますが、対応する予定です。
(それかhww.plのオプションとしてつければいいですね。今気づきました)
ダウンロード
gitを持ってるなら
$ git clone git://github.com/tyru/hatenadiary-writer-wrapper.git
でダウンロードできます。
gitを持ってないなら
- tar版
- zip版
のどちらかで僕がlatestというタグを最新版のものにするのを忘れてなければ最新版のものをダウンロードできるはずです。
気を付けること
gitのようにhww.pl本体のオプションとコマンドのオプションがあるので注意。
コマンドは「引数で一番最初のオプションでない文字列」です。
もう少し正確に言うと「引数で一番最初の最初が'-'でない文字列」のことを言います。
ややこしいですね。例を見ると分かるかと思います。
# twitter-textというディレクトリをテキストファイルの入ったディレクトリとして指定して # twitterグループにアップロード $ perl hww.pl -g=twitter release twitter-text
上のを
$ perl hww.pl -g twitter release twitter-text
としてしまうと「twitter」がコマンド名として見なされてしまうので注意。
tips
これ以外にも実際に日記を書く際に有用なtipsなどは結城さんのHPを参照してください。