- 更新情報 - マニュアル

はじめに

これは WEB サイトの更新情報などを登録し表示する perl5 スクリプトです。 SSI または IFRAME をつかって、HTML ファイルに更新情報を埋め込むことが出来ます。 また、SSI が使えないサイトでも HTML テンプレートファイルを作成することによって 更新情報を埋め込んだ文書を作成することも出来ます。

CGIサンプル SSI & IFRAME サンプル 外部HTML書出しサンプル

サイトの更新情報や簡単な日記などにお使いください。

Ver0.xx の時から Ver1.xx になったときに設定パラメータが少々増えました。 バージョンアップの時には初期設定をやり直さないと、不具合があるかもしれません。

作者の使用環境の偏り、スキル不足によりいくつかの問題点が残っています。 文書の一番下にある「いくつかの注意事項」を参照してください。


インストール

ファイルのダウンロードと解凍

プログラムのアーカイブファイルをダウンロードします。 lhasa 等 lha 形式のアーカイブファイルが解凍できるツールでファイルを解凍します。

解凍ツールによってはサイズが0のファイルを解凍しないタイプのものがあるようです。 その場合、設定ファイルとデータファイルが見つからないかもしれませんが、 エディタなどで中身が空のファイルを各ファイルの名前で作成すればOKです。


スクリプトファイルのカスタマイズ

設定のほとんどは WEB 上で行えるようになっています。 もし、ご利用のプロバイダでの perl パスが /usr/local/bin/perl ではない場合のみ、 wnew.cgiの先頭部分、

#!/usr/local/bin/perl
		

をプロバイダのマニュアルのとおりのパスに変更して保存してください。

表示するページの見栄えはすべて、スタイルシートで行っています。 見栄えを変えたい場合は wnew.css を編集してください。


更新情報の表示

上のほうが簡単な方法。下のほうはどうもうまい説明ができないので、 なんのこっちゃわからなかったら一番目を使ってください。

CGI で更新情報を表示したい場合

普通に wnew.cgi を呼び出してください。

IFRAME で呼び出す場合

呼び出す HTML ファイルに以下の例のようなタグを入力してください。

<iframe src="wnew.cgi?mode=IFRAME"><a href="wnew.cgi">更新情報</a></iframe>
		

SSI で更新情報を表示したい場合

SHTML ファイルを作成し、更新情報を埋め込みたい部分に、

<!--#include virtual="wnew.cgi?mode=SSI"-->
		

というタグを埋め込んでください。

外部HTMLファイルに書出したい場合

テンプレート HTML ファイルを作成し、更新情報を埋め込みたい部分に、

<!-- WhatsneW -->
		

というタグを埋め込み、初期設定の infile にそのテンプレートファイルを指定してください。

埋め込み先のHTMLファイルを作成し(中身は空でいいです)、 初期設定の outfile に埋め込み先ファイルを指定してください。


ファイルの転送

ftp ソフトを使って、必要なファイルをすべて転送します。 (この説明書は転送する必要がありません)

下の設置例を参考に、 CGIが作成するHTMLを保存するディレクトリやデータを置くディレクトリを作成し、 ファイルとディレクトリの属性を変更してください。

スタイルシート内で背景などを使った場合は、 それらの画像データも忘れず転送してください。 サーバーによって置き場所などが決められている場合は、 指定の場所(cgi-bin など)にファイルを置くようにしてください。

CGIの設置例

public_html/
cgi-bin/ (705) - CGI設置ディレクトリ
|+ wnew.cgi (705) - 更新情報CGI
|+ wnew.css (604) - CGI用スタイルシート
|+ wnewcnf.cgi (600) - 初期設定スクリプト
|+ wnew.txt (600) - 更新情報データ
|+ wnew.ini (600) - 設定ファイル
|+ jcode.pl (604) - 日本語処理ライブラリ
|+ sample.shtml (604) - SSI 使用例ファイル
|+ sample.htm (604) - HTML テンプレートファイル
|+ sample2.htm (604) - HTML 埋め込み先ファイル

SSIを使わない場合 SHTMLファイルは必要ありません。 SSI使用の場合は HTMLテンプレートファイルは必要ありません。 ファイル埋め込みをしない場合は埋め込み先ファイルは必要ありません。

上記の設置例は一例です。 SHTML ファイル、HTMLテンプレートや埋め込み先ファイルは、 お好きな名前でお好きな場所に転送してもかまいません。 その際は、SSIの埋め込みタグや 初期設定でのファイル指定の際にディレクトリ指定を忘れないように。


使い方

CGI を呼び出すと、下方に設定メニューへのリンクがあります。 このリンクをクリックするとパスワード入力画面になります。 パスワード(初期値は:passwd)を入力して行いたい作業を選択してください。

初期設定はメニューの説明をよんで、適当に設定してください。 判らないところは触らなくてもかまいません。

Q&A

