アセットフォルダが上手く機能しない場合の原因と対処方法

RapidWeaverで作業をしているとアセット(アセットフォルダ)を使う機会が多いと思います。スニペットやプラグインで「assets/aaa.php」などの様にファイルを指定することがありますが、上手く機能しない時がたまにあります。
そういう時は、大抵FTPソフトなどでアップされたディレクトリを確認すると「assets」ではなく「index_assets」のようなフォルダ名になっていたりします。こういう時は元のコードを書き換えればいいんですけどなんかスマートじゃないですよね。

普通はアセットフォルダというのはそのページを内包するフォルダの中に作られるので、例えば「gallery/assets」などになるはずですが、他に同じ機能をするアセットフォルダが無いのに「gallery/index_assets」となる理由が分かりませんでした。
この現象に随分長く悩まされてきましたが、なんとなく解決方法がわかったような気がしたの一応メモしておきます。

RapidWeaver内に同じフォルダ名を持つページがある

これはどういうことかというと、仮に「gallery/index.html」というページがあるとします。何らかの理由でこのページを別のプラグインで作り替えた時に、削除するのが勿体ないのでページインスペクタで「有効にしない・メニューに表示しない」設定にしてとっておくことが私の場合よくあります。

この時、RapidWeaver側は以前に作ったページを出力時に優先するようで、後から作ったページのアセットフォルダを出力する際に、アセットフォルダ名が同じにならないようにフォルダ名の前にファイル名が付くようです。

よくよく考えればこの仕様は理解出来ます。なぜなら、RapidWeaverはフォルダの上書きをしないからです。同じフォルダ名で新しいページを作ってもフォルダの上書きをしないので、以前作ったページのファイルはそのまま残っています。同じフォルダ名で2つのページを作るとそのフォルダの中には2つのページのファイルが混在することになります。

長ったらしくて分かり辛い文章になってしまいましたが簡潔に解決方法を書くと…

同じフォルダ名でページを作り替える時は
旧ページのフォルダ名を別のものに書き換えておく


です。これでアセットフォルダの不具合が無くなるかもしれません。RapidWeaverのフォルダが連番で管理されているのもなんとなく理解出来ました。

blog comments powered by Disqus