syntaxhighlighter_load

2013年3月8日金曜日

Bloggerのテンプレートを理解しようとしてみる

さて前回の記事で大嘘書いてしまいましたがその訂正もかねて更新。
いい加減にブログのデザインをどうにかしたいのでBloggerのテンプレートのコードを観察してみた。

まず、前回「BloggerのテンプレートはHTML5のXML構文(キリッ」とか言ったけど大嘘。
だってブラウザでソースみたらXML宣言ないもん。
うん、それすら確認せずにあんな恥ずかしいこと書いたわけだ。死んだ方がいいな。
正しくは「BloggerのテンプレートはXMLで記述され、それの内容を元にHTMLで出力されている。」です。
で、デフォルトで選べる「シンプル」のテンプレートはHTML構文のHTML5のフォーマットで出力されている。

以下「シンプル」のテンプレートを観察して理解したこと。

まずXMLファイルなので<img src="">とかタグを閉じないでテンプレート内に書くとしっかり怒られる。
っていうか管理画面の「テンプレート › HTML の編集」って表記は不適切&不親切だと思う。「"XML" の解析中にエラーが発生しました。」ってメッセージ出すくせに。

んで、なにやらBlogger固有の挙動をするタグが色々ある
<b:if cond='〜'>〜</b:if>
いわゆるif文っぽい。条件分岐がつかえる模様。「cond=」で分岐条件を記述するようだけど、何が指定できるのかはよくわからない。「<b:else>」なんてのもあった。

<b:skin>〜</b:skin>,<b:template-skin>〜</b:template-skin>
基本的な見た目が定義されてるブロック。スタイルシートとか。どっちがどうっていうのはちょっとまだなんとも言えない。

<b:include data='blog' name='all-head-content'/>
ヘッダー内の<meta 〜/>やら<link 〜/>やらはこの記述でまとめて呼び出されてるっぽい

<b:include data='blog' name='google-analytics'/>
Google Analyticsのコードを呼び出している模様。

<b:section></b:section>,<b:section/>
対になってるパターンと単独で閉じられてるパターンがある。
対になってる方はウィジェット呼び出す際に<b:widget>を囲う形で使われてる。
それ以上のことはまだなんとも。

<b:widget>
ウィジェットを呼び出すタグの模様。
「id」属性でどのウィジェットを呼び出すのか指定。
「locked」属性に「true」を指定すると管理画面の「テンプレート」の項目で「削除」のボタンが表示されなくなるっぽい。削除できるものには「false」が指定されている。

<macro:includable></macro:includable>
bodyタグ外に記述されている。テンプレート内で繰り返しつかう記述をまとめておくユーザー定義関数みたいなものと推測。

<macro:include></macro:include>
<macro:includable>を呼び出すタグの模様。
子要素に<macro:param />なるタグがあり、<macro:includable>に渡す引数になっていると推測。


とりあえず今日のところはこんなもので。
っていうかこのへん公式ドキュメントどこにあるんですかGoogleさん。
探してもみつからないんですけど。

追記:いちおうあった
http://support.google.com/blogger/bin/answer.py?hl=ja&answer=46888&topic=12449&ctx=topic
でもあんま詳しくない…。

0 件のコメント:

コメントを投稿

Pages - Menu