SSI が上手くいきません

  1. お使いのサーバーは SSI が使えますか? サーバーのホームページ設置マニュアルをご覧ください。 CGI が使えても SSI が使えないサーバーがあります。
  2. 呼び出す側の HTML ファイルの拡張子は shtml になっていますか? お使いのサーバーによって、SSI を使用するとき HTML ファイルの拡張子を shtml にしないと動作しない場合があります。 サーバーのSSI設置マニュアルなどを参考にしてください。
  3. SSI 用のタグをミスってませんか? まず、sample.shtml を転送して表示させてみてください。
  4. スクリプトを編集していますか? まずは配布されている状態でサーバーに転送して試してみてください。

設置してまず初期設定をしようと思ったのに、 デフォルトのパスワード「passwd」を入力してもエラーになります

おそらく、お使いのサーバーのパスワード暗号化の仕様が私の使っているサーバーと違うために、 入力したパスワードとこちらで作成した暗号化パスワードが合致しないためだと思います。

wnew.ini ファイルをテキストエディタで開いて(最初は中身が空だと思います)、
passwd=
とだけ書いて保存し、サーバーにアップロードしてください。 最初のパスワード入力がスキップされます。

その後はかならず、初期設定でパスワードを設定してください。 パスワードが空のままにしておいて、悪意ある人にいたずらされても責任取れません。

設定例のとおりにパーミッションを指定したら、ファイルが読み込めません等のエラーがでます。

データが読み込めない、書き込めないなどのエラーがでる場合は、 上記設置例で 600 になっているファイルのパーミッションを 606 にしてみてください。

出力HTMLが気に入りません

色や文字の大きさ、枠の太さなど、ちょっとしたレイアウトレベルでしたら、 スタイルシート wnew.css をいじると幸せになれます。 ニュース部分のタグは初期設定でサンプルが表示されるのでそれを参考に。

「IE3や NN4、DreamPassport、Zaurus 等スタイルシートに不自由なブラウザに気を使いたい」とか、 「そもそも根本的にお前の作ったレイアウトはだめだ。気に入らない」という方は、 HTML 出力部分を wnewcnf.cgi というファイルににまとめてみたので、 そのファイルを改造してみてください。

ついでにどこか文法的に間違ってる部分を発見したら教えてくれるとうれしいです。

初期設定の「何か」関係って何?

Windows用デスクトップマスコット 「伺か。」 及び、SSP 用のプラグインプログラム 「ヘッドラインセンサ for いろんなホームページ」 用の専用タグを吐き出す機能の設定をします。

「伺か。」ってなんだ?という方はまず さくらナビ.com 初心者モード をご覧ください。

専用タグはコメントタグになっているので、 「伺か。」設定をしてもしなくても特にブラウザからの見た目はかわりません。 がまあ、「伺か。」に興味がなくてコメントタグ1行すら転送量が気になる場合は、 初期設定の「ヘッドライン出力数」を0にすると出力しなくなります。

しかし、今年入ってから全然「伺か。」関係追いかけてないので、何がなんだかもう。 つか、マニュアル書き直すので関連サイトひさびさに見て名前変わってるの知ったり、 SSP 開発終了を知ってびっくりしたり。

ヘッドラインCGIとかで更新情報部分を切り出してみたいんですが

更新情報ブロックは<!-- wnewstart -->で始まり、 <!-- wnewend -->で終わります。 たいていのヘッドライン検索は切り出し開始タグと終了タグの指定ができるはずなので、 このコメント行を切り出しタグに指定してください。


仕様

いくつかの注意事項


履歴

2001.1.10 Ver0.01
  • お友達のリクエストで作成。なんかはずしてる気もする。
2001.1.? Ver0.02
  • 少し表示方法とか変更。
2001.02.26 Ver0.03
  • 半角カナを全角に変えて保存するようにした。
  • DOIchan!さん 作成の「ヘッドラインセンサ for いろんなホームページ」 用のタグを吐き出すように改造してみた。
2001.02.26 Ver0.04
  • ヘッドラインセンサ用の文章に日付を入れた。 あと、デフォルトの出力文字数を増やしてみた。 この辺の折り合いは難しいな。
2001.02.27 Ver0.05
  • デコード部分でとびきりステキな間違いをしてたのに気が付く。 改行コードが統一されてなかったのによく動いてたよな、今まで。
  • ヘッドラインセンサ用のオプションを一つ増やす。
2001.12.04 Ver0.07
  • 0.06 って、何時何処を変更したんだろう。はて。
  • 少々パラメータ増やしたり削除したり。前より使い方を一つふやしてみた。
  • ので、以前よりお使いの方は、必ず初期設定しなおしてください。
  • マニュアルが・・・。
2002.02.15 Ver0.08
  • 外部ファイルに書き出すときに、肝心の更新情報を書き出してませんでした。 なんでうまく表示されないんだろうとずーっと考えてたんだけど、 出力するサブルーチン呼び出さなきゃ書き出さないですなあ。
