- 更新情報 - マニュアル
これは WEB サイトの更新情報などを登録し表示する perl5 スクリプトです。
サイトの更新情報や簡単な日記などにお使いください。
SSI または IFRAME をつかって、HTML ファイルに新着データを埋め込むことが出来ます。
SSI が使えないサイトでも HTML テンプレートファイルを作成することによって
更新情報を埋め込んだ文書を作成することも出来ます。
更新情報はカテゴリわけが出来、カテゴリごとの表示も可能です。
また、複数の更新情報データをひとつのCGIで管理することが出来ます。
-
注意:
-
Ver0.xx の時から Ver1.xx になったときに設定パラメータが少々増えました。
バージョンアップの時には初期設定をやり直さないと、不具合があるかもしれません。
-
もひとつ注意:
-
Ver1.xx の時から Ver2.xx になったときにデータディレクトリが変わり、
設定パラメータが少々変更されました。
バージョンアップの時には wnew.txt と wnew.ini の2つを dat ディレクトリに移動して、
初期設定をやり直さないと不具合があるかもしれません。
-
さらなる注意:
-
Ver2.xx の時から Ver3.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) - HTML出力設定スクリプト
|+□ wnewcnf.dat (600) - 設定データファイル
|+□ stdlib.cgi (600) - サブルーチン集スクリプト
|+□ parslib.cgi (600) - 入力パラメータ解析スクリプト
|+□ rss.cgi (600) - RSS 整形スクリプト
|+□ jcode.pl (604) - 日本語処理ライブラリ
|+□ sample.shtml (604) - SSI 使用例ファイル
|+□ input.htm (600) - HTML テンプレートファイル
|+□ output.htm (604) - HTML 埋め込み先ファイル
|+▼ dat/ (700) - データディレクトリ
||+□ wnew.txt (600) - 更新情報データ
||+□ wnew.cat (600) - 種別データ
||+□ wnew.ini (600) - 設定ファイル
|
ファイル埋め込みをしない場合はHTMLテンプレートファイルと、埋め込み先ファイルは必要ありません。
上記の設置例は一例です。
SHTML ファイル、HTMLテンプレートや埋め込み先ファイルは、
お好きな名前でお好きな場所に転送してもかまいません。
その際は、SSIの埋め込みタグや、初期設定でのファイル指定の際にディレクトリ指定を忘れないように。
CGI を呼び出すと、下方に設定メニューへのリンクがあります。
このリンクをクリックするとパスワード入力画面になります。
パスワード(初期値は:passwd)を入力して行いたい作業を選択してください。
初期設定はメニューの説明をよんで、適当に設定してください。
判らないところは触らなくてもかまいません。
Ver2 より、1つのCGIで複数のデータを扱えるようになりました。
更新情報と日記を分けておきたい、いろんなネタでコラム集作りたい、
などコンテンツを複数起きたいけど、複数の CGI の管理が面倒だという方におすすめです。
複数のデータを使い分けたい場合は、dat ディレクトリにサブディレクトリを作成して、
そこに wnew.txt と wnew.ini の2つのファイルをコピーしてください。
|+▼ dat/ (705) - データディレクトリ
||+▼ news/ (705) - サブディレクトリ1(更新情報)
|||+□ wnew.txt (600) - 更新情報データ
|||+□ wnew.ini (600) - 設定ファイル
||+▼ diary/ (705) - サブディレクトリ2(日記)
|||+□ wnew.txt (600) - 更新情報データ
|||+□ wnew.ini (600) - 設定ファイル
||+▼ column/ (705) - サブディレクトリ3(コラム)
|||+□ wnew.txt (600) - 更新情報データ
|||+□ wnew.ini (600) - 設定ファイル
|
↑こんなかんじ。この例では、更新情報と日記とコラムの3つを分けておいてあります。
CGI の呼び出しは、wnew.cgi の後に id=ディレクトリ というパラメータをつければOKです。
上記の例でいくと、更新情報は「wnew.cgi?id=news」
日記は「wnew.cgi?id=diary」コラムは「wnew.cgi?id=column」というふうに指定します。
SSI が上手くいきません
-
スクリプトを編集していますか?
まずは配布されている状態でサーバーに転送して試してみてください。
-
お使いのサーバーは SSI が使えますか?
サーバーのホームページ設置マニュアルをご覧ください。
CGI が使えても SSI が使えないサーバーがあります。
-
呼び出す側の HTML ファイルの拡張子は shtml になっていますか?
お使いのサーバーによって、SSI を使用するとき HTML ファイルの拡張子を
shtml にしないと動作しない場合があります。
サーバーのSSI設置マニュアルなどを参考にしてください。
-
SSI 用のタグをミスってませんか?
まず、sample.shtml を転送して表示させてみてください。
-
SSI 用のタグの中の CGI URL は実際に自分が設置した URL になっていますか?
呼び出す HTML ファイルと CGI が別のディレクトリにある場合は、
タグの URL 部分も編集してください。
設置してまず初期設定をしようと思ったのに、
デフォルトのパスワード「passwd」を入力してもエラーになります
おそらく、お使いのサーバーのパスワード暗号化の仕様が私の使っているサーバーと違うために、
入力したパスワードとこちらで作成した暗号化パスワードが合致しないためだと思います。
wnew.ini ファイルをテキストエディタで開いて(最初は中身が空だと思います)、
passwd=
とだけ書いて保存し、サーバーにアップロードしてください。
最初のパスワード入力がスキップされます。
その後はかならず、初期設定でパスワードを設定してください。
パスワードが空のままにしておいて、悪意ある人にいたずらされても責任取れません。
設定例のとおりにパーミッションを指定したら、
ファイルが読み込めません等のエラーがでます。
データが読み込めない、書き込めないなどのエラーがでる場合は、
上記設置例で700 になっているディレクトリを 707 もしくは 777、
600 になっているファイルのパーミッションを 606 もしくは 666 にしてみてください。
出力HTMLが気に入りません
色や文字の大きさ、枠の太さなど、ちょっとしたレイアウトレベルでしたら、
スタイルシート wnew.css をいじると幸せになれます。
ニュース部分のタグは初期設定でサンプルが表示されるのでそれを参考に。
「IE3や NN4、DreamPassport、Zaurus 等スタイルシートに不自由なブラウザに気を使いたい」という方、
「なんで HTML4.01 Transitional なんか使ってるかなー。XHTML1.1 でしょ、フツ〜」という方、
「マークアップも何も、そもそも根本的にお前の作ったレイアウトはだめだ。ぜんぜん気に入らない」という方、また他の理由でとにかくHTML出力部分だけいじくりたい方は、
HTML 出力部分を wnewcnf.cgi というファイルににまとめてみたので、
そのファイルを改造してみてください。
ついでにどこか文法的に間違ってる部分を発見したら教えてくれるとうれしいです。
初期設定の「何か」関係って何?
Windows用デスクトップマスコット
「伺か。」
及び、その互換プログラムである
SSP、
CROW
用のプラグインプログラム
「ヘッドラインセンサ for いろんなホームページ」
用の専用タグを吐き出す機能の設定をします。
「伺か。」ってなんだ?という方はまず
さくらナビ.com 初心者モード
をご覧ください。
専用タグはコメントタグになっているので、
「伺か。」設定をしてもしなくても特にブラウザからの見た目はかわりません。
がまあ、「伺か。」に興味がなくてコメントタグ1行すら転送量が気になる場合は、
初期設定の「ヘッドライン出力数」を0にすると出力しなくなります。
しかし、最近は「伺か。」を起動する回数も減った、というか、
むしろまったく起動しなくなってからはや1年以上。
しかも、「伺か。」本体は配布継続されてるものの、2002年の7月で開発終了のようだし、
「ヘッドラインセンサ」にいたっては作者様のサイトがいつからか工事中になったままで、
なんというか配布終了っぽい感じがぎゅんぎゅんします。
DLL 自身は再配布可能ですけど、この分だとヘッドラインセンサの利用者は減る一方かもしれない。
RSS って何?
よくわかんないけど最近流行ってるらしいです。
神崎さんのとこの解説を読んでください。
使ってる最中に気が付いたけど「まあ、今のところ私困ってないしー」
と棚上げしてるモノを列挙します。
このリストにあるものは改善するかどうかすら判りません。
私が困るようになれば、即座に修正されるでしょう。
- 登録されたデータの日付が変更できない
-
変更できないと困るかなあ?(確かに最初に昔のデータをだだーっと補完してから公開したい、
なんて時は最初だけ困るような気が・・・うーん、確かに困る。困ってきた。どうしようか)
- 最初のページに表示されない古いデータを修正しても HTML や RSS が修正される
-
ファイルの日付変わっちゃうので、アンテナとかで意味もなく上に上がる。
そんな古いデータは普通書き換えないと思うけど、どうだろう。
- Jcode.pm がないのに RSS を出力する設定にできちゃう
-
エラーチェックしてません。すみません。
-
んで、Jcode.pm のかわりに jcode.pl を使ってると、
多分 RSS ファイルが UTF-8 を言いつつ実は Shift_JIS なファイルを作成、
しちゃうんじゃないかなあと思うのです。
実際にテストしてないので、もしかしたら別の結果になるかもしれませんが、
まっとうな UFT-8 なファイルは絶対に出来ません。
-
Jcode.pm は最近はたいていのサーバーにインストールされてますが、
@nifty とか @nifty とか @nifty とかで使おうとしてる人は RSS 出力はあきらめてください。
(自力で自分の cgi-bin に Jcode.pm 突っ込める人は別)
- 過去ログ
-
実は前からちょっと自分でも欲しいんだけど、データの保存方法の実装で悩んでおります。
-
このソフトはフリーソフトです。
著作権は放棄しませんが、
配布、改造等はダウンロードした方が自由に行ってかまいません。
改造したものについての公開も制限しません。
あ、改造品の責任を私に押し付けるのだけはやめてください。
お願いします。
-
一応、問題が出ないように作成したつもりですが、
このスクリプトを使ってデータが壊れた、
サーバーがおかしくなった等の問題が起きても、
責任が取れません。つまり無保証です。
-
このスクリプトは、
FreeBSD 上で動く Apache1.3 と Perl5.6 な環境で動作を確認しました。
他の環境(とくにサーバーが WinNT な所とか)で動くかどうか、
まるで自信がありません。
お使いのサーバーでうまく動作しなくても怒らないでください。
-
このCGIは「ほーむぺーじ」初心者向けではありません。
このCGIを使うには、
ホームページ作成とFTPソフトを使ったファイルアップロード、
サーバーへのCGIの設置、くらいの知識が必要です。
-
デザインセンスについては何も言わないでください。
-
作者の言語能力にはかなりの問題があるため、
この説明書には多大な不備があると思います。
どうか行間を読んで意図する所を汲み取ってください。よろしくです。
-
このCGIに関するご意見はありがたく拝聴しますが、
それらが新バージョンに反映されるかどうかはわかりません。
- 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 でひさびさにチェック。
とりあえず文法は間違ってないらしいけど、
意図したレイアウトとして正しいかどうかはいまだに判ってなかったり。
- 2002.07.31 Ver1.07
-
絶対に出ないエラーが出たときにとおる部分でエラーが出るのを修正。
つまり、普通に使ってたらたぶん関係ないところ。
- 2002.08.07 Ver1.08
-
既存データの編集で複数の改行があると、
最初の改行以外はタブに変化してたのを修正。
- 2002.08.28 Ver2.00
-
creeping featurism
の誘惑に負けました。
-
データをサブディレクトリに置くように変更しました。
以前のバージョンの方は、現データをdatディレクトリに移動してください。
-
データファイルをバックアップとるようにしました。
データのあるディレクトリはかならず書き込み可に設定して下さい。
-
埋込時と通常表示で出力データ数及び文字数などを変えられるようにしてみた。
-
埋込時のナビメニューを修正。
-
ホームに戻る時の target 設定を追加。
-
など設定が増えて、一部の既存の変数名が変わったので、初期設定しなおしてください。
-
呼び出し時のパラメータ指定で複数のデータを扱えるようにしました。
データは自分で増やしてください。
-
景気よくメジャーバージョン上げました。
機能向上とは関係のない余計な部分でいろいろ置き換えたり移動したりして、
以前のバージョンとの差分がろくでもない状態になってますって意味でもあります。
- 2002.09.03 Ver2.01
-
まったくデータがない状態で新規データを追加してもデータが保存されない不具合を修正。
-
bodyタグがどうやら閉じられてなかったらしいのを修正。
- 2002.09.17 Ver2.02
-
HTML ファイルに書き出す時のメニュー内容をSSIモードやIFRAMEモードと同じにする。
-
次のデータがないのに次ページへのリンクが表示される場合があるのを修正。
- 2002.08.17 Ver3.00(テスト版)
-
種別項目つきました。選択した種別だけの表示もできます。
-
種別選択メニューが別ページなのは、ページナビメニューに form つかいたくない故の苦肉の策です。
-
設定画面とかのマークアップ変えました。
-
どんなにあがいても私には真に strict なマークアップは不可能らしいです。
あきらめます_| ̄|○
-
一部の機能が隠されてるのは説明と設定メニューを考えるのが面倒になったからです。
- 2002.09.22 Ver3.01(人柱版)
- 2002.09.24 Ver3.02(ひきつづき人柱版)
- 2002.09.24 Ver3.03(ひきつづき人柱版)
- 2002.11.04 Ver3.04
- 2002.02.14 Ver3.05
-
種別がない時は種別メニューへのリンクを出さないようにしてみた。
- 2002.09.24 Ver3.06
-
文字数制限していた時に全文へのリンクが間違ってたのを修正。
Kazuho/V.Sonic CXM01411@nifty.ne.jp
fiptips.com