プロセルピナ
Top Internet
Mail
Private
Proxy
Capture
Device
Download Config
and
Words
Online
Help
Online
Home
[BACK]
Top > PrivateProxy > AntiAd > Edit > mixi > mixi_generatePageSpecificCss.txt

 

PROSERPINE AntiAd

mixi_generatePageSpecificCss.txt

  ページ特定CSSを作成するマクロファイル




このページでは、 mixiカスタマイズデータ(配色カスタマイズ用のgif画像とCSSのセット) を作成する手順を説明しています。

既に作成され公開されているmixiカスタマイズデータを使用するだけの場合は、 mixi画面のカスタマイズについて を参照してください。

 

mixi_generatePageSpecificCss.txt  (ページ特定CSSの一括作成)


このマクロは、cssファイルをページ単位にまとめた 「ページ特定CSS」 を一括作成します。
また同時に「ページ特定CSS」を使用する設定の
  mixi.jp.inc.txt  (mixiカスタマイズデータ設定情報)
と、この mixi.jp.inc.txt を公開するためのhtmlページ
  mixi_jp_inc_txt.html
をデスクトップに作成します。

このマクロで処理する前に、 マクロ mixi_CssAllFinisher.txt による cssファイル作成処理 が終わっている必要があります。

このマクロと 設定ファイルのサンプル(pageSpecificCss.info) は macroフォルダ にあり、自動アップデートの対象です。

 

パラメータの指定


このマクロを実行するには、パラメータに pageSpecificCss.infoファイル を指定します。
macroフォルダpageSpecificCss.infoファイルのサンプルがあるので、 それを static_cssフォルダ にコピーし、 そのコピーしたファイルをパラメータに指定します。

pageSpecificCss.infoファイルには、static_cssフォルダ からの相対位置で各cssファイルが指定されています。 マクロで使用する pageSpecificCss.infoファイルは 必ず static_cssフォルダ に置いてください

 

「ページ特定CSS」の必要性


mixiのページは、ユーザーの画面設定によって使用するcssが違っています。 各ユーザーは「mixiコレクション」で好きなデザインを選択できるので、 同じ http://mixi.jp/show_friend.pl へのアクセスでも、人によってリンクされているcssは違います。


標準以外の設定を選択しているユーザーの show_friend.pl の例


標準設定のユーザーの show_friend.pl の例


このようにリンクされるcssが設定で違ってくる場合、 cssのパス部を置換するという単純な方法(従来のカスタマイズ方法) ではcssの入れ替えはできません。
例えば、component_default.css をカスタマイズしたcss
http://example.com/lupin/static_css/basic/skin/component_default.css
を用意しても、
http://img.mixi.jp/static/css/ を http://example.com/lupin/static_css/ と置換しただけでは、
http://example.com/lupin/static_css/basic/skin/component_white.css
のリンクに変わるだけで、 component_default.css の参照になりません。
component_white.css のようなデザイン個別のcssは、選択できるデザインが増えると増えていくことが予想されます。 また、mixicollection.css ではパス自体が変化しているので、単純置換では対応できなくなっています。

そのため、『プロセルピナ』のカスタマイズでは、

ページ専用のcssファイル1つだけをリンクする
それ以外のcssファイルへのリンクは無効にする

といった処理を行います。
この2項目は、AntiAdフィルタの集合である mixi.jp.inc.txt で指定され、AntiAdでリアルタイムに処理されます。

ページ専用のcssファイルを「ページ特定CSS」と呼びます。
「ページ特定CSS」の内容は、
具体的なスタイル定義
他のCSSを取り込む @import定義
の2つに分類できます。

@import定義で取り込むcssファイルには、 マクロ mixi_CssFinisher.txt で生成したcssファイルだけでなく、 このマクロで生成する「ページ特定CSS」を指定することもできます (例: pl_cominasicoHome.css, pl_cominasico.css)。

 

