そんでもってバージョンアップ

うわぁ、ちゃんと確認してからアップしろってば。
「ただダロ」がまともに動かなくなってました。使ってる人はいないと思うんだけど、とりあえずごめんなさい。修正版を貼…ってるとなんだか自分で自分の日記を荒らしてるような気が最近してきたので、自分のページで公開しておきます。機能変更も多少あり。

はてながマスター派

id:ryoocoさんがid:ryooco:20040903で日記の書き方について書いている。「携帯や自宅、出先でそれぞれ書きたい」からダウンロードしているとのことだが、これは私の考え方、「はてなダイアリーに登録されたエントリこそがマスターである」と同じだ。
しかし現在のはてダラは、ローカルファイルがマスターという前提で作られている(さらにそこから複数のサーバのエントリを更新・ミラーという構想まである)ため、残念ながら私の考え方の上で利用するには無理がある。なので「はてダロ」を作成した。しかし、無理が多少無理になったぐらいで、やっぱりちょっと使いにくい。そうこうしているうちにはてダラは安定版となってしまった。
そこで、自分のメインの日記がtDiaryであったことから、はてダラの次のバージョンまでのリファレンス実装とすべく、まずは互換実装の「ただダラ」を作成。その後tDiary自体がRubyで記述されていることから、「ただダラ」をRubyで実装し直し、さらに「ただダロ」も作成して、はてなマスター派の理想とする解を見つけるべく開発を続けている次第である。

現状の解

ちょっと気取って書きすぎた(苦笑)まぁ、間違ってはいないです、はい。
現状の解は、やはり拙作 tdiary-mode for xyzzyhatena-diary-mode for xyzzy の様にフォームのデータを拾ってきて編集し、そのまま書き戻すになるでしょうか。それ以外の新しい発想は今のところ湧いてません。
なので、これをまずは実現させていようということになったんですが、ここで1つ問題が。xyzzy はそれ自体がエディタのため、扱うデータは xyzzy 上のみで完結しますが、はてダラの場合はデータをファイル出力するだけなのでそうも行かない。かといってコンソールからエディタを起動するのは Windows 的にはあまりスマートじゃない。
そこで考えたのが、これ。

  • ローダーで取得したデータをはてダラ形式で標準出力へ出力する。
  • 標準入力から入力したデータをライターでアップロード。

最新の「ただダラ」「ただダロ」ではこの機能が盛り込まれていて、マクロを書きさえすればエディタ上でファイルを生成することなくエントリロード→編集→書き込みを行うことも可能でしょう。

マクロ

それでは例を…と思って秀丸のマクロをいじりだしたんですが…なんだこれは。こんなに貧弱だったのか。

  • マクロ間の値受け渡しができなさそう
  • マクロ内に保持する文字列に対する操作が貧弱(正規表現すらかけられない)

これじゃ連携マクロなんてほとんど無理じゃん…やめやめ。

うだうだ書いているうちに

本家「はてダラ」がバージョンアップした模様。バグフィックスですね(id:hyuki:20040904)
設定ファイルの空行に関して動作を合わせるためにこちらもバージョンアップしておきました。Perl版「はてダロ」「ただダラ」と、Ruby版の共通モジュールが対象です。
それにしても実行モジュールかぁ…Rubyは今のところお手上げだなぁ。だれかC#で作る気とかないかしら?

Rubyの実行形式

notさんのコメントで、Rubyスクリプトを実行形式にしようという試みは結構あることを知る。そうなのか、スクリプトコンパイルはできないのでてっきり実行形式も方法がないと思い込んでました。
あとで試してみよう。
ついでに「はてダラ」「はてダロ」の標準入出力対応を作ってみようかな〜と思ってるんだけど、RubyPerlとどっちがいいだろう?Perl版の場合はパッチ配布しかできないだろうけど…。