Entry

ブログ用のシェルがあったら便利

2005年06月06日

Movable Type でエントリを作るとなると,まずブラウザを立ち上げて,ログインして,HTML の form から編集して投稿することになります。これって長文をゴリゴリ書く人にとっては,案外敷居の高いことなんじゃないかと思います。

もちろん,ブラウザで用意されているインターフェイスは GUI だから,直感的には分かりやすいものです。その意味では敷居は低いと言えるんでしょうね。けれど,投稿がルーチンワークになってくると,この作業が煩わしくなってきます。具体的には,以下のようなこと。

  • わざわざブラウザを立ち上げないと編集できない
  • 貧弱な HTML の form で編集する必要がある
  • 投稿するだけなのに,毎度のように同じ手順を踏まなくてはいけない

最後の「毎度のように同じ手順」というのは,バッチ化できそうなのに人間がわざわざやっている,という意味です。一番問題だと思っているのは2番目で,特に UN*X 系の環境の場合,便利なテキスト編集ツールがたくさん用意されているのに,ほとんど使い切ることができません。

ここら辺の話,Emacs 界隈ではもうインターフェイスを作っている方がいらっしゃって(参照:「Emacs フロントエンド『mapae』」),ある程度ブログを UN*X の側に引きつけることができています。そんなわけで,ここでの話は,それをもう少し押し進めて MT 用のシェルはできんもんだろうか,と妄想するものです。

理想はローカルでする処理とほとんど変わらない(MT サーバを意識しないで済むような)インターフェイスです。例えば,投稿するコマンドと移動のコマンド(mv)を一緒にして,

% mv entry.mt myblog/

みたいにするだけで投稿できるというもの。myblog は仮想ディレクトリで,ローカルのファイルシステム上にはありません。絶対パスはちょっと考えもんなんですけれど,

% mv entry.mt blog:///myblog/

といった感じで URI スキームみたいなモノをつけるのがいいのかな。「blog」なんてスキームはないから,このままだと規約違反になっちゃいますね。

一方,カテゴリはサブディレクトリとして表現できて,例えば,myblog の diary カテゴリに投稿したいときは,以下のようにします(注:妄想です)。

% mv entry.mt myblog/diary/

こうしてみると,同様に ls や cp なんかも実装することができそうです。パイプやリダイレクトを使えば Perl の POD や Ruby の RD なんかと連携させることもできるんじゃないでしょうか(注:妄想です)。

……と,妄想ばっかになっちゃいましたね……。

実際にこれをどうやって実装するのかを考えてみると,mapae と同じように,裏方で XML-RPC を使うのが現実的なんだと思います。XML-RPC のライブラリは,Perl や Ruby はもちろん,C でも作っている方がいらっしゃるので(参照:「XML-RPC for C and C++」),既存のシェルをゴニョゴニョやってうまく組み込むなり,新しく作るなりするのがいいのかもしれません。

この,「ゴニョゴニョやる」ってところが問題なんですけどね。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN