|
CGI について
なんのCGI なの?
このCGI は、BLUG2/blugorig に置いてある元のファイルから、こんな風に、BLUGのリンクとかのテーブルに一気に当てはめるCGI です。
リアルタイムにCGI が反応しても良いのですが、見る人にとって遅いだろうと思います。
アップデートする人がファイルをアップして、その時だけupdate CGI を動かしたほうが、まあ良心的かなと思ったわけです。
記事を書く時の注意
日本語は、今のところ euc しか通らないです。
なぜなら、 テンプレートで文字コードを euc として指定しているからです。
CGI でコンバートすることもできるのですが、またそれは今度ということにしてください。
<body> には、バックグラウンドの色を指定してください。
さもないとデフォルトの黒バックになってしまします。
<body>で字の色を指定していても、<body*>を<td*>に変えているだけなので、デフォルトの色になってしまいます。
ちなみにデフォルトの色は、黒なので、黒字に黒で読めません。
字の色を変えるなら明示的に指定してください。
まあこれは、テンプレートのデザインが変わればデフォルトの色も変わりますがね。
絵とかイメージなどをつけるときは、リンク先のパスを、BLUG2の下から書いてください。
BLUG2/blugorig から書くと場所が違うので、表示されません。
この辺の手直しも CGI でできるはずなんですが...
とにかく今は、イメージとかのリンクには注意してください。
なんだったら、相対パスでなく絶対パスで書いても結構です。
あと、<title></title> と <body></body> だけ入れたテキスト文でもとおります。
だけども、html 文は明示的に改行しないと改行してくれないですが。
アップするときの注意
元のhtml は、BLUG2/blugorig の中に入れてください。
イメージの推奨アップ先は、BLUG2/pics です。
CGI で加工する時の材料は、BLUG2/blugorig のなかだけです。
BLUG2/blugorig に入れたものは、読み出すだけで加工はしません。
CGI で処理後 出来上がったhtml は、BLUG2の下に置かれます。
まあ、リンクさえBLUG2から書くことを守っていただければ、良いかと思います。
後は、ノブに聞いてください。
アップしたら、http://www.bijutsubu.com/cgi-bin/blug/update01.cgi をたたいてもらえれば、CGI が実行します。
実行後、ちょっとしたレポートがでます。
まだ、だれでも実行できてしまいます。そのうちに実行するのにパスワードが必要なようにします。
あと、悪意のあるhtml 文でもそのまま加工してしまいます。
SSI とかでなんか悪い事しようとしているような人はアップしませんよね。
アップできる人が何かやろうとしていたら、こんなめんどくさいCGI での加工なんかやらずに、ストレートになんか置けばいいのですからね。
何をやっているか
まず、BLUG2/Template/blugbase.html から テンプレートとして、
最初から {title} まで $tmplt01
{title} から {hombun} まで $tmplt02
{hombun} から {article} まで $tmplt03
{article} から最後まで $tmplt04
の四つを切り出します
次に、BLUG2/blugorig の中のすべてのファイルの中を覗きます。
そして<title>と</title>の間をタイトルとしてarticleに加えます。
その時にリンクも作ります。
リンクは、そのファイルがBLUG2/の下にあるように作ります。
これらを $article という変数に入れます
その後、BLUG2/blugorig のあるファイルの <body>と</body>の間から、ボディとして切り出します。($body)
同時にまた、タイトルも抜き出しておきます。($title)
そして 同名のファイルをBLUG2の下に以下の順番にプリントして書き出します。
$tmplt01
$title
$tmplt02
$body
$tmplt03
$article
$tmplt04
これらをすべてのファイルについて実行します。
といって、プログラムを見せるのは恥ずかしいなあ。我ながら汚いソースです。
使用言語は、Perl です。
<作成者 junm 2000/02/04>
|