「ページ特定CSS」の例


mixiの各ページと「ページ特定CSS」は1対1の関係になっています。

例えば、mixiの show_profile.pl のページからリンクされる「ページ特定CSS」は pl_show_profile.css になります。
この pl_show_profile.css には、show_profile.pl のページを表示するのに必要なcssが 全て含まれています。

pageSpecificCss.infoファイル には、ページ特定CSSの作成に関する情報が 記述されています。
例えば、pl_show_profile.css に関する部分なら次のようなものになります。



target: は作成するファイルを指定します。
次行から write: までの間に、使用するcssファイルを記述します。
先頭行が + の場合はそれ以降の文字列をそのまま書き込みます。
上記例では、pl_show_profile.css の内容は
  @import "./pl_cominasicoHome.css";
1行だけになります。

この pl_show_profile.css を show_profile.pl で使用するように指定している mixi.jp.inc.txt の記述部分は、次のようなものになります。



metaタグを乗っ取るような形でlinkタグを挿入しています。
AntiAdフィルタコマンドの詳細は SwapOnce_igCコマンド」 を参照してください。


次の例は、view_community.pl からリンクされる「ページ特定CSS」 pl_view_community.css です。
pl_view_community.css に関する pageSpecificCss.infoファイル の記述は、次のようなものになります。



この例では3行の指定があります。
1行目は先頭行が + なので、それ以降の文字列がそのまま pl_view_community.css に書き込みます。

2行目と3行目は、 cssファイル(マクロ mixi_CssAllFinisher.txt で作成したもの) を相対パスで示しています。
この場合、cssファイルの記述内容を そっくりそのまま pl_view_community.css に書き込みます。

 

pageSpecificCss.infoファイルの編集


各「ページ特定CSS」は、 pageSpecificCss.infoファイル に設定された内容に従って作成されます。
pageSpecificCss.infoファイルはテキストファイルで、 編集は自由に行えます (static_cssフォルダにコピーしたものを編集します)。
サンプルは macroフォルダ にあり、これは変更がある場合には自動的にアップデートされます。

mixiに機能追加があるときに、新しくページができたり、ページからリンクされているcssが変更されることがあります。
その場合は、そのページに対応する「ページ特定CSS」が必要になりますので、 static_cssフォルダにコピーしたpageSpecificCss.infoファイル をアップデートすることになります。
macroフォルダのサンプルが最新にアップデートされていれば それをstatic_cssフォルダにコピーしなおすだけですが、それが最新でない場合は手動で更新します。
手動で更新する場合、 ページのソースコードを見ればリンクされているcssファイルがわかるので、 それを参考に pageSpecificCss.infoファイル に新たな項目を追加したり、既存の定義を修正します。

 

mixi.jp.inc.txt (mixiカスタマイズデータ設定情報)


このマクロはデスクトップに mixi.jp.inc.txt (mixiカスタマイズデータ設定情報) を出力します。
これを『プロセルピナ』に設定することにより、 mixiのページと「ページ特定CSS」が関連付けられます。

Webブラウザでmixiにアクセスしたとき、ページがカスタマイズされて表示されるのは、 『プロセルピナ』AntiAdの機能により、 HTMLからリンクされているCSSやgifなどのURLが、 ユーザーが作成(アップロード)したデータのURLに変換されることによります。
それに関する情報(具体的にはAntiAdコマンド)が記述されているのが mixi.jp.inc.txt です。

ユーザーが使うサーバが、 画像データのアクセスでRefererヘッダを参照する仕様の場合、 mixiカスタマイズデータ設定情報RefSwコマンド を設定して対処します。
マクロ mixi_generatePageSpecificCss.txt によって作成される mixi.jp.inc.txt には、最初から RefSwコマンド が含まれていますので、特に気にする必要はありません (不要と判断できるときはその部分を削除してもかまいません)。

[BACK]
プロセルピナ