L
次のページ
H
前のページ
U
上のページ

« iBlog のようにブラウザでプレビュー | Main | 検索のワイルドカード »

2006年08月03日

ローカルプレビュー時の公開プロセス

先日のエントリ「iBlog のようにブラウザでプレビュー」で書いた方法を利用するときの私の公開プロセスを紹介します。

環境

このブログは アップル .Mac で Thingamablog を使うことがテーマです。ですから Mac OS X で Thingamablog を使用して WebDAV サーバ、特に iDisk に公開するという状況です。Mac OS X でなかったり WebDAV サーバでないときは、エッセンスを汲み取ってアレンジしてくださいね。

更新 Ping のために、それができるアプリケーションが要ります。なくても大丈夫な気もするのですが、いまいちわからないところがあったのでアプリケーションに頼りました。頼ったのは ぶろっぐぴんぴん for Mac (2004/01/14 更新) - PIROBLOG です。

概要

Automator で公開用のアプリケーションを作成します。そしてそれを Dock や Script フォルダに入れておいてマウス操作で起動します。私は複数のブログを Thingamablog で公開している(秘密のテストブログも含めて三つ)ので、そういうアプリが複数になります。Dock だと場所をとるので Script フォルダに入れています。

Automator によるワークフローには次のアクションをその順序で設定します。

  1. [アプリケーション]-[Finder]-[指定されたサーバを取得]
  2. [アプリケーション]-[Finder]-[サーバへ接続]
  3. [アプリケーション]-[Finder]-[指定された Finder 項目を取得]
  4. [アプリケーション]-[Finder]-[Finder 項目を開く]
  5. [アプリケーション]-[Automator]-[シェルスクリプトを実行]
  6. [アプリケーション]-[Automator]-[確認を求める]
  7. [アプリケーション]-[Automator]-[シェルスクリプトを実行]
    ぶろっぐぴんぴん for Mac で更新 Ping を送るブログが一つだけのときは必要ありません。
  8. [アプリケーション]-[Finder]-[指定された Finder 項目を取得]
  9. [アプリケーション]-[Finder]-[Finder 項目を開く]

以下にそれぞれのアクションについて詳細を述べます。完成すると自動で iDisk をマウントし、rsync でブログをアップデートしながらその様子がコンソールで表示され、ユーザに確認を求めた上で更新 Ping のアプリを起動します。

1. [アプリケーション]-[Finder]-[指定されたサーバを取得]

[+] ボタンを押して iDisk の URL を一つ登録します。http://idisk.mac.com/.Macアカウント名/ です。AFP や SMB あるいは WebDAV 一般など書き込み可能でマウントできる URL でないとなりません。

2. [アプリケーション]-[Finder]-[サーバへ接続]

特に設定することはありません。

前のアクションと繋がっていることを確認してください。繋がっていなければ [URL] と書いてある右上のところをクリックして [前のアクションからの結果を使用する] にチェックを入れてください。

3. [アプリケーション]-[Finder]-[指定された Finder 項目を取得]

[+] ボタンを押して Macintosh HD > Library > Logs > Console > 自分のユーザID > console.log を選んでください。

自分のユーザID というのはローカルユーザに割り当てられたもので Mac OS X が内部的に使用する番号です。最初に登録したユーザは 501 で、そこから一つずつ増えていきます。番号を知らなくても他のユーザのユーザ ID のフォルダは選択できないので特に迷うことはないと思います。

右上にある [ファイル/フォルダ] のところで前のアクションと繋がらないようにしておきます。そこをクリックして [前のアクションからの結果を無視する] にチェックを入れてください。

4. [アプリケーション]-[Finder]-[Finder 項目を開く]

特に設定することはありません。

前のアクションと繋がっていることを確認してください。繋がっていなければ [ファイル/フォルダ] と書いてある右上のところをクリックして [前のアクションからの結果を使用する] にチェックを入れてください。それから [このアプリケーションで開く] で [デフォルトのアプリケーション] が選択されているのも確認してください。

5. [アプリケーション]-[Automator]-[シェルスクリプトを実行]

[シェル] で [bash] を選んでください。そしてシェルスクリプトの内容は次のようにします。

/usr/bin/rsync --recursive --update --delete --verbose プレビューフォルダ 公開フォルダ >> /dev/console 2>&1
プレビューフォルダ

Thingamablog によるブログの設定の [一般]-[ベースパス] の値が入ります。ただし最後にスラッシュは入れないでください。

公開フォルダ

マウントされた iDisk 上のフォルダです。ブログのフロントページが入るフォルダの一つ上を指定してください。例えばこのブログでしたら /Volumes/yuji_okamura/Sites/DotMac/t/ としています。最後にスラッシュを入れてください。

右上にある [テキスト] のところで前のアクションと繋がらないようにしておきます。そこをクリックして [前のアクションからの結果を無視する] にチェックを入れてください。

