D. J. Bernstein [translated to Japanese by Yusuke Shinyama, 2002-09-06]
UNIX

/doc の階層

一覧

/doc/commands.html は使用可能なコマンドの一覧になっています:
     ...
     dnsq: DNS サーバへの問い合わせ
     dnstrace: ある名前に適したすべての DNS サーバを検索する
     ...
それぞれの行は次のようなリンクになっています。
     <a name="dnstrace" href="host/cr.yp.to/djbdns/tools.html#dnstrace">...</a>...<br>
一般的には:
     <a name="cmdname" href="url">cmdname</a>: description<br>
ただし、将来的には href のあとにさらに情報が加えられるよう拡張されるかもしれません。

/doc/commands.html に似た、ほかの一覧もあります: /doc/packages.html はパッケージの一覧に、 /doc/fileformats.html はファイル形式の一覧に、 /doc/cfunctions.html は C関数の一覧になっています。

ユーザインターフェイス

お使いのブラウザで /doc/commands.html を表示させて コマンドの一覧を眺めることができます。

名前で dnstrace を検索したいときは、 /doc/commands.html#dnstrace を表示させればいいのです。

man -k foo | less に代わる実験的なスクリプトが、 slashdoc です。 これは w3m ブラウザを使っています。 slashdoc foo とタイプすると w3m を起動し foo を含むリンクのリストを 適切な順序で表示します。 man -k よりも優れているところは、 すぐにそれらのリンクをたどれることです。

/doc/merge の階層

各パッケージは /doc/commands.html の一部分だけを提供します。 たとえば、djbdns ドキュメントは /doc/host/cr.yp.to/djbdns/* とともに /doc/merge/web/djbdns/commands.html を含んでいます。 ここで、簡単なシェルスクリプト slashdoc-merge を使うと、/doc/merge/web/djbdns/commands.html の内容を /doc/commands.html に追加することができます。

/doc/host の階層

ディレクトリ /doc/host/h は インターネット上のホスト h の所有者によって 統轄されます。たとえば私は cr.yp.to を持っていますから、 /doc/host/cr.yp.to/djbdns/tools.htmlhttp://cr.yp.to/djbdns/tools.html のミラーであると決めたりできます。

Notes

web ブラウザには、roff リーダよりもずっと多くの労力がそそがれてきました。 ブラウザ互換なドキュメントを提供することで、その労力が活用できます。

どのみち、ブラウザ互換な文章は必要なのです。 なぜならユーザはパッケージをダウンロードする前に web 上で ドキュメントを読みたいでしょうから。/doc のために 唯一しなければならないことは、現存するドキュメントに いくつかのリンクをつけてパッケージングすることです。