Bloggerの独自タグのVariableのautomaticのtypeについてどのように使われるかの内容と公式テーマのソースコードでautomaticの内容の定義と呼び出しに用いられる変数名を取り上げる。
Variableタグの五つの基本項目
- name/変数名(半角の英数字とピリオドのみ)
- description/説明(指定なし)
- type/種別(決められたもの)
- default/初期値(type毎に指定あり)
- value/現在値(type毎に指定あり)
automaticのtypeではdefaultとvalueの二つ以外が省略できない必須項目となっている。
automaticのマークアップ例
<Variable name="startSide" description="Start side in blog language" type="automatic" default="left" hideEditor="true" />
skin内のCSSで呼び出すならば
$startSide
半角ドル($)に変数名を続けるけれどもautomaticは例外的に変数名を半角括弧(())に入れずにマークアップしなくてはならない。
その他のHTMLで呼び出すならば
<data:skin.vars.startSide/>
独自タグのdataを使って半角コロン(:)から「var.skin」に半角ピリオド(.)を挟んで変数名を続けるけれども変数名が半角ピリオドを含む場合は半角アンダースコア(_)に置き換えなくてはならない。
<b:eval expr='data:skin.vars.startSide'/>
dataは単体で別の独自タグに組み込んで使うこともできる。どんな場合でも変数名の扱いはタグのときと同じになる。
テンプレートへの出力結果の例
left
ブログに日本語などの左から右へ進む言語が設定されている場合は「startSide」の変数名から「left」の出力結果だけれども反対に右から左へ進む言語の場合は同じ呼び出し方で「right」に値が入れ替わる。
automaticの基本項目で使用可能な値
Variableタグのdefaultとvalueに何が入力できるか。
ブログの状態を定義する
- コンテンツの向き
- left:左
- right:右
automaticはコンテンツの向きに関して変数名が決められていて開始側の「startSide」と終了側の「endSide」しか使うことはできず、どんなテーマでも他の変数名が付けられることはない。
使う場合はそれぞれのVariableタグを必ず一緒に記載しなくてはならず、さもないとテンプレートが新しく保存できなくなってしまうから注意したい。
automaticで使用可能な値はdefaultとvalueが省略可能だけれどもどちらも入力してもしなくてもブログの「設定」の「ブログの言語」に対応して自動的に取られる。
例えば日本語だと左から右へ進む言語なので、「startSide」の値は「left」、「endSide」の値は「right」となる。
記載の仕方が他のtypeと違っていてCSSの場合に変数名を半角括弧に入れない。すなわち$startSide
と$endSide
という記載になる。変数名を半角括弧に入れるとテンプレートを新しく保存できなくなる。
Variableタグでautomaticの値はブログに設定された言語の進行方向に従うので、定義することはできず、当の開始側と終了側をnameで呼び出すことができるだけだ。
その他、Dynamic Views/動的ビューのテーマの表示を定義するための「blitzview」という変数名も決められてあるらしいけれども現行のテンプレートで使われてない――公式のDynamic Viewsのソースコードを確認すると「blitzview」の変数名はあるけれどもstringのtypeが使われている――から除外することにした。
automaticで追加可能な項目と値
- hideEditor:Variableの内容のテーマデザイナーへの表示
- true:表示する
- false:表示しない
Bloggerの「テーマ」の「カスタマイズ」(テーマデザイナー)でVeriableタグの内容を表示するかどうかを切り替えられる。
公式テーマのautomaticの変数名
BloggerのテンプレートのVariableタグのvalueなどを書き換えると変数名で呼び出される部分のデザインを変更できる。
全てに共通
定義済みのデザイン
- startSide
- コンテンツの開始側の値を呼び出す
- endSide
- コンテンツの終了側の値を呼び出す
automaticは変数名が決められているので、公式テーマの全てのテンプレートで同じ変数名が使われている。
コメント