Kaku 1.0 リリース


Kaku 1.0 を公開しました。ダウンロードや操作方法については 紹介ページ をご覧ください。

なぜ Kaku を作ったのか

「出力ファイル名」を設定したい

以前にも何度か書きましたが、Kaku を作ろうと思ったきっかけは、「Movable Type の記事の『出力ファイル名』を(ウェブブラウザで管理画面にアクセスするのではなく) ecto のようなブログクライアントソフトで変更したい」という、ただ一点でした。

どうしてそんなことが必要かというと、— これは、自分のブログで、固定リンクをどのような形式に設定しているかに関わる話で、僕は常々「 URL を見ただけでページの内容が分かるようにしたい」と思っているので、日付などを使わず、「/カテゴリ名/サブカテゴリ名/出力ファイル名」の形式にしていました — 「出力ファイル名」は通常、記事のタイトルをファイル名に利用できるかたちに変換して作られるのですが、記事のタイトルが日本語だった場合、タイトルの内容が無視され、「 @post_1@ 」などの意味のない名前にされてしまうのです。

しかし、国産のものが(僕が知る限りでは)存在しない Mac 用のブログクライアントソフトに、そんな機能がついているものはなく、どうしてもこの機能が欲しくて、作り始めたのが最初です。

なんとなく

これも以前書きましたが、ごく基本的な機能が出来上がっていたソースを紛失してしまい、まったく最初から作り始めることになりました。最初は、以前やったところまででいいや、と思っていた(!)のですが、途中からなんとなく、自分のできる範囲で完成させたい、と思うようになりました。

Mac 用ブログクライアントソフト界が停滞していたこと

「その停滞をぶっ壊してやるぜ!」という意気込みで作り始めた…わけではありませんが、Kaku の開発を始めた当時は、代表的なブログクライアントソフトである ecto と MarsEdit が、いずれも作者さんが他の仕事で忙しく、長い間大きなアップデートが行われていない状態であり、今後どうなっていくのかもよくわからない状態でした。それなら、自分で作ってみるのも少しは意味があるかな、と思ったわけです。

Kaku の存在意義

ecto や MarsEdit などの高機能かつ優秀なソフトが存在する中で、基本的な機能しか備えていないものを出すということにどんな意義があるかと言うと、まあほとんどないかもしれません(!)が、 フリー で、 Cocoa で、 非常にシンプル という点においては、何らかの意義はあるのではないかと思います。

…ということで、よろしければ、お試しください!

https://yusukehida.com/ppmweb/apps/kaku/

(紹介ページや Kaku のファイルはすでに数日前アップしていたのですが、週末にカゼひいていたり、そのうえに旧友が来て連日会ったりしていたので、ここでの紹介が遅くなってしまいました。申し訳ないです 汗)


“Kaku 1.0 リリース” への10件のフィードバック

  1. 素敵なアプリケーションをありがとうございます。

    私は P_BLOG の XML-RPC モジュールをメンテしているものです。Kaku を P_BLOG で使ってみたのですが、現状では過去記事の取得でエラーがでてしまいます。コンソールには “Kaku XML-RPC manager — calling method: metaWeblog.getRecentPosts” と出ています。記事の投稿はできました。

    原因を解析して、Kaku でも動くようにしたいと思っています。ecto や MarsEdit のように XML-RPC のやり取りの内容がログとして取得できると対処できるかもしれませんので、アップデートの際にログを見れる機能を付けることをご検討いただけないでしょうか。

  2. こちらこそご報告ありがとうございます。

    ログの情報が足りなかったですね。僕の作っているソフトは、こういうことが多いような…(汗) 早いうちに、もうちょっと参考になるログ情報を出すように修正させていただこうと思います。申し訳ないです。

    ただ、その点を修正したとしても、XML-RPC メソッドの呼び出しは 、AppleScript に丸投げしてやってもらっているので、実際に送受信している XML データなどを出すことは(簡単には)できないと思います。

    そこでちょっと、自分で P_BLOG を入れて確かめてみようと思うのですが(大丈夫、時間はあります 笑)、いかがでしょうか。少々お待ちください…

  3. > 実際に送受信している XML データなどを出すことは(簡単には)できないと思います。

    そうなんですか。私も AppleScript を使うのですが、AppleSCript で XML-RPC をいじったことはないので、このあたり知識不足です。

    > 自分で P_BLOG を入れて確かめてみようと思うのですが(大丈夫、時間はあります 笑)、いかがでしょうか。

    助かります。:-) P_BLOG の XML-RPC モジュールはプラグインとして別途導入する必要があるのですが、近日中に XML-RPC モジュールのアップデートを公開しますので、それを使っていただければ幸いです。

  4. 単純に AppleScript の call xmlrpc の応答結果や、エラーメッセージがわかるだけでも、解析できるかもしれません。ぜひ次回アップデートの際にはご検討ください。;-)

  5. 遅くなりました! この間にも、いろいろご指導いただいて、ありがとうございます。

    まず、metaWeblog.getRecentPosts のエラーの件ですが、こちらのミスであることが判明しました。お手数おかけして申し訳ないです。

    原因は、このメソッドに渡す記事数を、int で渡さなくてはいけないところを double で渡してしまっていたようです。

    AEXMLTutorというソフトで、エラーの起きた XML-RPC コールをもう一度実行すると、XML 形式のログが取れるのですが、それも念のためアップしておきます。

    また取り急ぎ、上記の不具合の修正と、XML-RPC メソッドを実行する際に、渡しているパラメータと、返ってきた値(いずれも AppleScript の形式)をコンソールに出力するように変更したバージョン 1.0.1b をアップしましたので、お時間が許すときに、正常に動作するか確認していただければ幸いです。

  6. 1.0.1b なんですが、エラーが出てしまって起動できません。

    AppleScrpt エラー NSInternalScriptError (8)

    というアラートダイアログが出ます。コンソールには以下のように出てました。Mac OS 10.4.9 です。

    Kaku[477] *** -[NSCFArray insertObject:atIndex:]: attempt to insert nil

  7. もしかしたら、アカウントに対応したデータがキーチェーンから消えてしまっているかもしれません。

    大変お手数ですが、初期設定ファイル「org.ppm.Kaku.plist」を削除して、再設定してみて頂けないでしょうか?

    何度も申し訳ないです。

  8. 初期設定ファイルを削除したら動きました。記事の取得は問題なくできました。だた、コンソールに

    Kaku[878] A key or value could not be handled while converting an Apple event record to an NSDictionary.

    とたくさん(記事の数だけ?)出ていました。ご報告まで。

    しばらく使用してみて、また何かあればフィードバックしますね。:-)

  9. ご報告ありがとうございます!

    Hiro さんのご報告などをもとに、近いうちにバージョン 1.0.1 を出させていただこうと思います。

    前述のエラーメッセージは、例えば metaWeblog.getRecentPosts を AppleScript 経由で実行した場合、空の項目(追記のない記事の mt_text_more など)には、なぜかアプリケーションオブジェクト( application "......xmlrpc.php" )が突っ込まれて返ってきます。そして Kaku ではそれをよく call method コマンドを使って Cocoa フレームワークに渡して処理しているので、そのとき「Cocoa の形式に変換できなかったものは消しましたよ」という報告のメッセージのようです。

    そして、これを Kaku 本体とは切り離して実験してみたところ、単に該当のデータが消える以外の「悪さ」はしていない(ちなみに「 dateCreated 」も変換できないのですが、これは消えると困るので、事前に文字列に変換しています)ようなので、今のところ放置しています(いいのか)。しかし、改善ができないか研究してみます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です