wml の利用方法

WML とはウェブサイトメタ言語(web site meta language)のことです。WML は入力に .wml ファイルをとり、その中のあらゆる処理(基本的な HTML から Perl のコードまで何でも!)を行ない、出力してほしい結果、たとえば .html や .php を出力します。

WML のドキュメントから学ぼうとするのは易しいことではありません。実際 にはとても良くできていますが、どう動作するのか (とてもパワフルです) を理解し始めるまでは、実例から学ぶのがもっとも簡単です。Debian サイトに役立っているテンプレートファイルが見つかるかもしれません。 テンプレートファイルは webwml/english/template/debian/ にあります。

ここでは、すでに WML があなたのマシンにインストールされているものと 仮定しています。WML はDebian のパッケージとして提供されています。

WML ソースを編集する

.wml ファイルには、最初に 1 つ以上の#use行があります。 その構文を変更したり翻訳したりしてはいけません。title=の 後のように引用符で囲まれた文字列のみにしてください。この場合は出力の <title> エレメントを変更します。

ヘッダ行以外では .wml ページの大半は簡単な HTML です。 <define-tag> や <: ... : > のようなタグが出てきたら、気を つけてください。これらの記号は WML の特別なパスのいずれかで処理される ためです。詳細は以下をご覧ください。

Debian ウェブページを構築する

webwml/<lang> ディレクトリで、単純に make と打つだ けです。makefile は wml を適切な引数で呼び出すようにしてあ ります。

make install を実行すれば、HTML ファイルが構築され、 ../../debian.org/ ディレクトリに置かれます。

使用している WML の拡張機能

利用法を拡張した WML の特徴の 1 つに Perl の利用があります。私たちの ページは動的なページではないことを思い出してください。Perl は HTML ページが生成されるとき、上手く、そして好きなように動作するよう利用され ています。ページ中でどのように Perl を使っているかの 2 つの良い事例は、 メインページでの最新ニュースの項目一覧の作成と、ページ最下部の多言語 ページへのリンクの生成です。

私たちのウェブサイトのテンプレートを再構築するには、wml バージョン 2.0.6 以上を必要とします。英語以外の翻訳向け gettext テンプレートを再 構築するには、mp4h 1.3.0 以上を必要とします。

WML 固有の問題

マルチバイト言語では文字セットを正しく扱うために、.wml ファイルに対 する特別に前処理もしくは後処理が必要になるかもしれません。これは webwml/<lang>/Make.lang 中の該当箇所 WMLPROLOG 変数および WMLEPILOG 変数を 変更することによって行なえます。WMLEPILOG のプログラムの 動作によっては、WMLOUTFILE の値を変更する必要があるかもしれ ません。
例として日本語や中国語用のファイルを見てください。