基本的には、レスアイコン掲示板です。CSSを編集すれば楽に色を変えたりでき、記事部分のデザインをそこそこ変更可能です。さらにHTMLの知識があれば管理CGI上からデザインをかなりの部分まで好みどおりにすることが可能で、アイコンを使わなかったり、色を選べなくしたり、ということまで出来るので自由度は高いほうです。他にも重宝するであろう以下の機能を備えています。
*は初期デザインの場合で、デザインを改造している場合はこの限りではありません。
好きなように使うことができます。このケースに限り、Airemixの著作権表示やリンクを削除しても構いません。
「Mireilleを使う場合」とは、Mireilleがオリジナルのままか改造済みであるかを問いません。Mireilleの直接の利用者以外に、Web経由などでMireilleを使う人がいても構いません。しかし、Mireilleを配布する場合は、第3節が適用されるため、著作権表示を削除することはできません。
Mireilleのパッケージを変更しない限りにおいて、自由に配布することができます。この際、必要以上の利益を得ても構いません。
Mireilleのパッケージを変更した場合は第3節が適用されます。
以下の条件を満たす限りにおいて、自由に改造し、配布することができます。配布ライセンスに非オープンソースなライセンスを採用しても構いません。
但し、変更を重ねた末に、原型がなくなった場合はこの限りではありません。それでも、ヘルプあたりに「参考にしたところ」としてリンクをはっていただければ幸いです。
利用したソフトウェアのソースコードやそのソフトウェアの付属ドキュメントに、Airemixの著作権表記とMireilleのコードを利用した旨が書いてあれば十分です。
これまでに表記した通りで、「商用だったら」という特別な制限はありません。
利用目的や利用者の所属によって、このライセンスで特別に利用を制限することはありません。しかし、何らかの律令格式の類によって、Mireilleの利用が禁じられていることがあるかもしれません。
Mireille及びMireilleの関連・派生物を使って不利益を被ったとしてもわたしは知りません。うちの掲示板を通して実行可能な形で依頼されれば、なんらかの助けはするかもしれませんが、基本的には何もしない、という形で覚悟した上で使ってください。
Mireille LicenseはMireille及び、Mireilleの名の下に構成された関連物に対して効力を持ちます。
利用者が使用しているMireilleのバージョンに対応する規定と、最新のライセンスとが異なる場合、利用者はどちらのライセンスを使うか選択することができます。
Mireille LicenseはMireilleの利用を許可する際に用いる唯一の規定ではありません。著作者はMireille License以外のライセンスでMireilleの利用を許可する権利を留保しています。また、Mireille License自体が変更されることもあります。
Mireilleの派生物はGNU General Public License (GPL)で配布可能です。つまり、Mireille LicenseはGPLと矛盾することはありません。もし矛盾している条項がある場合、そのGPL下の派生物に対しては、該当するMireille Licenseの条項が継承されることはありません。
Mireilleの派生物はBSD Licenseで配布可能です。つまり、Mireille LicenseはBSD Licenseと矛盾することはありません。もし矛盾している条項がある場合、そのBSD License下の派生物に対しては、該当するMireille Licenseの条項が継承されることはありません。
この説明ファイルは、HTMLのみで構成されたサイトは作れる方、
とりあえず圧縮解凍、FTPによるアップロードは知っている人に書かれています。
「ホームページって何?どうやって作るの?」という方は想定していません。
そこまで範囲を広げると「設置の説明書」のレベルを越えてしまうため、ご了承ください。
また、このCGIでは漢字コードにEUC-JPを使用しているため、Windows標準のメモ帳では読めません。
TeraPad、
秀丸エディタ、
さくらエディタなどの、
EUC-JPも読めるエディタをお使いください。
CGI自体を編集する場合は、以上に挙げたエディタに搭載されている、
「色づけ機能」を使うと効率が格段に上がるとおもいます。
ちなみに、以上に挙げたエディタを使っても、文字化けして表示される場合は、
メニューバーの「ファイル」→「漢字指定コード指定再読み込み」→「EUC」(TeraPadの場合)
としたり、「ファイル」→「開く」で、「漢字コード」を「EUC」にして開いたりしてください。
TeraPadの場合には、オプション設定自体を変更して、
「表示」→「 オプション」→「ウィンドウ/漢字コード」タブ→「漢字コード」グループで、
漢字/改行コードを自動認識する にチェックをつけるか、
下の二つで両方「読み込み時の○○コードと同じ」を選ぶか、
すれば、自動で文字化けしないようにしてくれます。
まずダウンロードした圧縮ファイル(例えばMirR1233.ZIP)を適当なフォルダ内に解凍します。
この時フォルダ内には
パス | 備考 |
---|---|
/Mireille.txt | MireilleのReadme |
/Mireille.html | Mireilleの説明書 |
/bbs/log/ | ログ保存フォルダ |
/bbs/log/0.cgi | 記事情報ファイル |
/bbs/ | 掲示板設置に必要なファイル群 |
/bbs/index.cgi | CGI起動ファイル兼設定 |
/bbs/icon.txt | アイコンリスト |
/bbs/iconctlg.cgi | アイコン見本 |
/bbs/style.css | スタイルシート |
/bbs/core.cgi | Mireille本体 |
/bbs/style.pl | Mireilleスタイル設定 |
/bbs/help.pl | ヘルプ |
/bbs/artnavi.js | 記事ナビJavaScript |
/opti/ | 設置してもしなくてもいいファイル群 |
/opti/manage.cgi | 管理CGI |
/opti/convert12.cgi | ログファイルを他形式から1.2形式に変換する |
/opti/notify.pl | メールによるお知らせ機能を使うときに設置する |
/opti/.htaccess | .htaccessファイル |
となっているはずです。
まずindex.cgiを開いて一番最初の一行を設定します。
「#!/usr/local/bin/perl
」か「#!/usr/bin/perl
」のどちらかで大部分は動くと思います。
#!/usr/local/bin/perl5
です)設定項目は他にもありますが、とりあえずまずここだけ設定してちゃんと動くか試してください。
設置したいサーバーのディレクトリ(例えばbbs/
)に
パス | 属性 | 用途 |
---|---|---|
/bbs | 777(755) | 掲示板のディレクトリ |
/bbs/log | 777(755) | ログ保存ディレクトリ |
/bbs/log/0.cgi | 666 | 記事情報ファイル |
/bbs/index.cgi | 755(700) | CGI起動ファイル兼設定 |
/bbs/core.cgi | 644 | Mireille本体 |
/bbs/style.pl | 644 | Mireilleスタイル設定 |
/bbs/artnavi.js | 644 | 記事ナビ |
/bbs/icon.txt | 666 | アイコンリスト |
/bbs/iconctlg.cgi | 666 | アイコン見本 |
/bbs/help.pl | 644 | ヘルプ |
/bbs/style.css | 666 | スタイルシート |
のように設置します。
ちなみに、
さて、これで、おそらく、もう動作する状態になっているはずです。
最初は0.cgiの内容が表示されていますが、これは何か新しい書き込みがあると、
自動的に表示されないようになるのでご安心を。
さっそく、テスト書き込みをしてみましょう。
もし動かないときは Mireilleの設置でつまづいたら を参照してください。
テストがちゃんとできるようになれば、この掲示板を設置するのに最低限必要なことは終わりです。
サイト本体からリンクをはって使用してください♪
Mireilleの設置テストが成功したらアイコンを設定しましょう。
例えばMireilleをhttp://www.server.jp/~username/mireille_directory/index.cgiに設置したとします。
www.server.jpは使っているプロバイダやレンタルサーバーのドメインに、
~usernameはそのサーバーでのユーザー名に、
mireille_directoryは設置したMireilleのディレクトリに、
適宜置き換えてください。(独自ドメインの場合でユーザー名が必要ないときは省略すること)
実際の手順は以下の通りです。
まず自分のコンピュータ上で、アイコンの入ったフォルダを作成します。
どこかに「icon」などと名づけたフォルダを作成し、
その中にアイコンとして使いたい画像ファイル(画像形式は何でもOK)を放り込みましょう。
アイコンの入ったフォルダをアップロードします。
場所はどこでも構いませんが、「http://www.server.jp/~username/icon/」に置くのが無難でしょう。
自分のコンピュータ内で、エディタを使ってindex.cgiを編集してもよいのですが、
ここでは管理CGIを使ってindex.cgiを編集してみましょう。
(エディタで直接編集する方が楽な人は、管理CGIを使わなくてももちろんOKです)
manage.cgiをFTPクライアントで、Mireilleと同じディレクトリにアップロードしましょう。
このとき必ずmanage.cgiを他の人には予測のつかない名前に変えてください。
管理CGIの管理機能は便利な反面、非常に危険です。
管理CGIについては管理CGIの設置も参照してください
http://www.server.jp/~username/mireille_directory/管理CGI.cgi(「管理CGI」の部分は適宜置き換えてください)にアクセスしましょう。
「index.cgi編集」を選択して次へ進みます。
アイコンのディレクトリ」の項目を探し、アイコンフォルダの置いてある場所を書きましょう。
(この時、http://www.server.jp/~username/icon/ の最後の/を書き忘れないで下さい)
書けたら「OK」を押してください。
「Iconリスト編集(タグ)」を選択して次へ進みます。
Mireilleの圧縮ファイルについてきたicon.txtをアップロードした場合、
大量にいろいろと書かれているので、とりあえず全て削除してしまいましょう。
そうしたら以下のように書き換えます。
<OPTGROUP label="(グループのラベル、例えば「アイコン(モンスター)」とか)">
<OPTION value="(画像ファイルのパス、例えば「dragon.gif」)">(画像の名前、例えば「ドラゴン」)</OPTION>
<OPTION value="(何とか.png)">(「スライム」)</OPTION>
</OPTGROUP>
括弧内を自分の設定に合わせて書き換えて下さい。
ただし、ここでいくつか注意することがあります。
「index.cgi編集」をしたときに指定した「アイコンディレクトリ」のパスと合わせて、
きちんと画像の在りかを示すURLになっていなくてはなりません。
例えば、アイコンディレクトリのパスが「http://www.A.or.jp/B/icon」で、
アイコンリストのvalueが「D.gif」となっていた場合、
"http://www.A.or.jp/B/icon/" + "D.gif" = 「http://www.A.or.jp/B/icon/D.gif」
となり、このURLに画像ファイルがあればOKです。
もし、アイコンディレクトリのパスが「http://www.A.or.jp/B/icon」となっていた場合、
"http://www.A.or.jp/B/icon" + "D.gif" = 「http://www.A.or.jp/B/iconD.gif」
となり、
おかしくなってしまいます。
この時はアイコンディレクトリのパスの末尾に / を加えるか、「D.gif」→「/D.gif」に変更すれば、正しくなります。
<OPTION value="">…</OPTION>(注目)<OPTION value="">…</OPTION>
とする場合(注目)の場所は続けず、改行を入れてください。
改行でないと、後でアイコンカタログ(アイコン見本/アイコン一覧)に表示されるアイコンがおかしくなったり、
管理CGIのタグモード以外でアイコンリストを編集できなくなったりします。
<OPTION value="(画像ファイルの場所)")>(画像ファイルの名前)</OPTION>
を必要な数だけ書けばいいです。
また、グループが何個も欲しいという場合は
<OPTGROUP label="(グループのラベル)">
<OPTION value="(画像ファイルの場所1)">(画像ファイルの名前1)</OPTION>
<OPTION value="(画像ファイルの場所2)">(画像ファイルの名前2)</OPTION>
</OPTGROUP>
の部分を欲しいグループの数の分だけ増やせばいいです。
COPY1命令やVENDOR命令など、より詳しいアイコンリストの説明は、
Mireilleの注意事項 - アイコンを参照してください。
編集が終わったら、OKを押して完了です。
最後に、管理CGIをWeb上から削除しましょう。
放置しておくとキケンです。
上の操作が上手くいったら、アイコンが無事表示されるはずです。
もし、表示されない場合は、ミスをチェックして、
どうしてもわからない場合は、ソフトウェア関係に詳しい友人に聞くか、成瀬に掲示板で聞いてください。
5時間も悩むのは得策ではありません(爆
※警告!
アイコンの著作権には十分注意を払ってください。
ゲームの画像を切り出して使ったり、Webサイトで使われている画像を勝手に拾ってきた場合、
著作者の権利を侵害してしまうことがあります。
Mireilleをより細かくカスタマイズしたいときは、Mireille.txtの内容も参照してください。
Mireilleでの処理に関する情報などはMireille.txtにしか書いてないものも多いです。
一般的な事例に関しては以下のとおりです。
アイコンリスト(icon.txt)に関しては Mireilleの注意事項 - アイコン や、
Mireille.txtを参照してください。
アイコンリスト(icon.txt)からアイコン見本(icon.html)を生成するには、
管理CGIの「アイコン見本の更新」を使います。
(1.2.3.5からはiconctlg.cgiを使うようになったので、icon.htmlを生成する必要はありません)
※警告!
アイコンを調達する際には、必ず製作者のサイトから頂いてきてください。
他の掲示板のアイコンをそのまま拝借するのは好ましいことではありませんし、
その掲示板の管理者さんにも迷惑をかけることになります。
また欲しいアイコンが既に配布が終了されている場合は潔くあきらめてください^^;;
core.cgi,style.pl自体のソースや、Mireilleの生成したHTMLソース、HTMLおよびCSSのリファレンスなどと、
にらめっこしながらがんばってください(ぉ
core.cgiやstyle.plのCSSのクラス構造が不明瞭だったりおかしい、修正するべきだという場合は、
説明を求めるか、改善したものを教えてください。
それを元にこちら側でも修正します。
MireilleのPerlスクリプトの中で、デザインに関連するものを抽出したファイルです。
お好みに合わせて改造し、配布することができます。
また、index.cgi内でcore.cgiより後に読み込んでいるため、
core.cgiのサブルーチンを上書き(オーバーライド)することも可能なため、
応用次第で全く違う掲示板のようににしてしまうこともできます。
改造するのは自由ですし、規定の範囲内で改造したものを配布することもできます。
ただ、多くの利用者がこれらのCGIを変更したいと思う、という状態は、
「バグだ」と判断しているので、変更点を教えてくだされば、標準で変更するかもしれません。
一つのcore.cgi, style.pl, style.css, help.pl, artnavi.jsを複数の掲示板で共有することが出来ます。
パス | 属性 | 用途 |
---|---|---|
/bbs | 755(777) | 掲示板のディレクトリ |
/bbs/log | 755(777) | ログ保存ディレクトリ |
/bbs/log/0.cgi | 666 | 記事情報ファイル |
/bbs/index.cgi | 755(700) | CGI起動ファイル兼設定 |
/bbs/core.cgi | 644 | Mireille本体 |
/bbs/style.pl | 644 | Mireilleスタイル設定 |
/bbs/artnavi.js | 644 | 記事ナビ |
/bbs/icon.txt | 666 | アイコンリスト |
/bbs/iconctlg.cgi | 666 | アイコン見本 |
/bbs/help.pl | 644 | ヘルプ |
/bbs/style.css | 666 | スタイルシート |
/bbs2 | 755(777) | 掲示板のディレクトリ |
/bbs2/log | 755(777) | ログ保存ディレクトリ |
/bbs2/log/0.cgi | 666 | 記事情報ファイル |
/bbs2/index.cgi | 755(700) | CGI起動ファイル兼設定 |
例えば上のように設置した上で、/bbs2/index.cgi内の設定を
use lib '../bbs/';
#アイコンリスト
$CF{'icls'}='../bbs/icon.txt';
#スタイルシート
$CF{'style'}='../bbs/style.css';
#記事ナビJavaScript
$CF{'navjs'}='../bbs/artnavi.js';
などとすれば、CGIバージョンアップ時には/bbs/にあるcore.cgiなどを入れ替えればいいだけになります。
実際にAiremixでも/bbs/にあるCGIをサイト内の何ヶ所かで、この方法によって共有して使っています。
よりMireilleを有効に使うためのCGI、Manage.cgiの説明です。
必須ではないので、使いたい人だけ設置しましょう。
まずmanage.cgiを開いて、一行目を設定します。
その後21行目の$AT{'pass'}を設定してください。
設定したらFTPで以下のように設置します。
この際必ずファイル名を変更してアップロードしてください。
/bbs/E36Vj4tGiHQ.cgi 755(700) 管理CGI('E36Vj4tGiHQ.cgi'にファイル名を変更した場合)
使用法は表示にしたがってください。
わかりにくいところがあれば、言ってください。
表記を変えるなり、これに書き加えるなりします。
ちなみに、管理CGIの設定機能を使っていて「Can't write...」というエラーが出た場合は、
該当するファイルのパーミッションを、上のほうの説明の、括弧内のものに変えみてください。
ちゃんと書き込めれば設定があっていると断定してよいでしょう。
※警告!
アップロードする際には、ファイルの名前を予測のつかない名前、
(例えばE36Vj4tGiHQ.cgiのような)に変更してからアップロードしてください。
このCGIは破壊的な機能(index.cgiの設定やログの削除など)持っているので、
悪意を持った人に場所を知られると非常に危険です。
ちなみに、ファイル名を変えると動かなくなるのではないか、と思う方もいるでしょうが、
管理CGIはファイル名を変えても大丈夫なように作っているので、ご安心ください。
基本的には、core.cgi, style.pl, artnavi.js, iconctlg.cgiを上書きすればOKです。
style.cssを自分で改造していないのなら、style.cssも上書きした方が良いですが、
style.cssは多少古いものでも動作するように作ってあるので、上書きしなくても大丈夫です。
ただ、style.cssの変更はブラウザの表示をより綺麗にするため、のものが多いので、
OperaやMozillaを使う人が多い掲示板では、まめにstyle.cssをバージョンアップした方がよいかもしれません。
また、style.cssを改造している方も、時々は新しいバージョンをベースに、style.cssを改造しなおした方がよいとは思います。
index.cgiは後方互換性に気を使っているので、かなり古いものでも動作するはずです。
確認した限りでは1.2.2.8以降のindex.cgiなら、それ以降に追加された新機能はつかえませんが、とりあえず動作はします。
もしindex.cgiやstyle.cssに、それまでのバージョンと著しく互換性を損なう変更場行われた時は、
Mireille.txtの更新履歴の部分にそのことが書かれるので、対応策はそこを参照してください。
特別に注意することが書いてない場合は、互換性があると考えてよいです。
バージョンアップについては以上の通りですが、上の説明はindex.cgiとstyle.css以外は改造していない場合の話です。
core.cgiやstyle.plなどに手を入れている場合は、現在考慮に入れてません。
もしindex.cgiとstyle.css以外を改造している方は名乗り出てくだされば、考慮して開発するようにします。
Mireilleでは過去ログを圧縮して保存するようにしているので、ファイルスペースへの負担は比較的軽いのですが、
それでも長い間ほったらかしにしていると、思わぬサイズになってしまうことがあります。
なので、定期的に整理するようにしましょう。(過去ログが100ファイルを超えたら、くらいかな)
整理するには二通りあるかと思います。
未練を残さず削除してしまうのと、ローカルにダウンロードした上でサーバー上のファイルを削除するのと、になるのですが、
後者ではダウンロード時に注意すべき点が一点あります。
Mireilleでは、1.cgiをGZIP圧縮で削除した場合、「1.cgi-(GZIP圧縮)→1.gz」とした後に、
このままだと管理者以外でも過去ログをダウンロードできてしまうため、「1.gz-(ファイル名変更)→1.gz.cgi」とします。
.htaccessのようにlogディレクトリからのダウンロードを不許可にできれば、こんな小細工も必要ないのですが、
色々なサーバーで動くようにすると、.htaccessに頼りきりになるわけにも行かないため、このような仕様になっています。
で、このファイル名変更処理は所詮小手先の業なため副作用が出ます。
Windows向けFTPソフトにはファイルの転送モードが「テキスト/ASCIIモード」と「バイナリモードが」あります。
二つの違いは、ASCIIモードだとファイル転送時にs/\x0a/\x0d\x0a/g
し、バイナリモードではしません。
テキストファイルとは文字情報を保存しているファイル。
バイナリファイルは絵や音、プログラムなどのファイル。
テキストファイルでは、OSごとに改行文字が異なるため、改行文字を変換する必要があります。
で、ちょっと気の利いたFTPソフトは、ファイルの拡張子によってこの転送モードを自動的に切り替えてくれるのです。
拡張子cgiは普通テキストなので、「ASCIIモード」でファイル転送が行われます。
1.gz.cgiはGZIP圧縮しているので実はバイナリファイルなのに・・・
「ASCIIモード」で転送された1.gz.cgiは、哀れ、トンチンカンな改行処理をくらって、ファイルが破壊されます。
で、対策ですが簡単です。ダウンロード前に1.gzに戻してダウンロードすれば、
FTPソフトはgzはバイナリファイルだと知っているので、破壊されることはないです。
(転送モードの自動判定をOFFにして、バイナリモードを強制して、ダウンロードしてもOKです。)
「荒らしになりそうな人にはサイトのURLを教えない」、「荒らされそうなコンテンツを扱わない」、
といった事前策があるのですが、来てしまったものは仕方がありません。
早速撃退策を練りましょう。
心に余裕のある方だったら、荒らしをからかって暇つぶし、飽きたらポイ捨て、というのも趣があり、おもしろいのですが、
みながそんな気分なはずもないので、まじめにいきます。
世の荒らし対策ページ、というので紹介される対策は、主に以下の三種類でしょう。
一つ目は定石中の定石、基本中の基本です。
世の荒らしの8割以上は愉快犯という統計もある(ほんとか?)通り、荒らしはおもしろくなければ止みます。
なので「荒らしている人のことを罵倒しよう」というのは、荒らしを止めさせたいのであれば絶対にやってはいけません。
(逆に暇ならちゃんと相手をしてあげないとダメです。)
二つ目も定石といえば定石なのですが、今となってはあまり効果がないように思えます。
荒らし対策BBSの「荒らし対策」とは機械化された自動の荒らしを指すことが多く、自動化荒らしへの対策がなされています。
しかし、今時の技術的レベルの低い荒らしには逆に無力です。
「騙り(他の人の名前を偽って発言し、場を混乱させること)」への対策として導入された「トリップ」機能は、
ある程度有効かもしれませんが、荒らし対策BBSで今時の荒らしを止めさせることは困難だと思われます。
三つ目は確実ではありますが、高い技術を持っていないとできませんし、Proxyを使える人相手では技術戦になりがちですが、
時によっては一発で荒らしに止めをさせるので確実です。
具体的な手法についてはgoogleで「荒らし対策」「追跡」などのキーワードで検索してください。
とは言っても、やはり自分で荒らしのISPを突き止めるのは大変です。
大手プロバイダの「ホームページスペース」を使っていたり、一部の有料レンタルサーバーを使っているなどで、
サーバーが面倒のいいところの場合は、サーバーに泣きつくのも一つの手段です。
基本的に大手はスペースの値段が割高なのですが、それはこういうときのサポートのために割高になっているのだ、
と自分勝手な解釈をして助けを求めれば、それなりの対応をとってくれるかもしれません。
その際は荒らされたログをとっておき、見せることを忘れずに。
こちら側のプロバイダが、荒らし側のプロバイダを責めるときに、荒らされたログが必要ですので、必ずとっておきましょう。
また、自分の側のサーバーが頼りない時でも、荒らされ方によっては、他を頼ることができます。
荒らしの文言に「殺してやる」とかそれに類する言葉があった場合、脅迫として警察に駆け込めるかもしれません。
一昔前では「民事不介入」などとのたまうばかりで頼りにならなかったようですが、
近頃は何件か「脅迫として逮捕した」と報道もされているなので、結構頼りになるようです。
この場合でもログが絶対に必要です。
荒らされることと、それに打ち勝つことはは、有名ページへと上り詰めるためには必要不可欠なステップです。
Webの星を目指すため、重いコンダラをひきひき、試練の道を行って、ど根性を見せてください。(謎
Mireilleは、このMireille.txtとそのほか一部のファイルを除いて全て、
EUC-JPという漢字コードで書かれています。
そのため、メモ帳を筆頭とする、EUC-JP非対応のエディタでは編集することが出来ません。
EUC-JP対応のエディタをご使用ください以下は推奨するエディタです。
TeraPad
http://www2s.biglobe.ne.jp/~t-susumu/toclip/
秀丸エディタ
http://hidemaru.xaxon.co.jp/
さくらエディタ
http://sakura-editor.sourceforge.net/
他にもEmEditorやWZEdiotrなどが対応しています。
特に本格的にやるならば、色分けをしてくれるエディタだと格段に、
効率が上がり、かつミスも減ると思います。
ちなみに成瀬は2001年中ごろから、
アンカーシステムズ株式会社のPeggyProを使っています。
Perl言語の色付けの精度では、トップクラスの正確さでしょう。
PeggyProは有料ですが、PeggyPadは無料です。
他にもAiremix/info.からいろいろなテキストエディタの配布サイトへ飛ぶことができます。
基本的にはOPTGROUP要素とOPTION要素をあわせて使うことをお勧めします。
具体的な形式としては、
<OPTGROUP label="グループ1">
<OPTION value="11.png">アイコン1</option>
<OPTION value="12.png">アイコン2</option>
</OPTGROUP>
<OPTGROUP label="グループ二">
<OPTION value="21.png">アイコン一</option>
<OPTION value="22.png">アイコン二</option>
</OPTGROUP>
<OPTION value="1.png">アイコン壱</option>
<OPTION value="2.png">アイコン弐</option>
のような形になります。
OPTGOUPタグ外のOPTIONは全体の末尾に存在しないといけません。
できればこうするよりも、OPTGROUPに属さないようなOPTIONは、
グループ名を「その他」などにして、何らかの形でOPTROUPタグ内に入れてしまったほうがいいです。
(具体的に言えば、icon.txtの内容が丸ごとSELECTタグの中身となります)
ちなみにOPTGROUP要素はHTML4で新しく追加された要素で、
InternetExplorer6forWindows、InternetExplorer5forMacintosh、Netscape6、Mozilla、Opera7などが対応しています。
これら以外では無視されますが、見易さ・分類のしやすさをを考慮すると、
今のうちからつけておいたほうがいいと思います。
ちなみに、OPTGROUPはHTML4の規格上入れ子にできないようになっています。
例えば、http://www.airemix.com/
の下に、設置し、
FTPサーバーでのディレクトリの構造が、
パス | 属性 | 用途 |
---|---|---|
/ | 755 | FTPのルートディレクトリ |
/public_html/ | 755 | FTPのHTTPに公開するルート |
/public_html/icon/ | 755 | アイコンディレクトリ |
/public_html/icon/hoe/icon1.png | 644 | アイコン1 |
/public_html/icon/hoe/icon2.png | 644 | アイコン2 |
/public_html/icon/icon3.png | 644 | アイコン3 |
/public_html/bbs | 777(755) | 掲示板のディレクトリ |
/public_html/bbs/index.cgi | 755(700) | CGI起動ファイル兼設定 |
/public_html/bbs/icon.txt | 666 | アイコンリスト |
/public_html/bbs/icon.html | 666 | アイコン見本 |
のような状態になっている時(掲示板のほかのファイルは省略)には、
$CF{'icon'}='../icon/';
とし、<OPTION value="hoe/icon1.png">
などとする<IMG src="../icon/hoe/icon1.png">
になる$CF{'icon'}='/icon/';
とし、<OPTION value="hoe/icon1.png">
などとする<IMG src="/icon/hoe/icon1.png">
になる$CF{'icon'}='http://www.airemix.com/icon/';
とし、<OPTION value="hoe/icon1.png">
などとする<IMG src="http://www.airemix.com/icon/hoe/icon1.png">
になる$CF{'icon'}='';
とし、<OPTION value="../icon/hoe/icon1.png">
などとする<IMG src="../icon/hoe/icon1.png">
になる$CF{'icon'}='';
とし、<OPTION value="/icon/hoe/icon1.png">
などとする<IMG src="/icon/hoe/icon1.png">
になる$CF{'icon'}='';
とし、<OPTION value="http://www.airemix.com/icon/hoe/icon1.png">
などとする<IMG src="http://www.airemix.com/icon/hoe/icon1.png">
になるのような指定の仕方があります。
結局は、「アイコンディレクトリの指定+アイコンリストの指定」→きちんとした「相対/絶対URL」
となっていればいいわけです。
この理由から、
アイコンディレクトリを$CF{'icon'}='../icon/';
とし、
icon.txtを<OPTION value="/hoe/icon1.png">
などとする場合は、
足すと<IMG src="../icon//hoe/icon1.png">
となってしまい、おかしいわけです。
Mireilleのアイコンリスト形式は、基本的にはOPTGROUPとOPTIONを使って、SELECTタグの中身を書く、
といったものですが、HTMLのコメントを使って拡張情報を埋め込むことができます。
この項ではその拡張情報の一つ、著作権表示機構を説明します。
著作権表示機構用の拡張命令には、一次著作権者を指定するためのCOPY1と、製作者を指定するVENDORがあります。
一次著作権者はアイコンに使われている画像のそもそものオリジナルを書いた人または団体であり、
製作者はそのアイコンを配布している人または団体です。
例えば、成瀬がDRAGON QUESTのスライムをアイコンにして配布していたとします。
その場合、一次著作権者(COPY1)はDRAGON QUESTの発売元であるENIXになり、
製作者(VENDOR)は成瀬になります。
さて、COPY1命令とVENDOR命令にはNAME,URL,LNKというオプションがあります。
NAMEではCOPY1やVENDORの名前を、URLではサイトのURLを指定します。
LINKについてはここでは省略します。
さて、実際に使ってみましょう。
<!-- %BEGIN_VENDOR --> #VENDOR設定を始める
<!-- %VENDOR_NAME 成瀬 --> #VENDORの名前は「成瀬」
<!-- %BEGIN_COPY1 --> #COPY1設定を始める
<!-- %COPY1_NAME ENIX --> #COPY1の名前は「ENIX」
<!-- %COPY1_URL http://www.enix.co.jp/ --> ENIXのURLは「http://www.enix.co.jp/」
<OPTGROUP label="DRAGON QUEST"> アイコングループ「DRAGON QUEST」開始
<OPTION value="dq/suraimu.png">スライム</OPTION> スライムのアイコン
</OPTGROUP> アイコングループ終了
<!-- %END_COPY1 --> COPY1設定の終了
<!-- %END_VENDOR --> VENDOR設定の終了
以上のような具合になります。
HTMLでいうと、BEGIN_VENDORが開始タグ、END_VENDORが終了タグにあたる、と言えばわかりやすいかもしれません。
上の例の%BEGIN_COPY1との二行に注目してください、ここは以下のように一行で書き換えることができます。
<!-- %BEGIN_COPY1 ENIX --> #COPY1の設定を始める、COPY1の名前は「ENIX」
このような省略記法を使うと、多少アイコンリストが見やすくなるかもしれません。
理論上は無限になっています。
ただ、CGI処理の負荷やHTTP転送の負荷を考えると、
ほどほどの数にしておいたほうがいいかもしれません。
わたしの側ではアイコン数800でそこそこのスピードで動作することを確認しています。
アイコン見本(icon.html)を見る時は一度に全てのアイコンを表示させる、ということも留意する必要があるでしょう。
管理CGIの「CONFIG設定」で設定できます。
または、
$CF{'cmic'}='1';
としたうえで直接設定ファイルを編集しても設定可能です。
設定の形式は
$IC{'hae'}='mae.png'; #苗
$IC{'hie'}='mie.png'; #贄
$IC{'hue'}='mue.png'; #鵺
$IC{'hee'}='mee.png'; #姐
$IC{'hoe'}='moe.png'; #乃絵
このようになっています。
実際に使う場合は「コマンド」欄を使用します。
上の例のように設定されているとすると、
コマンド欄に「icon=hoe」と入力すればアイコンに"moe.png"が設定されます。
注意:アイコンパスワードには =
や ;
は使用できません。
なるべくアイコンパスワードは [-_a-zA-Z0-9]
な文字で構成されているほうがいいと思います。
Mireilleやその説明で意味がわかりにくいと思われる語の解説です。
基本的に以下のように表記しているはずです。
とりあえずこのような感じでしょうか
他にも意味の明確でない語があれば、掲示板でおっしゃってくださいまし、追加します。
#!/usr/local/bin/perl
と#!/usr/bin/perl
を両方試してみて、・・・そのエラースクリーンに表示される情報を参照してください。
もともと成瀬がサポートするときのためにつけたものなので説明が不親切な場合があり、
解決策がわからないかもしれませんが・・・。
その場合はAiremixの掲示板で、そのエラースクリーンの情報と共に聞いてくだされば、サポートできるかもしれません(曖昧
成瀬に聞く際は「ERROR:...」だけでなく、エラースクリーンで表示される情報全てを教えてください。
わたしのサポート用に必要な情報はエラースクリーンでほとんど集まるようにしているので、
一部だけでは情報が集まらないのです。
たいてい、GZIP圧縮転送機能と無料サーバーによくある強制広告挿入機構のコンボが原因でしょう。
対策としては、index.cgiの $CF{'conenc'}='|gzip -cfq9';
を $CF{'conenc'}='';
と変えて下さい。
原因が特定できないのでAiremixの掲示板で成瀬に聞いてください。
まだ確認できていないバグが原因の可能性があります。
書き込んだ内容はちゃんと表示されるのに、メニューとかが文字化けしている、
またはその逆に、メニューとかはちゃんと表示されるのに、書き込んだ内容が文字化けしている、
という場合は、CGIをエディタで編集する際にEUC-JP以外の漢字コードで保存してしまっています
一番多い原因は、エディタの設定で、「保存時に漢字コードをShift_JISにして保存する」
というような意味の設定が ON になっていて、EUC-JP以外の漢字コード(この場合はShift_JIS)で
保存してしまっている、という場合が多いと思います
この場合は前述のエディタの設定を「読み込んだときの漢字コードと同じもので保存する」
というようにしたうえで、「漢字コードを指定して保存する」という項目を探し、
EUC-JPで保存しなおした上で、再度サーバーにアップロードすれば、文字化けが解消されていると思います
これでも文字化けしている場合はAiremixの掲示板に書き込んでください
できるだけ善処します
ちなみに、TeraPadではこの問題に陥ることがあると思いますが、
TeraPadで一つ一つのファイルを開いて、
表示 → オプション → ウィンドウ/漢字コード タブ → 漢字コード グループ
→ □漢字/改行コードを自動認識する にチェックをつける
→ 下の二つは両方「読み込み時の○○コードと同じ」を選ぶ
とすることで解決すると思います
エディタで保存時にShift_JISにしてしまう以外に、
FTPソフトでアップロードするときにEUC-JPからShift_JISに変換してしまう場合もあります
「アップロード時に漢字コードを変換しない」というような意味の設定をしておきましょう
EUC-JPのファイルをアップロードして、ダウンロードして、エディタで見てみて、
Shift_JISになっていたら、FTPソフトが原因の可能性が高いです。
Netscape6を始めとしたMozilla系のブラウザでは、
あるバージョン以降からMIME-TYPEにtext/cssが指定されていないCSSファイルを、CSSファイルとして扱ってくれません。
そのため、CSSのMIME-TYPEが正しく設定されていないサーバーでは、
個々人で.htaccessを指定することによって、MIME-TYPEを指定しなければなりません。
.htaccessの設置を許可しているサーバーなら、Mireilleの圧縮ファイルに入っている.htaccessを、
そのままstyle.cssのあるディレクトリにアップロードすればOKです。
.htaccessの設置を許可していないサーバーの場合は、サーバーのサポートに対して、
「http://www.mozilla.gr.jp/standards/webtips0016.htmlで言及されていることが起きている」
と相談してください。
この問題についてはMireille側で対処することはできず、サーバー側で対処する必要があります。
無料サーバーなどだと、セキュリティ確保のために、サーバー側から、
「CGIスクリプトのパーミッションは 700 にしてください」
と言われることがあると思います。
この場合は、この説明書の記述に関わらず、サーバー側の指示に従ってください。
基本的に、パーミッションは多少動作がおかしくても、動いてさえいればあっています。
パーミッションが原因のエラーは基本的に「500 Internal Server Error」か、「Can't write...」系のエラーのみです。
おそらくわたしのミスです。
申し訳ありませんが、無い物と思ってください。
設定ミスかMireilleのバグが五分五分です。
一通り説明を見て、設定を確認して、間違いないようでしたら、バグだと報告してください。
ちなみに自分ひとりで悩む時間は1時間が目安です。
何時間も悩むような状況が発生したら、説明書がわかりにくいのも「バグ」のうちなので、それも「Mireilleのバグ」です。
他にも意見を下さった方々、参考にしたサイト・CGIの作者さんに感謝します。
この説明では™や®や©マークは省略しています。
それぞれのサイト名やソフトウェア名などは各々の商標や登録商標などです。