このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

easyBBSのバックグラウンドに色を付けるには

発言者:宮本朋治
( Date Wednesday, June 19, 1996 15:24:10 )


 田中さんのeasyBBSを使って掲示板を開設しました。
有用に活用させていただいています。
 まず、bbs.acgiにアクセスするのですが、その画面に色は
付けれないのでしょうか。BBSのフッタとヘッダに指定するのではなくて、
cgiに書き込まないといけないのでしょうか。ヘッダの方に
HTMLで書き加えたのですが、バックに色が付きません。

もう一つ、発言者やメッセージのところにタグを付けたらどうなるのですか?

おしえてくださーい。

ニャー助 さんからのコメント
( Wednesday, June 19, 1996 18:30:52 )

つたない私がお答えしましょう。(いいんだろうか?)

ヘッダの色はあくまでもTop Pageにのみ反映されます。

まず、新規メッセージの所に色を付けたい場合は
post.htmlを開きます。そこに、バックグラウンドの色の指定を埋め込んで下さい。

次に、コメントを付け足すところにバックグラウンドの色を付けるには
cgi に変更を加えます。

bbs.acgiをエディタで開いて、新規メッセージの投稿というところに
ページに書き込むデータを作成するというところがあります。

そこの2行目のところに以下のように挿入します。
set myPage to "<TITLE>" & (item 1 of myList) & "</TITLE>" & return ツ
					& "<body bgcolor=好きな色>" & return & "<h2>" & (item 1 of myList) & "</h2>" & return ツ

そうすると、質問に対するコメントのページのバックグラウンドにも色が付きます。

2番目の質問ですが、そのまま使っているならば、タグは全部生きてるはずです。
無効にしたければ、cgiを開いて、ページの表示用に整えるハンドラーの中に
詳しいコメントが載っていますので、そちらを参照して下さい。
(有効にするには行の先頭にある---をとれば有効になります。)

以上です。
(誰か、追加のコメントがあったらよろしくお願いします)

					

ニャー助 さんからのコメント
( Wednesday, June 19, 1996 18:35:21 )

なんか上のコメントわかりにくいかも。

 "<body bgcolor=好きな色>" & return & を挿入します。

田中求之 さんからのコメント
( Wednesday, June 19, 1996 19:14:35 )

>(誰か、追加のコメントがあったらよろしくお願いします)

何もありません。すばやいフォロー、ありがとうございます m(_ _)m


次のバージョン(ううう、早く仕上げなければ…)では、記事のページもヘッダー
を使うようにしようかと思っています。

ヘッダーだけでは面白くないので、テンプレート方式にして、ページをもうすこし
カスタマイズできるようにしたほうが、いいかもしれませんね。

ただ、スクリプトの形で公開しているので、使う人がスクリプトを見て自由にカスタ
マイズしてもらったいいという考えでやってますし、完成品としてではなく、あく
までもサンプルのつもりですから、あまり込み入ったことはしたくないというのは
あるんですよね。

