手軽に小綺麗なサイトを作ってみようと久しぶりに iWeb を引っ張り出してきました。
テンプレートから何となく選んで PowerPoint 並のお手軽さでそこそこ見栄えのするサイトを作れるのは小気味よいです。
しかし、気になるのが URL。
サイトやページにはもちろん好きな名前を付けられるのですが、書き出しを行うとディレクトリやhtml名がものすごいことになってしまいます。
例えば DD08CE6A-1A4D-4304-9BD8-B13F2F0E3106/ED1A3418-DD52-4727-8060-AB58F5375FF9.html とか。
なんだか16進数っぽいので日本語をなんらかの法則でエンコードしたものかと思いページ名などをアルファベット表記にしても変わりません。
ページを作成する毎にランダムなファイル名を割り振っているんでしょうか・・?
トンデモナイ仕様です。
しょうがないなーということでパス表記を一括して自動的にシンプルなものに置き換えるプログラムを書き始めました。
ちょっと書いていて太気がついたのが、ページ名を変えてもファイル名が変わらないと言うことは、ページ名からファイル名を一意に導出する方法がないということ。
ってことはどこかにページ名とファイル名をマッピングしている場所があるはず。
っていうことで探してみました。
サイトを保存する場所は特に選んでいないので、きっとユーザディレクトリ/ライブラリ/Application Support/ 以下にあるだろうと踏んだらやはりありました。
Application Support/iWeb/ 以下に Domain.sites というファイルが。
例によってファイルに見せかけてパッケージ(Finderではファイルに見えても実はディレクトリというMac独自のもの)なんだろうなーと思いつつもなんとなく TextWrangler に落としてみたら開けてしまいました。
お、巨大な xml ファイルか何か?と思ったらなんと “Disk Browser” というウインドウが開いたではありませんか!?!?
単なるテキストエディタかと思っていたら簡単なエクスプローラ的機能がついていたようです。
やはり Domain.sites はパッケージなんですが、中の階層構造を見せてくれました。
パッケージの構造を見せてくれている Text Wrangler
この中で一番怪しいのは index.xml.gz。
ダブルクリックしたら解凍してくれるかなーと思ったらなんとそのまま開いてくれました。*.gz ファイルは内部で勝手に解凍してくれて、保存時に勝手にまた圧縮してくれるようです。
TextWrangler恐るべし!無料のクセに賢い!
さすが BBEdit の血を引いているだけあります。
さて、index.xml.gz の中をフォルダ名で検索してみるとアッサリとみつかりました。
フォルダ名を記録している部分が。
iWeb を落として、この部分を好きな名前に書き換えて、再度 iWeb を立ち上げて書き出してみたら無事マトモなディレクトリ名、ファイル名になりました。
確認のためもう一度最初から・・・と検証してみたら今度は手動で index.xml.gz を書き換えるまでもなく綺麗なディレクトリ名、ファイル名で書き出されるではありませんか!!
よくよく確認してみると、最初に書き出し、または公開するときのサイト名、ディレクトリ名でフォルダ名、ファイル名が決定されるようです。
後から URL が変更されないようにということで、真っ当な仕様ですね。
難しく考えすぎました。
つまり、日本語のサイト名、ページ名を作りたいときはまず最初に英語でサイト名、ページ名を設定して書き出しを行ってから日本語に変更すれば良いということです。
また、index という名前のページがないと index.html というリダイレクト専用のダミー html が生成されます。トップページは最初 index という名前すべき。
余計なことに時間を使ってしまいましたが、TextWrangler の便利機能を発見できたので良しとします。
残念ながら zip ファイルは直接開けない模様。