6. [アプリケーション]-[Automator]-[確認を求める]

公開先のアップデートが終わった後、更新 Ping をするかどうかを尋ねる文言を入力します。私は上の段に“更新 Ping を送信しますか?”、下の段に“送信する場合は [OK] ボタンを押してください。”と入れています。

右上にある [任意] のところで前のアクションと繋がらないようにしておきます。そこをクリックして [前のアクションからの結果を無視する] にチェックを入れてください。

7. [アプリケーション]-[Automator]-[シェルスクリプトを実行]

これは ぶろっぐぴんぴん for Mac で更新 Ping を送るブログが一つだけのときは必要ありません。複数あるときはそのプレファレンスを切り替えるためにこのアクションを使用します。

準備が必要です。まず ぶろっぐぴんぴん for Mac を使用して当該のブログ限定の更新 Ping の設定をします。Thingamablog で設定していてある更新 Ping 先は Thingamablog の user.xml に書いてあります。user.xml は Thingamablog で [ファイル]-[データベースを開く] としたときに選択するファイルです。その中から更新 Ping 先を探すには次のようにします。

  1. 当該ブログの設定の先頭を探す。

    次のように書いてある箇所が先頭です。

    <TBWeblog title="ブログの名前"
  2. 当該ブログの更新 Ping 先のリストを探す。

    1 で見付けた行より後ろの最初の <PingServices> から </PingServices> までがリストです。

  3. 更新 Ping 先の情報を読み取る。

    2 で見付けたリストの中の WeblogsDotComPing 要素が一つ一つの更新 Ping 先の情報になっています。その要素の name 属性が更新 Ping 先の名称、url 属性が更新 Ping 先の URL、enable 属性が有効かどうかです。enable 属性の値が true のときは有効、false のときは無効です。

    この属性達はそのまま ぶろっぐぴんぴん for Mac の設定値です。ぶろっぐぴんぴん for Mac では更にブログの名前とブログの URL を入力します。これはおわかりですよね。もし不明なときは 1 で探し出した行の title 属性値、url 属性値を書き写してください。

ぶろっぐぴんぴん for Mac で更新 Ping の設定が終わったら ぶろっぐぴんぴん for Mac を終了させて設定を確定します。そうしたらホームから ライブラリ > Preferenes と辿ったフォルダの pirosy.BlogPingPing.plist というファイルをコピーして名前を変えてください。ここで作成する各公開プロセス用の ぶろっぐぴんぴん for Mac の設定ファイル群を保存するためのフォルダを一つ決めて、そこにコピーしてください。コピー先のパス名に日本語が入らないところでないとうまくいかないと思います。ファイル名は該当するブログを識別できる英数字による名前にしてください。拡張子は plist のままがいいでしょう。

アクションの [シェル] は [bash] を選択します。そしてシェルスクリプトの内容は次のようにします。

/bin/rm -f $HOME/Library/Preferences/pirosy.BlogPingPing.plist
/bin/ln -s コピーした設定ファイル $HOME/Library/Preferences/pirosy.BlogPingPing.plist
コピーした設定ファイル

準備で名前を変えてコピーした設定ファイルのパス名です。パス名がなんであるかよくわからない人は、ターミナルを起動しその画面にそのファイルをドラッグ&ドロップしてください。そうるとシェルスクリプトで使用できるパス名が書き込まれます。

これ以降、新しく更新 Ping の設定をするときは一旦、ぶろっぐぴんぴん for Mac の設定ファイル(ライブラリ > Preferenes > pirosy.BlogPingPing.plist)を削除してから ぶろっぐぴんぴん for Mac を立ち上げるようにしてください。そうしないとコピーした設定ファイルが書き換えられてしまいます。

右上にある [テキスト] のところで前のアクションと繋がらないようにしておきます。そこをクリックして [前のアクションからの結果を無視する] にチェックを入れてください。

8. [アプリケーション]-[Finder]-[指定された Finder 項目を取得]

[+] ボタンを押して ぶろっぐぴんぴん for Mac を選んでください。

右上にある [ファイル/フォルダ] のところで前のアクションと繋がらないようにしておきます。そこをクリックして [前のアクションからの結果を無視する] にチェックを入れてください。

9. [アプリケーション]-[Finder]-[Finder 項目を開く]

特に設定することはありません。

前のアクションと繋がっていることを確認してください。繋がっていなければ [ファイル/フォルダ] と書いてある右上のところをクリックして [前のアクションからの結果を使用する] にチェックを入れてください。それから [このアプリケーションで開く] で [デフォルトのアプリケーション] が選択されているのも確認してください。

  • Posted by OKAMURA at 09時32分
  • Edited on: 2006年08月03日 09時36分
  • Categories: 工夫