2002.02.19 Ver0.09
  • 日付の先頭につけるマークとその色を設定できるようにしてみました。
  • 個人的にはスタイルシートのほうが柔軟性高いので好きなんですが。
2002.04.10 Ver1.00
  • SSI も wnew.cgi で出力するようにした。
  • IFRAME 用の出力モード追加。
  • テンプレートファイル使っての表示はやめて、埋め込みだけにする。
  • 本文出力にページナビをつけた。設定ではずせますんで、いやならはずしてください。
  • 常設お知らせをつけてみた。設定ではずせますんで、いやならはずしてください。
  • と、設定パラメータ増えたので必ず設定しなおしてください。
  • あとまあいろいろ。
2002.05.16 Ver1.01
  • データの総数が1ページに指定した行数に満たない場合、 「データがない」メッセージが消えないのを修正。
2002.05.17 Ver1.02
  • 初期設定のタグプレビュー整形部分でエラーだしてたのを修正。 なぜ、うちの環境だと実行エラーがでませんか?(涙
2002.05.20 Ver1.03
  • 常設お知らせの内容が設定変更できないのを修正。
  • 見捨てないでください。
2002.05.27 Ver1.04
  • 自動リンクのtarget変更を保存してないのを修正。 こういうの設定変更できると便利かなと思って設定項目をふやしつつも、 自分はデフォルトの設定で満足して変更しない部分はミスっても全然気がつかなかったり(ぉぃ
  • AutoLink 関係を修正。 ちなみに、AutoLink 関係(他にもいくつか)は Perlメモさん のサンプルソースをちょっと改造して使ってますが、 解説されているその動作の本質はさっぱりわかってないので、 改造時にバグをしこんでるかもしれず。(EUC用のをそのままSJISで使ってるし)
  • タグわかる人は、自動リンク切って自分で A タグ入れたほうがいいかもとか、 後ろ向きになってみたり。
  • ふと、更新情報ごとにタイトルつけると便利かなとか、 そのタイトルを押すと参考URLに飛ぶようにすると便利かなとか思ったのですが、 自分で絶対に使いそうにない機能を増やすとまたぞろ他人にバグチェックさせそうなので、 追加はやめておきまつ。データ項目増えるし。何かしこむよな。
2002.06.17 Ver1.05
  • リンクのtarget指定を保存するようにはなってたのだけど、表示に反映してませんでした。 ソースを読まずに使ってるのがバレバレ(汗。
2002.07.01 Ver1.06
  • 新要素いれないとか言ってたのに、1ヶ月程度で気が変わる。女心と秋の空。今は梅雨だってば。
  • タグ無効にしてる時に、本文に書かれた<>でくくられた部分がヘッドラインから削除されるのを修正。 たぶん、これに引っかかるのはものすごくレアなケースだと思うが。
  • タイトルと参照URL追加。target指定は本文と一緒でいいよね。 リンクの張り方はあれでいいのかどうか。
  • ナビゲーションのtarget指定設定を追加。あと、ホームに戻るリンクが消えてたのを修正。
  • 日付を引数にしたらそこのデータから表示するようにしてみる。 wnew.cgi?time=200206200210 みたいな感じです。 判りやすいようにマークにアンカータグつけるオプション追加。
  • 切り出し開始タグと切り出し終了タグとして、コメントタグを挿入することを思いつく。
  • 出力ブロックを <div class='wnew'> でくくり、 table及びdlのc属性にclass='wnew'を追加。 マークとタイトル部分を それぞれ<span class='mark'> と <span class='title'>でくくった。
  • 上記のマークアップ追加に対応するスタイルシートの記述を追加。 table と dl での色を統一。 あと、スタイル指定でニュースブロックをセンタリングしたつもり。 もじら1.0 と IE6 と Opera6(全部 Windows)で中央に寄ってるの確認。 フォームの文字の大きさを普通の文字と同じ大きさに。 さらに、リンクの色指定をミスってたのを修正。
  • body 属性のチェックの正規表現がおかしかった模様。
  • 隠し属性 $cnf{'twidth'}。 テーブルレイアウトで幅を指定するオプションを追加してみたのだけど、 初期設定メニューがごっちゃらごっちゃらして嫌になったので、 小さな親切大きなお世話はやめることに(ぉ。 設定そのものは残ってるので、 スタイルシートでテーブル幅を指定したくない or できない場合は wnew.ini に twidth=600 とか twidth=80% とかいう行を追加するよろし。
  • マニュアル書き直すんで「伺か。」関連サイト見たけど、もうなにがなんだか。 設定のところの「何か」って文字書き変える気力もなかったり。
  • W3C Validation Service でひさびさにチェック。 とりあえず文法は間違ってないらしいけど、 意図したレイアウトとして正しいかどうかはいまだに判ってなかったり。

ホーム


Kazuho/V.Sonic mailto:CXM01411@nifty.ne.jp