まぁ、サンプルだからもうすこしちゃんと説明を書いた方がいいとは思ってますが、
それが面倒なので (^_^;;  こうして会議室を使ってます。

ニャー助 さんからのコメント
( Wednesday, June 19, 1996 19:40:15 )

田中師匠にほめられて光栄です。

これからもよろしくお願いします。

田中求之 さんからのコメント
( Thursday, June 20, 1996 03:27:59 )

「師匠」っていうの、やめませんか?

なんかムズムズしちゃうんですが (^_^;;

宮本朋治 さんからのコメント
( Thursday, June 20, 1996 10:17:47 )

田中さん、ニャー助さん、コメントありがとうございました。早速やって
みます。ついでなのですが、発言があったらこちらが分かるようには
できないのでしょうか?例えば音が鳴るとか。ページに反映されるとか。
今回は無理でも次からサポートされると嬉しいです。温かいコメントありがとうございました。

宮本朋治 さんからのコメント
( Thursday, June 20, 1996 10:22:50 )

追加です。田中さんのようにメッセージのファイルに.htmlを
付けるにはどうすればいいのでしょう。少しいじってみたのですが
よく分かりませんでした。お願いします。

田中求之 さんからのコメント
( Thursday, June 20, 1996 10:56:01 )

>ついでなのですが、発言があったらこちらが分かるようには
>できないのでしょうか?例えば音が鳴るとか。ページに反映されるとか。

Top Page に表示されている発言の日付は、つねに最後にコメントの書き込まれた
日付になります。ここを見るようにすればよいようになっているのですが?

もし、会議室の管理者として、書き込みがあった時点ですぐに分かるようにして
おきたいのだということであれば、発言のポスト/コメントの処理を行うスクリプト
に、自分宛に合図を送るスクリプトを埋め込んでおけばよいわけです。
この場合、CGI はつねにバックグランドで走っているということに気を付けて
スクリプトを書いてください。

>田中さんのようにメッセージのファイルに.htmlを
>付けるにはどうすればいいのでしょう。

参考ページ記入用の FORM 欄の追加を行っておき、受け取ったメッセージの処理で
それをページに埋め込むスクリプトを追加します。


いずれも、スクリプトの改造としては、さほど難しいものではありませんので
(bbs.acgi の仕組みがわかりにくいかもしれませんが)、腕ならしに取り組んで
みるのがよいと思いますよ。

ニャー助 さんからのコメント
( Thursday, June 20, 1996 11:26:33 )

わかりました、”師匠”。もう使いません。(もういいって?(笑))

宮本さん、あの説明で判ったでしょうか?
次の質問にまたまた答えたいと思います。

まず、誰かの発言があったら判るようにしたいという事ですが、これは簡単です。
ページへの反映ですが、新規のメッセージに対してコメントがあった場合、必ずコメントが入ったときの
日付がTop Pageに反映されますので、Top Pageで日付を見れば、新規のコメントがあったかどうかわかります。

次に、音を鳴らす場合ですが、AppleScriptにはbeep と言う命令があります。
これは、あなたのマックで設定している警告音をならすという命令です。
beep 2 なら2回、beep 5 なら5回鳴らします。
これをcgiに組み込むだけでいいのです。

例えば、新規メッセージが入ってきたときに3回、コメントがあったときには5回鳴らすには
cgiの以下の部分にbeep を挿入します。

=新規メッセージの場合=
新規メッセージの投稿というところの最後の方に”メッセージのページへリダイレクト”
というところがあります。ここにbeep 3を挿入します。

--- メッセージのページへリダイレクト
		beep 3  ←	←←これを挿入
		return redirect_header & "question.acgi?" & myF & crlf & crlf

=コメントの場合=
コメントの追加というところに”コメント済みのページへのリダイレクト”
というところがあります。ここにbeep 5 を挿入します。

--- コメント済みのページへのリダイレクト
			beep 5 ←	←←これを挿入
			return redirect_header & "question.acgi?" & tgPage & crlf & crlf

多分これで大丈夫だと思います。
(いつものように、後フォロー、よろしくお願いします)

ニャー助 さんからのコメント
( Thursday, June 20, 1996 11:30:08 )

しまった。一生懸命書いているうちに、田中さんが答えてしまっていた。
(恥ずかしい)

(二人で同時に書いていたのですね。(笑))

ニャー助 さんからのコメント
( Thursday, June 20, 1996 11:40:17 )

確かに田中さんの言うとおりです。
Scriptをプリンターで打ち出して、じっくり読むと
すごくScript の流れが判るし、勉強になります。

(おかげさまで、私もここまで判るようになりました。
あの田中さんのScriptは親切だし、初心者にはすごく勉強になりました。
改めて田中さんに感謝です。^_^)

宮本朋治 さんからのコメント
( Thursday, June 20, 1996 17:41:21 )

田中さん、ニャー助さん、コメントありがとうございました。
コメントを読んでいると自分がいかに考えていないかが、露呈しました。

ところで、お二人が教えてくれたとおりにcgiにバックグラウンドの
色を組み込んでみたのですが、いっこうに色が付く気配がありません。

いったいなぜ????書いてあったようにやってみたはずなのですが。

ニャー助 さんからのコメント
( Thursday, June 20, 1996 17:54:27 )

宮本さん。これから頑張って下さいね。

さて、色が付かないと言うことですが、自分のは上手くついているんですけどね。

考えられるのは、例えば、<font bgcolor="#FFFFFF">としますよね。
このとき、色番号の前と後の"にバックスラッシュをいれてますか?

(ここだとでないのですが、英語フォントだと¥の所ででます。(/の反対のもの))

もし、いれてなかったらいれて、もう一度挑戦して見て下さい。

ニャー助 さんからのコメント
( Thursday, June 20, 1996 17:58:00 )

すいません。上のコメントわかりにくいです。

<font bgcolor="#FFFFFF">→→<font bgcolor=\"#FFFFFF\">

ということです。(¥がバックスラッシュです)

宮本朋治 さんからのコメント
( Thursday, June 20, 1996 19:00:14 )

うっぅぅぅ、バックスラッシュも入れてみたのに全然色が付かない。
なぜだー。サーバーが悪いのだろうか。こんなに質問ばかりして、
できないなんて、田中さんとニャー助さんに悪くて悪くて。

田中求之 さんからのコメント
( Thursday, June 20, 1996 19:18:36 )

もう一度、簡単にポイントを整理しておきます。

まずページに色を付ける場合、新しいページを作る際にタグを埋め込むことになります
ので、これまでできていたページには色は付かないことになります。この点はいいですね?

新しいページを作るときに、ページのタイトルの次の行に

<BODY BGCOLOR="#FFFFFF">

というタグを埋め込んでおけば、そのページは白になります。これをスクリプトで
やる場合には、

set myPage to "<TITLE>" & (item 1 of myList) & "</TITLE>" & return ツ
    & "<body bgcolor=\"#FFFFFF\">" & return & "<h2>" & (item 1 of myList) & "</h2>" & return ツ

という具合に書くことになります。色を指定する部分で \ を使うことに気を付けてください。

これで、新しく投稿したページには色が付くはずです。

宮本朋治 さんからのコメント
( Thursday, June 20, 1996 21:21:43 )

今度は田中さんが忙しい中書いていただいたスクリプトをペースとしてやってみたのですが、
全くページに反映されません。僕が使っているスクリプトを書きます。

--- ページに書き込むデータを作成する
				set myPage to "<TITLE>" & (item 1 of myList) & "</TITLE>" & return ツ
					&"<body bgcolor=\"#FFFFCE\">" & return & "<h2>" & (item 1 of myList) & "</h2>" & return ツ
					& "<h3>発言者:" & (item 2 of myList) & "</h3>" & return ツ
					& "<TT>(Date: " & ((current date) as string) & ")</TT><P><HR><P>" & return ツ
					& myBody & "<P><HR size=4><P>" & return

これをコンパイルして使っています。もしこれでダメだったらあきらめます。
迷惑かけてしまいました。スミマセン。

田中求之 さんからのコメント
( Thursday, June 20, 1996 23:48:10 )

宮本さんのスクリプトをコピー&ペースとしてページにしてみましたが、
ちゃんと色付き(水色)のページになりましたよ??

Netscape の設定がおかしいなんてことはないですよね?
(たしかバックグランドの色指定を無効にするオプションがありましたよね?)

宮本朋治 さんからのコメント
( Friday, June 21, 1996 22:50:38 )

ご迷惑おかけしました。なんだか知りませんが、突然色が付きました。
田中さん、ニャー助さんありがとうございました。
こんなアホな私にながながと付き合ってくれて
また、何かあったらよろしくお願いします。