BBSNote 配布元 : WonderCatStudio
スキン : KURAGEYA
2006.5.5 サポート終了・説明書更新
ダウンロードしていただきありがとうございます。
この Readme_8.html は、BBSNote 8.0 b版 対応スキン共通の説明書です。
よく読んでスキンをご利用ください。
全体的にシンプル系のデザインで多機能です。
文字のみの投稿・写真投稿・お絵描き投稿が混在していてもすっきりです。
普通の掲示板と併用できそうなデザインを目指しています。
縮小表示などの機能やデザイン面に関することなどの設定項目が多く、細かくカスタマイズできます。
ここでは詳しい解説はしませんので、skincfg.cgi をよくご覧になってください。
そのままでもOKですが、skincfg.cgi でいろいろ設定変更してみてください。
#■[022] 親記事タイトルの前後におく装飾(スペースや画像など)
$MESGTITLE1 = '<IMG src="'.$img_dir.'/画像ファイル名" alt="" width="横幅" height="高さ">';
(スキンによって設定項目が違ったり、ちょっと特殊な設定があったりします)
ここと [011〜031] の変更によってデザインが大きく変わります。
デザインをどんどん自分好みにしてってください♪
色などのデザイン関係は表示形式が決定してからいじるとやりやすいです。
シンプルなグレー系の配色(黒背景スキンの場合は黒系配色)になっていますが、お好みで変更してください。
一部のスキンには「 ○○○*Color 」版があります。
テーブルの色など、どこかの色選択が加わっているスキンです。
文字のみ投稿ばかりでも、画面が華やかになります。
「指定なし」の色は、当サイトのスキンの場合、skincfg.cgiの「#■[018] テーブル内設定(背景色や背景画像)」などの設定が反映されます。
「 ○○○*Color 」版設置には、本家から出ている font.cgi というモジュールが必要です。
文字色選択をOFFにしてテーブル色選択機能のみの使用、または、両方とも選択可能というふうにできます。
config.cgi のモジュール設定、font.cgi の設定を忘れずに行ってください。
通常版、Color 版 では skincfg.cgi が少し違います。
「variation」フォルダにあるいくつかのパターンの skincfg.cgi は Color 版対応なので、通常版に使用する場合は[追加項 テーブル色]の項目をまるごと削除するか、行頭に「#」をつけてください。
他はそのまま使えます。
色設定は font.cgi で設定する文字色と別に設定できるようになっています。
skincfg.cgi の上のほうに以下のような部分があります。
選択できる色を変更したいときはここをいじってください。
$Font::CFG{ ColorList }{ table_color } = [' 〜 省略 〜 ',]; #●色設定
font.cgi の色設定をそのまま使用する場合、次のようにカスタマイズしてください。
$Font::CFG{ ColorList }{ table_color } = $Font::CFG{ ColorList }{ font_color }; #●色設定
「指定なし」の文字を変更したい場合、
どうしても「指定なし」項目そのものを削除したい場合(オススメしません)、
font.cgiを自己責任でいじってください。
たとえば削除する場合は次の部分を削除します。
$list .= "<NOBR><INPUT type=radio name=$_ value=''".
(!exists $main::COOKIE{ $_ } ? ' checked':'').
'>'.&main::SetTag($main::CFG{ TagFormItems },{string=>'指定なし'}).'</NOBR>';
参考までにコピペして使用できる色見本を並べておきます。
濃い色を文字の背景にする場合は、文字色を読みやすいように変更した方がいいです。
ここではトーンでそろえていますが、同系色にしてもいい感じです。
色の選び方で大きくイメージが変わるので、ぜひ色見本サイトなどを参考にいろいろやってみてください。
最後に必ず著作権表示が正しくなっているかを確認してください。
#■[***] 著作権表示追記
$Tyosaku = '';
#■[***] 著作権表示追記
$Tyosaku = 'graphics by <A href="素材屋URL" target="_blank">素材サイト名</A>';
#■[***] 著作権表示追記
$Tyosaku = 'skin edit by 改造者の名前やサイト名など graphics by <A href="素材屋URL" target="_blank">素材サイト名</A>';
config.cgi の設定「#【 027 】タグを使用可能にする」でタグの使用をONにすると
FONTタグなどを使って文章を装飾することができます。
タグを使用するとき、 <FONT color=" "> 〜 </FONT> のように "" をつけることを忘れないで下さい。
スタイルシートで行間を指定することにより文章を読みやすくしているため、
FONTタグを使用すると文字が重なってしまう現象が起きます。
スタイルシートを次のどちらかに修正してください。
はっきりとした絵がとても汚い感じになってしまうのは JPEG で保存されてしまうからです。
絵の保存形式は、paint.cgi の「# ★圧縮/減色を開始するサイズ」で設定します。
デフォルトではすべての絵が JPEG 保存になるようになっています。
鉛筆ペン描きのはっきりとした絵はPNGで、水彩ペンを使った絵はJPEGで保存したいのなら、
config.cgi の設定を 'image_size' => 60, # PNG/JPEG自動切換え に変更するのがおすすめです。
数値を大きくすると、よりサイズの大きな画像もPNGで保存されるようになります。
動画が保存されていないPNG画像は、BBS Note の仕様上「続きから描く」ができません。
PNG保存で続きから描くには、動画を保存しなければなりません。
つねに JPEG保存にするか、paint.cgi で次のように動画保存強制などの予防策が考えられます。
# ★描画アニメーションを記録する
'animation' => 'true',
当サイトのサンプル掲示板のように注意事項などをつけくわえたい場合、
無料サーバーを使っていて広告を挿入しなくてはならない場合、
config.cgiの設定を変更します。
config.cgiに#【 039 】〜【 043 】 という部分があります。
たとえば上部に注意事項を加えたい場合こうなります。普通にタグをつかって文章をいれればOKです。
#【 041 】BBS表示時のメッセージ表示する上部(メニューより下)
$CFG{ TxtBbsMsg }=<<'_TXT_';
ここに追加文章などをいれます。「荒らしはダメですよ」とか。
_TXT_
画像がきちんとアップされているかを確認します。
ときたま画像を正しく読み込まないことがあるので、更新ボタンを何度か押してみてください。
画像を入れ替えたときもブラウザで更新しないと変わりません。
config.cgiの 「#【 041 】BBS表示時のメッセージ表示する上部(メニューより下)」 は、
トップ入力フォームの上に挿入されます。
そこではなく、トップ入力フォームの下に挿入したいときは、次のところに直接入れてみてください。
local $SKIN_MENU_FORMAT=<<HTML;
〜 省略 〜 $CFG{ TxtBbsMsg } 〜 省略 〜
HTML
local $SKIN_MENU_FORMAT_B=<<HTML;
ここに挿入
HTML
もしくは $CFG{ TxtBbsMsg } をそこに移動してもよいです。
ただし、search.cgi を使用しているときは、削除・編集ができなくなるので直接挿入します。
alt属性をいじりたい場合、skin.cgi から「ART設定」を検索で探します。
# ART設定 EL[★☆☆]
my $art = "$Data{ImageSrc} ( $ObjectFileSize KB ) by ".$App;
ここをいじります。以下変更例↓
# ART設定 EL[★☆☆]
my $art = "$Data{ImageSrc} ( $LogValue{file_width} x $LogValue{file_height} / $ObjectFileSize KB ) by ".$App;
# ART設定 EL[★☆☆]
my $art = "$Data{ImageSrc}";
# ART設定 EL[★☆☆]
my $art = "by ".$App;
# ART設定 EL[★☆☆]
my $art = "$Data{ImageSrc} ( $ObjectFileSize KB )";
投稿画像のIMGタグの属性をいじりたい場合、以下の部分で属性の追加・削除・編集をします。
skin.cgi から「$art」を検索で探すと「my $img = {」 〜 「};」となるところが3箇所ほどあります。
(1つめが縮小表示、2つめがサムネイル、3つめが通常表示)
my $img = {
TAG => 'IMG',
〜 省略 他に指定されている属性と同じようにここに属性を記述していく 〜
alt => $art,
};
たとえば、border="1"にしたいときは、border => '0', の行を border => '1', にします。
class属性を指定したいときは、class => '任意のクラス名', の行を追記して、
スタイルシートでそのクラスへの指定をすればOKです。
カタログ表示のときに、通常表示記事にリンクをはりたいときは
以下のようにカスタマイズするとよいと思います。
(サポ板を参考にしました)
if($IN{mode} eq 'catalog'){
$tag={TAG => 'A',href => "$CFG{ BBSNoteUrl }?".&SetTextGlobalArg(
{fc => 'thread', log => $IndexNumber, no => $LogValue{num}, page => $IN{page}})
#."&reply" #返信フォーム画面にする場合は行頭の「#」を削除
,target => '' #ターゲットウインドウ
};}
$NoImage = &main::SetTag({TAG=>'A',href=>"$CFG{ BBSNoteUrl }?".&SetTextGlobalArg(
{fc => 'thread', log => $IndexNumber, no => $LogValue{num}, page => $IN{page}})
#."&reply" #返信フォーム画面にする場合は行頭の「#」を削除
,target => '', #ターゲットウインドウ
string => $NoImage
});
$thread_link = &main::SetTag({TAG=>'A',href=>"$CFG{ BBSNoteUrl }?".&SetTextGlobalArg(
{fc => 'thread', log => $IndexNumber, no => $LogValue{num}, page => $IN{page}})
#."&reply" #返信フォーム画面にする場合は行頭の「#」を削除
,target => '', #ターゲットウインドウ
string => '■' #リンクする文字
});
8.xのお絵描きに関する設定はほとんどがpaint.cgiにあります。
#【 011 】描画時間の表示
# [ 0 = 表示しない, 1 = 表示する ]
$CFG{ ViewPaintTime } = 0;
# ★描画アニメーションを記録する
# [true = 強制記録, user = ユーザーによる選択, false = 使用しない]
'animation' => 'user',
# ★アニメーションチェックの初期値
# [true = チェック, false = 未チェック]
'default_anime' => 'true',
たとえば、しぃPaintBBSしかアプレットを入れていない場合、以下のように変更すれば、使用しないアプレットの著作権表示や選択フォームがなくなります。
#【 001 】使用するアプレット
# 使用しない場合は行頭に#をつけて下さい。
$CFG{ UseApplet } = [
# しぃペインター通常版
# 'ShiPainterNormal',
# しぃペインタープロ版
# 'ShiPainterPro',
# しぃPaintBBS
'ShiPaintBBS',
# PictureBBS
# 'PictureBBS',
# BBSPainter
# 'BBSPainter',
たとえば上部バーの「戻る」「進む」といったボタンが、背景色と同化して見づらくなることがあります。
また背景画像や背景色にアプレットの配色が似合わないこともあります。
そのときは、skincfg.cgiにある[お絵描き画面設定]のカラーを変更してください。
#■アプレットの配色: 〜
# ★アプレット下地とボタンカラー等
# ★ツールバーのボタンカラー等
パレットの有無を変える機能はついていません。
削除しても問題はないと思うのですが、自己責任でお願いします。
$Layout{DIV_PALETTE_FORM}
$Layout{PALETTE}
特に役に立つかもと思ったものをコピーして持ってきちゃいました。
でも、サポ板は情報の流れが速いので、なるべく本家に行って手に入れてきましょう。
config.cgi か skincfg.cgi にそれぞれコードを付け足せばよいそうです。
いらないメニューを非表示にします。日記として使用したいときなどにどうぞ。
#----------------------------------------------------
push @SkinMenuInitEnd,sub{
if($SYS{MODE}eq'ADMIN'){
#■メニューの表示ON/OFF(0=非表示,1=表示)
# 上から順に トップ・更新・ソート・モード・通常投稿・削除・編集・管理・ヘルプ
#●管理モード
$MENU{ TOP }{ enable } = 0;
$MENU{ RELOAD }{ enable } = 0;
$MENU{ SORT }{ enable } = 0;
$MENU{ MODE }{ enable } = 0;
$MENU{ WRITE }{ enable } = 0;
$MENU{ DELETE }{ enable } = 0;
$MENU{ EDIT }{ enable } = 0;
$MENU{ LOGIN }{ enable } = 0;
$MENU{ HELP }{ enable } = 0;
}else{
#●通常モード、その他
$MENU{ TOP }{ enable } = 0;
$MENU{ RELOAD }{ enable } = 0;
$MENU{ SORT }{ enable } = 0;
$MENU{ MODE }{ enable } = 0;
$MENU{ WRITE }{ enable } = 0;
$MENU{ DELETE }{ enable } = 0;
$MENU{ EDIT }{ enable } = 0;
$MENU{ LOGIN }{ enable } = 0;
$MENU{ HELP }{ enable } = 0;
}
};
#----------------------------------------------------
postcontrol.cgiで管理人のみ投稿許可にした場合は、管理人のみアプレットが見え、他の人には見えなくなります。
こちらのコードも合わせると感覚的によさそうですね。
#----------------------------------------------------
# 管理人も含めて通常表示時はアプレットフォームを表示しない
push @SkinAppletFormBegin,sub{$Flag=''if$SYS{MODE}ne'ADMIN'};
#----------------------------------------------------
#----------------------------------------------------
# コメント編集時、投稿日を更新しないようにする
push @WritePostEditPurge,sub{$LogValue{date}=$BLogValue{date}};
# 編集で画像差し替えアップ時、投稿日を更新しないようにする
push @WritePostEditPurge,sub{$LogValue{date}=$BLogValue{date}if($EditPurge)};
# 続きからお絵描きで差し替え時、投稿日を更新しないようにする
push @Paint::ReplaceContinueBegin,sub{$Paint::DATE=$Paint::LogValue{date}};
#----------------------------------------------------
#----------------------------------------------------
# 表示ローテーション
# normal = 通常 | catalog = カタログ | thumbnail = サムネイル | noimage = 画像なし
# $CFG{ VIEW_ROTATION } = 'normal,catalog,thumbnail,noimage'; # デフォルト
$CFG{ VIEW_ROTATION } = 'normal,catalog';
#----------------------------------------------------
# お絵描きページを新しいウインドで開く
push @Paint::CreateAppletFormEnableApp,sub{$Paint::Layout{BEGIN_FORM}=~s/(name="appform")/$1 target="_blank"/};
# 管理人のみブラウザ情報を表示する
push @HttpHeadInit,sub{$CFG{ViewAgent}=&CheckAuthority(&GetAdminPass)?1:0};
# メッセージ未記入でも投稿しちゃう処理
push @CheckInputInit,sub{
if($SYS{ MODE }=~/POST/ && !$IN{message}){$IN{message} = rand 99;
push @CheckInputBegin,sub{undef $IN{message}}};
};
# コンティニュー時、新規投稿を初期選択にする
push @Paint::OpenContinueBegin,sub{
${(&GetForm(\@Paint::FORMS,'continue'))[3]}{string}=~s/('new')/$1 selected/;
};
skin.cgi の一部を書き換えるタイプのカスタマイズ情報です。
# 送信ボタン追加 ということばをskin.cgiからさがします。
その下の my $form_submit=[[[{ 〜 }]]]; を以下のように変更します。
# 送信ボタン追加
my $form_submit=[[[{
TAG => 'INPUT',
type => 'image',
border => '0',
src => "$CFG{ DirImagesUrl }/reply.gif",
}]]];
if 〜 に $SYS{ MODE } eq 'ADMIN' をつけくわえるのが比較的手軽です。
たとえば、続き機能を管理モードだけ表示されるようにしたい場合は、
$Paint::CFG{ ImageContinue }{ Use } && の後ろに
$SYS{ MODE } eq 'ADMIN' && を付け加えます。
ペイントボタンを他のフォーム項目と違ったデザインにしたいというとき、次のようにしてください。
まず paint.cgi から検索で $ITEM_NAME{'paint'} を探してください。
ひとつめが通常のペイントボタン、ふたつめが続きから描く画面のペイントボタンとなります。
class => 'button', と指定されているこのクラス名を任意のものに変更します。
BBSNote 8.0 b版は多機能なアイコンモジュールが本家から出ています。
デフォルトではアイコンがメッセージの左側まんなかに表示されます。
icon.cgi の #【 016 】アイコン表示用テーブル テンプレート (左寄せ) 〜省略 をいじることによって、アイコンの配置を変更できます。
ぜひスキンにあわせてカスタマイズしてみてください。
アイコンをくっつける場所をメッセージ本文ではなく、投稿者の名前に変えるには、2箇所ある $Data{message} の変数を両方とも $Data{date} に変更します。
※ $Data{number} (投稿No)や $Data{title} (タイトル)にしてしまうとレス記事で表示されなくなります。
変更例(名前の前)
sub IconTamplate{package main;$Data{name}=<<_HTML_;#========================
$Data{icon} $Data{name}
_HTML_
変更例(メッセージ本文の上中央)
sub IconTamplate{package main;$Data{message}=<<_HTML_;#========================
<DIV align="center">$Data{icon}</DIV><BR>$Data{message}
_HTML_
当サイトのスキンは投稿日時を次のように切り替えることができます。
しかし、これ以外の表示にしたい方は次のようにカスタマイズしてください。
親記事の投稿日時の表示を変更する場合、400行前後にある次のような記述を探します。
(スキンによって違う形式の場合があるので注意してください)
# 時間が保存されていた場合表示する。
if($Oyakijitime == 0) {
$Data{date}="";
} elsif($Oyakijitime == 1 && $WEEK_DISPMODE == 0) {
$Data{date}="$date_b $year/$month/$day \($week\) ";
} elsif($Oyakijitime == 2 && $WEEK_DISPMODE == 0) {
$Data{date}="$date_b $year/$month/$day \($week\) $hour:$min";
} elsif($Oyakijitime == 1 && $WEEK_DISPMODE == 1) {
$Data{date}="$date_b $year年$month月$day日 \($weekj\) ";
} else {
$Data{date}="$date_b $year年$month月$day日 \($weekj\) $hour時$min分";
}
とりあえず、ここを次のようにしてください。
# 時間が保存されていた場合表示する。
$Data{date}="";
これで設定項目でどのように指定しても "" の間に並べられた変数が表示されます。
変数は以下のものがあるので好きなように並べてください。
たとえば、01月23日と表示したい場合はこうすればOKです。
# 時間が保存されていた場合表示する。
$Data{date}="$month月$day日";
ちなみに「(」など一部の文字を間にはさむとき、前に「\」を置かないとダメな文字があります。
レス記事の投稿日時の表示を変更するのは親記事と同じ手順です。
580行前後あたりに次のような記述があります。
if($Reskijitime == 0) {
$Data{date}="";
} elsif($Reskijitime == 1 && $WEEK_DISPMODE == 0) {
$Data{date}="$date_b $year/$month/$day \($week\) ";
} elsif($Reskijitime == 2 && $WEEK_DISPMODE == 0) {
$Data{date}="$date_b $year/$month/$day \($week\) $hour:$min";
} elsif($Reskijitime == 1 && $WEEK_DISPMODE == 1) {
$Data{date}="$date_b $year年$month月$day日 \($weekj\) ";
} else {
$Data{date}="$date_b $year年$month月$day日 \($weekj\) $hour時$min分";
}
これを次のように書き換えてあとは中に変数を好きなように入れればOKです。
$Data{date}="";
デフォルトでは数字が一ケタの場合「2003年01月03日...」と「0」が入ります。
この「0」をなくし、「2003年1月3日...」とすることもできます。
検索で ($1,$2,$3,$4,$5,$6,$7); を探します。
3箇所見つかります。(1つめがカタログ、2つめが親記事、3つめがレス記事の表示)
これを ($1, int $2, int $3,$4, int $5, int $6,$7); に変更します。
ページ最上部への「▲」のリンクは <A href="#top">$top_pages</A> がそれにあたります。
不必要な場合は、それを検索で探して削除すればよいです。
テーブルの一列だけを削除するなど削除範囲は各自工夫してください。
<TR><TD align="right"><A href="#top">$top_pages</A> </TD></TR>
レスボタンそのものがいらない場合はレスフォームの入ったテーブルごと削除してもかまいません。
「Scroll」「Transparent」「Box」以外のスキンは、投稿フォームのメッセージ記入欄が横幅100%となっています。
横幅が狭い場合に向いていますが、テーブル幅が広くなると少々格好悪いです。
このメッセージ記入欄を右寄せにすることができます。
skin.cgiから #R4C0 を検索で探すと2箇所見つかりますが、
そのひとつめの周辺の記述が通常投稿フォームのメッセージ記入欄にあたります。
(ふたつめはレイヤーフォーム)
#R4C0 より6行下にあるalign属性指定を right に変更、
18行下にある <BR> を削除、
24行下にあるstyle属性を修正 ( 例 : width:300px;border-right-width:0px; ) します。
当サイトの改造スキンはすべて Basic2 がもとになっており、もともとあった設定を利用することで、テーブルの背景色などを複数指定してメッセージごとに変化させることができます。
(font.cgi 使用は投稿者に色を選択させますが、これは自動的に色を変えます)
初めに skincfg.cgi に以下の項目を追加します。
# ■ 追加設定
$CFG{ TableColors } = [
'#33CC66',
'#33CC99',
'#33CCCC',
'#3399CC',
'#3366CC',
'#3333CC',
];
なお、ここでは色の数値になっていますが、画像ファイル名など自由に変更してください。
いくらでも数を増やして指定できます。
そして skin.cgi で $table_color という文を変化させたい値に相当するところに追加すればOKです。
たとえばテーブルの背景なら 〜 bgcolor="$table_color" 、
スタイル指定なら 〜 style="background-color:$table_color;" という具合です。
Simple スキンでは、700行前後あたりにある $Mesg_Out_TABLE を削除して、かわりに bgcolor="$table_color" を置けば、枠の色が skincfg.cgi で指定した色に変化します。
その近くにある $Mesg_In_TABLE ならテーブル背景色、 $Title_In_TD ならタイトルの背景色です。
BBSNote 8.0 b14では、メニューの後に改行がひとつ挿入されるという変更がされています。
(b16はそうではないようですが)
縦につながるスキン「Scroll」と「Transparent」では、変な空間ができるというデザイン面の問題が起きます。
この改行に不都合を感じられる方は bbsnote.cgi の 119行にある print "$Data<br>"; という部分の <br> を削除してください。