Text: 1. 基本(2)
マークアップの例と解説
1. 変数の例
<html>
<head>
<title>{Title}</title>
</head>
<body>
...
</body>
</html>
{Title} 要素の一般的な使い方。ブログ名が表示される。
2. ブロックの例
<html>
<body>
<ol id="posts">
{block:Posts}
<li> ... </li>
{/block:Posts}
</ol>
</body>
</html>
{block:Posts} は各記事を内包し、表示するブロック。1ページに表示される記事数(Cutomize - Advanced)だけ {block:Posts} の中に書かれたコードが繰り返し処理されて出力される。
3. 完全なマークアップの例
<html>
<head>
<title>{Title}</title>
<link rel="shortcut icon" href="{Favicon}">
<link rel="alternate" type="application/rss+xml" href="{RSS}">
{block:Description}
<meta name="description" content="{MetaDescription}" />
{/block:Description}
</head>
<body>
<h1>{Title}</h1>
{block:Description}
<p id="description">{Description}</p>
{/block:Description}
<ol id="posts">
{block:Posts}
{block:Text}
<li class="post text">
{block:Title}
<h3><a href="{Permalink}">{Title}</a></h3>
{/block:Title}
{Body}
</li>
{/block:Text}
{block:Photo}
<li class="post photo">
<img src="{PhotoURL-500}" alt="{PhotoAlt}"/>
{block:Caption}
<div class="caption">{Caption}</div>
{/block:Caption}
</li>
{/block:Photo}
{block:Photoset}
<li class="post photoset">
{Photoset-500}
{block:Caption}
<div class="caption">{Caption}</div>
{/block:Caption}
</li>
{/block:Photoset}
{block:Quote}
<li class="post quote">
"{Quote}"
{block:Source}
<div class="source">{Source}</div>
{/block:Source}
</li>
{/block:Quote}
{block:Link}
<li class="post link">
<a href="{URL}" class="link" {Target}>{Name}</a>
{block:Description}
<div class="description">{Description}</div>
{/block:Description}
</li>
{/block:Link}
{block:Chat}
<li class="post chat">
{block:Title}
<h3><a href="{Permalink}">{Title}</a></h3>
{/block:Title}
<ul class="chat">
{block:Lines}
<li class="{Alt} user_{UserNumber}">
{block:Label}
<span class="label">{Label}</span>
{/block:Label}
{Line}
</li>
{/block:Lines}
</ul>
</li>
{/block:Chat}
{block:Video}
<li class="post video">
{Video-500}
{block:Caption}
<div class="caption">{Caption}</div>
{/block:Caption}
</li>
{/block:Video}
{block:Audio}
<li class="post audio">
{AudioPlayerBlack}
{block:Caption}
<div class="caption">{Caption}</div>
{/block:Caption}
</li>
{/block:Audio}
{/block:Posts}
</ol>
<p id="footer">
{block:PreviousPage}
<a href="{PreviousPage}">« Previous</a>
{/block:PreviousPage}
{block:NextPage}
<a href="{NextPage}">Next »</a>
{/block:NextPage}
<a href="/archive">Archive</a>
</p>
</body>
</html>
ブロックごとに解説する。
<title>{Title}</title>
<link rel="shortcut icon" href="{Favicon}">
<link rel="alternate" type="application/rss+xml" href="{RSS}">
どのブロックにも属さない {Title} はブログのタイトルを生成する。また、{Favicon}、{RSS} はそれぞれファビコンと RSS の URL を生成する。
{block:Description}
<meta name="description" content="{MetaDescription}" />
{/block:Description}
{block:Description} の中身は Customize - Info で Description を設定していると表示される。設定した Description は {Description} で出力できる。{MetaDescription} はそれを meta タグ用に処理したもの。
なので、この部分の意味は「Description が設定されてたらそれをブログの説明文として meta タグに渡す」ということになる。
<h1>{Title}</h1>
{block:Description}
<p id="description">{Description}</p>
{/block:Description}
ブログのタイトルと説明が表示される。ブロックの中身は「Description が設定されてたらそれを p 要素に入れて表示する」ということ。
<ol id="posts">
{block:Posts}
...
{/block:Posts}
</ol>
{block:Posts} の中が一つの記事で、記事の種類によってその中のブロック(下の画像の水色の範囲)から一つだけが選ばれて処理される。

たとえばテキストの投稿であれば {block:Text} 以外のブロックは無視され、ol#posts の子として li.text が生成される。
なのでたとえば、「Chat posts なんて使わないよ」という人は {block:Chat} をまるっと削除しても何の問題もない。
{block:PreviousPage}
<a href="{PreviousPage}">« Previous</a>
{/block:PreviousPage}
ここでは「前」のページの URL を生成する {PreviousPage} を使ってアンカータグを作っている。
{block:PreviousPage} は「前」のページが存在するとき内容を表示するブロック。したがってこの部分は一番古いページ以外で表示される。