インデックス |
表紙 i-mode版 作者紹介 使い方 冗談と嘘 実話 今週のツッコミ 映画 リンク ダウンロード |
|
私のホームページを見ていると分かるのですが、全てのページが統一されたコンテンツによって構成されています。つまり、全てのページが、
という決まった要素から成り立っているということです。またページのカテゴリ(OS/2 , OpenGL , ThinkPad等)によって、ロゴとインデックスの組みが変化しているのも分かると思います。こういった構成のホームページを簡単に管理する方法として、私は make コマンドを用いた方法をとっています。
確かに、フレームを使えばそれぞれの要素を別々のフレームに表示することで管理の問題は解決できます。しかし、フレームには以下のような問題があります。
そこで、私はフレームを用いずにホームページを上手に管理する方法を考えました。
make コマンドというのは C 言語などでプログラミングをした事のある人なら知っていると思いますが、プログラムの実行ファイル、オブジェクトファイル、ソースファイルなどを管理するためのツールです。ソースファイルが変更された時に、指定の手順に従ってターゲットファイル(プログラムの実行ファイル等)を更新(コンパイル・リンク)するのが主な機能です。UNIX
系の OS ( FreeBSD , Linux
等 ) ならフリーで手に入りますし、OS/2 でもここからフリーで取ってこれます。最近導入した
BeOS には標準でついてきました。Windovvs は、、、探してみたのですが見つかりませんでした(Cygnus には無かった)Cygnus の Cygwin を入れると使えます(追加されたらしい)。また、C言語等のパッケージには必ずといってよいほど付属してきます。
実際のホームページ管理は以下のような手順で行っています。
私は便宜上、1つのページを以下のような8種類のソースファイルに分割しています。
これらのソースファイルはホームページビルダーでテンプレートを作成した後でそれを分割・保存して作成しました。
と言っても、中身はソースファイルを順番に出力していくだけで、内容を切りかえる部分(私のページの場合はロゴとインデックス本体と本文)をコマンドの引数として渡せるようにしただけのものです。
type head.txt type %1 type but.txt type frhead.txt type %2 type frtail.txt type %3 type tail.txt
ここで引数 %1,%2,%3 はそれぞれロゴ、インデックス本体、本文のソースファイル名を与えます。例えばこのコマンドをコマンドラインから
[C:\] build.cmd logo.txt frbody.txt main.txt > index.html
というように実行してやるだけで、正しい HTML のファイルができます。また、実際に私がしているように、ホームページビルダーで文書を書いて、その HTML ファイルを本文として組み込みたいというような場合は、HTML ファイルから本文を抜き出すような処理をする必要があります。こういった処理はテキスト処理コマンド(awk 等)で簡単に実現できます。
make コマンドは実行時に Makefile というファイルを読み込み、その中に書かれているターゲットファイルとソースファイルの依存関係を参照して、更新を行います。そこで、ソースファイルを置いたディレクトリに Makefile をつくる必要があります。Makefile の構文は統一された規格が無いようですが、書く内容は大体同じで、
を所定の構文に従って書きます。私の使っている nmake (IBM の make)では次のように書きます。
all : index.html index.html: \ head.txt \ logo.txt \ but.txt \ frhead.txt \ frbody.txt \ frtail.txt \ main.txt \ tail.txt build logo.txt frboty.txt main.txt > index.html
まず、all: の後にターゲットファイルを列挙します。次にそれぞれのターゲットファイルに対して、ソースファイルを列挙します。ここで、"\" は行の継続、つまりソースファイルを列挙している行が次の行に続いていることを示しています(本当は1行に全てのソースファイルを列挙する事になっている)。ソースファイルの次の行にはソースファイルからターゲットファイルを構築するコマンドを書きます。そして、これらのファイル(ソースファイルと Makefile)のあるディレクトリで、
[C:\home] nmake
と実行してやると、ソースファイルのどれかが変更される度に対応したコマンドが呼び出されて、ターゲットの HTML ファイルが正しく更新されるというわけです。
以上が私がこのページを管理している方法です。少し凝った造りのページを手間をかけずに管理する方法として、参考になれば幸いです。
このページについてのご質問はこちらへどうぞ。
このページに用いられている3Dのロゴやボタンは全てGLlogoによってレンダリングされたものです。
このページはリンクフリーです。
著作権等についてはこちらをどうぞ。