www.debian.org のウェブサイトはどのように構築されているのか

Debian のウェブサイトを構成しているディレクトリおよびファイルの 「ウェブツリー」 は www-master.debian.org の /org/www.debian.org/www ディレクトリ配下にあります。 ウェブサイトはミラーされるため、大部分のページはごく普通の静的な HTML ファ イルです(つまり、CGI や PHP のスクリプトにより、動的に生成されるわけでは ありません)。

サイトは以下の三種類の内どれかの方法により生成されます。

自動アップデート(CVS のリポジトリや他のデータから、ウェブのツリーを作成 します)は、1 日に 6 回実行されます。

サイトにコントリビュートしたい場合、www/ ディレクトリ配 下に単にファイルを追加や編集するのではなく、まず ウェブマスター に連絡してくだ さい。

debwww グループは書き込み権限を含む、全てのディレクトリおよびファイル のアクセス権限があります。そのため、ウェブのチームはwwwディレクトリ のファイルを編集することができます。このディレクトリのモード 2775 は、 ディレクトリ配下に作成された全てのファイルのグループが、ディレクトリのグ ループである debwww を引き継ぐことを意味しています。debwww グループの umask は、作成されるファイルにグループの書き込み権限が与え られる 002 であることを想定しています。


ルックアンドフィール

ページにヘッダやフッタなどを追加するといった細かな作業を WML にさせる ことにより、各ページのルックアンドフィールが同じになるようにしています。 .wml のページは一見しただけでは HTML と同じに見えるかもしれませんが、 HTML は .wml 内で使用できる拡張情報の内の一つにすぎません。 ファイルを WML がフィルタに通した後には、本物の HTML ファイルが作成され ます。WML の機能の一例を挙げるとすると、例えば Perl のコードをページに含 めることができます。これにより、ほぼあらゆることが可能になります。

ただし WML は HTML コードの非常に基本的な、妥当性のチェック(時には 自動的に修正します)しかしません。 HTML コードの妥当性チェックを行うために、weblinttidy をインストールすべきです。

我々のウェブページは現在 HTML 4.01 Strict 標準に準拠していますが、XHTML に移行しようとしています。 できる限りすみやかに移行できるように、ウェブを編集する人は HTML タグを小 文字で書く、タグの終了タグを適切な場所に置く、などが強く推奨されています。

多量のページを扱う人は、最終結果が意図した物になることを確実にするテ ストが可能なため、WML をインストールすべきです。 Debian を使用しているのであれば、wml パッケージは簡単にイン ストールできます。詳細については WML の利用方法 を参照してください。

ソース

ウェブページのソースは CVS で管理されています。CVS はバージョン管理シ ステムの一つで、いつ誰が何をなぜ変更したかといったことを記録することを 可能にします。これは複数の著者がソースファイルを同時に編集する状況を管理 する場合、安心な方法です。Debian のウェブチームは比較的人数が多いため、 このことは極めて重要です。

もしこの問題に馴染みがない時には、CVS の利用方法 ページを読むと良いかもしれません。

CVS リポジトリの webwml ディレクトリの直下には、ウェブサイトの言語名 のディレクトリ、二つの Makefile 、いくつかのスクリプトがあります。翻訳さ れたサイトのディレクトリ名は小文字の英語となっているはずです(例えばドイ ツ語の場合 "german" で、"Deutsch" ではありません)。

二つの Makefile は、より重要です。一つは Makefile.common で、名前の通 り、いくつかの共通のルールが記述されており、他の Makefile にインクルード されて利用されます。

各言語のディレクトリには Makefile、WML のソースファイル、サブディレク トリがあります。ファイルおよびディレクトリ名は、リンクが正しい状態を維持す るため、全ての言語において同じです。ディレクトリには WML が利用する情報 が格納された .wmlrc ファイルがあるかもしれません。

webwml/english/template ディレクトリには、他のファイルから #use コマンドにより参照されるためテンプレートと呼んでいる、 特別な WML ファイルがあります。

テンプレートを使用しているファイルにテンプレートへの変更を知らせるた めに、Makefile に依存していることが記述されています。ほとんどのファイル は先頭に "#use wml::debian::template" 行を書いて "template" テンプレートを使用しているため、(全ファイルに共通していることは)このテン プレートに依存しています。もちろん例外はありますが。

スクリプト

ほとんどのスクリプトは、シェルスクリプトまたは Perl スクリプトです。 単独で動作するものもありますし、WML ソースファイルに統合されて用いられる ものもあります。

メインの www-master の再構築のためのスクリプトは、 Git の debwww/cron リポジトリにあります。

packages.debian.org の再構築のためのスクリプトは、 Git の webwml/packages リポジトリにあります。

手伝うには

Debian のサイトを、出来るだけ良いものにすることに興味を持っている全て の方を歓迎しています。我々のページで抜けている、Debian に関する有用な情 報をお持ちの方は、追加しますので お知らせ下さい

(画像やレイアウトについて)ページのデザインや、HTML を綺麗にしておくこ とに関しての手助けを常に必要としています。定期的にウェブサイト全体に、 下記のチェックを実行しています。

これらの実行結果のログを読み、問題があった時には修正してくれる方は、 いつでも歓迎しています。

現在のウェブサイトのビルドログは、 http://www-master.debian.org/build-logs/にあります。

英語が達者であればページを校正し、誤りは全て 我々 にご連絡ください。

他の言語を喋る場合、その言語への翻訳をお手伝いください。翻訳が既に行 われており、また何か問題がある時には、翻訳コーディネータ のリストを見て、 その言語のリーダーにその問題についてご連絡ください。ご自身で翻訳を行いた い場合は詳細は Debian ウェブページの翻訳 を 参照してください。

また、TODO ファイル もチェックしてみてください。

手伝いにならないのは

[Q] ウェブの見栄えを良くするための機能 を www.debian.org に追加したいのですが?

[A] お断りします。www.debian.org は出来るだけ利用しやすくしたいため、

[Q] よいアイデアを持っています。www.debian.org で動いている HTTPD の FOO という機能を有効にしてもらえますか?

[A] 駄目です。www.debian.org のミラーを行う管理者の負担を減らしたいた め、HTTPD の特別な機能は使いません。SSI ですら駄目です。例外は content negotiation(内容交渉)です。これは複数の言語を提供するために最適の方法だ からです。