■ ページ(セクション)の指定
各セクションの指定として
{chapter}、{section}、{subsection}... などのタグがあり
次のセクションタグが現れる所までがその節の内容になります。
引数にはname(ページの名前)、fname(ファイル名)、ipath(内部パス)
title(タイトル)、desc(説明)、hidden(サイトマップなどでの表示可否)、
skip_save(保存せず)などがあり指定が無い場合は適切な値に設定されます。
多くのケースでは各節ごとに別々のページに出力しますが
オプションの変更により異なる節でも同じHTMLに出力することもできます。
【セクションの指定例1】
{chapter name=howto title=使い方 desc=KeyNaviの使い方云々}
。。。本文。。。
かわりに「■」記号を行頭から2つ以上重ねてタイトルだけで
指定することも可能です(オプション)。
長いテキスト中ではどこがセクションの区切りになるか
判別がしやすいためよく使われます。
【セクションの指定例2】
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■{chapter name=howto title=使い方 desc=KeyNaviの使い方云々}■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
( {}記号を使わずにコンマ区切りでの指定も可能です。)
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■/path/tosave/howto,使い方,desc=KeyNaviの使い方云々■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
(更に略してタイトルのみの指定も可能です。)
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■KeyNaviの使い方■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
。。。本文。。。
パス決定に必要なオプション(name,fname,ipath)を省略した場合はZMLコンパイラ側で
適当なURLを割り当てます。
■ リンク
{lref}はサイト内リンク、{href}は外部のリンクを指定します。
【リンク:name値やURLで指定】
{lref=howto} ○リンクタイトルやパス指定が不要
{lref=howto title=トップページ} ○タイトルは指定することも可能
{lref=howto#mark showpos=1} ○ページ内リンク、包含ページ名付
{href=http://www.keynavi.net} ○リンクタイトルはURLを採用
{href=http://www.keynavi.net title=KeyNavi.Net} ○タイトル指定あり
リンク先(上の例ではhowto)
が存在しない場合はコンパイル時にメッセージが表示されます。
汎用的な{link}、{→link}マクロを作り利用することがあります。
{lref}、{href}の区別は「://」文字列の有無により内部的に行われます。
【linkマクロの利用】
{link=howto}
{link=http://www.keynavi.net}
{→link=howto}
{→link=http://www.keynavi.net}
■ 画像
画像の指定です。リサイズやカンタンな加工はプログラム側で担当させます。
【画像タグの記述例】
{fig src=foo.jpg width=100 deco="blur_8"}
上の例では幅を100pxにリサイズし周辺8pxをぼかしています。
■ リスト
リストの各項目の先頭記号には「・」を使います(デフォルト)。
【リストの記述例】
{list type="disc"}
・項目1
・項目2
・項目3
{list}
type属性にはdiscや数字などHTMLと同様の値以外に(1)、[1]
など数字と文字列の組み合わせも可能です。
一方、mark属性には一般の文字列やZMLも使用できます。
ここでは先の画像タグを使ってみましょう。
【リストのmarkに画像を使用、2列化】
{list mark={fig src=foo.gif} cols=2}
・項目1
・項目2
・項目3
{list}
上のソースのように括弧記号 { } は入れ子にすることが可能です。
コメント記号/* */についても同様です。
■ テーブル
各セルの指定には括弧 [ ] を使います。
Emacs系ブラウザを使っている場合は セルがどこで閉じてるか
表示してくれるので便利です。
【テーブルの記述サンプル:東京都の人口】
{table border=1}
[[年次 ][人口 ][増加数][増加率][人口密度]]
[[1990年][11855563][ 26200][ 0.2% ][5430 ]]
[[1995年][11773605][-81958][-0.7% ][5385 ]]
[[2000年][12064101][290496][ 2.5% ][5517 ]]
{/table}
各セルに対するHTMLオプションの指定には{opt width=100 class=...}を
カッコ内におきます。
実用的には各行ごとにマクロを定義し以下のように書くことが多いです。
【各行をマクロで指定例】
{replace name=○}
[[{opt width=100 class=foo}{$val[0]}][{$val[1]}][{$val[2]}][{$val[3]}]]
{/replace}
{■統計用テーブル}
{○ val=(1990年,11855563,26200,0.2%,5430)}
{○ val=(1995年,11773605,-81958,-0.7%,5385)}
。。。。。。。。。。
{/■統計用テーブル}
上の例では{○}タグをマクロとして定義し各行の指定をしています。
ZMLのタグ名、属性名には■や@などの記号を含め日本語使用可。
■ コメント
任意の位置(タグ内含む)、任意の階層でコメント可能です。
【任意位置でコメント可能】
/*
{list mark={fig src=foo.gif /*width=20}*/} cols=2}
・項目1
/*・項目2*/
・項目3
{list}
*/
コメント文の中にコメント文が入ったケースでも適切に処理されます。
データをCut&Pasteした場合や 長いデータをコメントした場合にも
期待通りの動作をしてくれます。
出力されるデータにはコメント内容は含まれません。
■ メニュー
{menu}タグを使います。
このページの上下のメニューリンクはこのタグにより出力されています。
100個以上のオプションがあり現在位置が分かるようリンク化の是非、
書体をBoldにする、背景を変更するなど可能です。
商用ページではテキストリンクの代わりに画像を指定するケース
が多くなっています。
■ 階層リンク
{menu}と同様、テンプレート内に記述されることが多いタグです。
■ その他のタグ
pragma,exec,xexec,if,elif,else,endif,asis,nasis,include,xinlude
expand,nexpand,replace,outfile,var,deftag,comment,
head,script,noscript,xsp,php,style,dummy,cut,strip_ws,strip_newline,
add,escape,filter,space,sp,comment,meta,link,name,lref,href,jref,a,
table,table0,table100,block,toc,
form,input,hr,br,p,nobr,wbr,h1,div,span,center,pre,b,i,s,tt,u,
font,fontstyle,fopt,
par_attr,par_name,par_fname,par_hpath,par_relpath,par_title,
par_idir,par_group,par_groups,par_spos,par_spath,par_sline,
obj_attr,obj_hpath,obj_relpath,obj_title
ipath,hpath,lpath ,...