- 2010-01-31 (日) 20:57
- MovableType


- 「blog_static_files」importerを使うには・・・
テーマを作っていて気づいたシリーズ第3弾です。
ま、今回は仕様と思われる部分なので、簡単にまとめます。
「blog_static_files」を使うと、デザイン上の画像やスタイルシートなど、今までテンプレートセットとは別にアップロード作業をしていたものを、テーマからインストールさせる事が出来ます。
最近のテーマは、スタイルシートでガンガンBackgroundImage指定してたりするので、便利な機能ですね。
ちなみに、スタティックなファイルをインストールする手段として、テーマでは2種類のものが用意されています。
一つが上で上げた「blog_static_files」importerです。インストールはブログ公開ディレクトリを基準に指定されます。ブログ公開ディレクトリのフォルダを指定して、指定フォルダ以下にある決められたファイル名のファイルをインストールします。
「標準のテーマ エレメント」に説明があります。
テーマの「blog_static」フォルダを作成して、その中に指定のフォルダを作成してファイルを配置すれば、テーマの適用でファイルがコピーされます。
blog_static_files:
importer: blog_static_files
component: core
data:
- js
これでjsフォルダ以下が自動作成されます。実はこの時に対象となるファイルの種類が存在します。「ThemeStaticFileExtensions | 環境変数リファレンス」に書いてあるように、対象ファイルは「jpg jpeg gif png js css ico flv swf」です。mt-config.cgiへのThemeStaticFileExtensionsの追記で、対象となる種類を増やす事が出来ますが、汎用的なテーマとして作成するつもりならば、この種類のファイルのみと考えたほうが良いでしょう。
またテーマ内に作成する「blog_static」フォルダは、テーマに対して「static_path: blog_static_alter」という記述をすることで別な名称(この場合はblog_static_alter)にも変更可能です。
もう一つimporterではなく、テーマ自体の機能として、無指定でスタティックファイルをインストールする機能もあります。特にテーマ内(theme.yaml)に記述しなくても、テーマ内の「static」フォルダ以下のファイルを、mt-static/support/theme_static/テーマIDにコピーします。この場合インストールされるファイルの種類は、「html」ファイルを含むなど、「blog_static_files」importerよりは広くなります。「html」ファイルがコピー出来る事で、テーマによりサーバー内にスタイルキャッチャーのスタイルリポジトリが作成できます。ただし試してみた範囲では、どうやら「php」スクリプトのような、動的スクリプトのインストールは出来ないようです。対象外となりました。
要はこのように、スタティックファイルのコピーが出来る訳です。
さて、あるサーバーに新規にMTをインストールするケースを想定してみましょうか。何が一般的かは解ってませんが、あるディレクトリを作成して、そこをブログルートにしたりしないでしょうか。そのディレクトリは、事前に作成されているでしょうか?MTをインストールして再構築する事で、ディレクトリの作成が行なわれるので、自分では作成しないと言う方は居たりしないでしょうか。実は私も良くその手を使います。
つまり、公開ディレクトリをまだ作成していない状態で、ブログの作成を行い、その時にテーマを選択して、スタティックファイルのインストールを行なおうと思った場合です。
サーバー環境(OSなど)に依存する可能性もありますが、「blog_static_files」importerは、存在しないディレクトリに対してファイルをコピーできません。XAMPPではドライブルートにファイルのコピーが行なわれてました。
ブログ作成時というのは、本来テーマ機能が持っている、様々なチェック機能が有効では無いのかもしれません。例えば、プラグイン依存関係をテーマに設定する事が可能なのですが、ブログ作成時にテーマを選択した場合(そもそもプラグイン依存関係をチェックして、プルダウンにテーマを表示させない処理が必要だと思うのですが)、問答無用でテーマの適用が行なわれます。
つまりテーマの適用は、可能ならば作成後のブログに対して適用することや、公開ディレクトリを事前に作成しておく事が必要な訳です。
- Newer >: 記事のエクスポート時に、テーマもエクスポートすると「吉」
- < Older: MT5テーマでの「default_pages」importerがイケテナイ件について
ping a Trackback
- TrackBack URL for this entry.(1)




スクリプトの読み込みが完了していません。
メールフォーム(Javascriptを使用していません)や、
Twitter経由のCommentでもReplyいたします。ただし返信はブログのコメントとして行う事もあります。