//BaseAdd="http://www.bc.wakwak.com/~cosa/";
BaseAdd="http://127.0.0.1/~tukimi/hello2/"; //元となるHPアドレス
Depth=3; //フォルダー階層の深さ
DiaryFolder="diary"; //日記の入っているフォルダー名
NowDiaryFile="diary.html"; //今月の日記ファイル名
DiaryNumber=2; //Nemu[?]の何処に入っているか?
HtmlFileExtension=".html"; //HTMLファイルの拡張子
MainSubstance='
'; //リスト本体の周り
MainList='
'; //メインリストの周り
MainListSelected='- '; //メインリストの選択されている時
ChildrenList='
'; //子リストの周り
ChildrenListSelected='- '; //子リストの選択されている時
GrandchildList='
'; //孫リストの周り
GrandchildListSelected='- '; //孫リストの選択されている時
NemuNumber=9; //メニューの数
Nemu=new Array(NemuNumber);
Nemu[0]=new Array( "home.html", //メニューのアドレス HPアドレスからの相対パス 絶対パスでも可
"HOME", //メニューの名前
"TOPに戻ります" , //メニューにtitle属性をつけるとき、無記名でも可
"No", //Noなら子リスト無し
"",
""
);
Nemu[1]=new Array( "profile.html",
"PROFILE",
"僕のちょっとした自己紹介です",
"Yes", //Yesなら子リスト作成
"名前,性別,年齢", //子リストのリスト
"#name,#sex,#old", //子リストのアドレス
""
);
Nemu[2]=new Array( "diary.html",
"DIARY",
"毎日つけています(はきっリいってつまらないです((((((^_^;))",
"DiaryList()", //日記のときはこれを入れる
"",
"",
""
);
Nemu[3]=new Array( "http://127.0.0.1/~tukimi/hello2/bbs.html",
"SCRIBBL BBS",
"何でも書き込んで!",
"No",
"",
"",
""
);
Nemu[4]=new Array( "http://127.0.0.1/~tukimi/oekakibbs/oekaki.cgi",
"GRFFITO PIAZZA",
"お絵かき掲示板です。お好きな絵を描いて下さいませ",
"Cgi", //CgiならBBS等のページのリスト作成
"oekaki.cgi?mode=pageview&page=,?mode=pageview&page=", //次のページのアドレスを入れる
"",
""
);
Nemu[5]=new Array( "http://www.hello.co.jp/php/log.phtml?user=ohtsuki",
"VISITOR",
"このページに来てくれた人です(Helloユーザーのみ)",
"No",
"",
"",
""
);
Nemu[6]=new Array( "whats_new.html",
"What's New",
"このページの更新記録です",
"No",
"",
"",
""
);
Nemu[7]=new Array( "link/link01.html",
"LINK",
"リンク集です",
"No",
"",
"",
""
);
Nemu[8]=new Array( "mailto:tsukimi@to-sen.net", //メールの場合は mailto: のあとにメールアドレス
"MAIL",
"管理人(月見)にメールが送れます",
"No",
"",
"",
""
);
BaseAddBlame=BaseAdd; //HPアドレスを BaseAddBlame にコピー
NemuAdd=window.location.pathname; //NemuAdd にアドレスのパス名を代入
NemuName=NemuAdd.split("/"); //アドレスのパスを / で区切る NemuName[0]〜NemuName[...]を作成し中に区切ったものを入れる
SecondLetter=NowDiaryFile.slice(0,2); //今月の日記ファイル名から始めの2文字を切り取る diary.html なら di
/* ------------------------ メニューリストの初期処理開始 ------------------------ */
for(B in Nemu) //メニューの数だけ B に 1 を足しながら処理
{
Nemu[B][10]=Nemu[B][0]; //Nemu[B][0](メニューのアドレス)をNemu[B][10]にコピー
if(Nemu[B][3] == "Yes") //Nemu[B][3]がYesだったら以下の処理
{
Nemu[B][4]=Nemu[B][4].split(","); //Nemu[B][4] (子リストのリスト) を , で区切りNemu[B][4]に戻す Nemu[B][4][0]〜Nemu[B][4][...]を作成し、子リストの リスト をそれぞれ代入していく
Nemu[B][5]=Nemu[B][5].split(","); //Nemu[B][5](子リストのアドレス)を , で区切りNemu[B][5]に戻す Nemu[B][5][0]〜Nemu[B][5][...]を作成し、子リストのアドレスをそれぞれ代入していく
};
if(Nemu[B][3] == "Cgi") //Nemu[B][3]がCgiだったら以下の処理
{
Nemu[B][4]=Nemu[B][4].split(","); //Nemu[B][4](次のページのアドレス)を , で区切りNemu[B][4]に戻す Nemu[B][4][0]とNemu[B][4][1]を作成
Nemu[B][4][0]=Nemu[B][4][0].replace("&","&"); //Nemu[B][4][0]の中に & があったら & に置換
Nemu[B][4][1]=Nemu[B][4][1].replace("&","&"); //Nemu[B][4][1]の中に & があったら & に置換
};
};
/* ------------------------ メニューリストの初期処理終了 ------------------------ */
/* ---------------------------- リスト作成処理開始 ---------------------------- */
document.write(MainSubstance); //
タグを書き込む 設定 12行目
document.write(MainList); //
タグを書き込む 設定 13行目
for(D=0;D'); //メニューの名前を書き込み 設定 14行目
if(Nemu[D][3] == "Yes") //Nemu[D][3]が Yes なら以下の処理
{
ListBottom(); //関数 ListBottom()230行目 を実行
};
if(Nemu[D][3] == "Cgi" && CgiPageMax >= 1) //Nemu[D][3]が Cgi なら以下の処理
{
ListCgi(); //関数 ListCgi()207行目 を実行
};
D++; //D に 1 を加える
}else if((NemuName[Depth] == DiaryFolder || NemuName[Depth] == NowDiaryFile) && Nemu[D][1] == Nemu[DiaryNumber][1]){
//↑NemuName[Depth](NemuName 107行目,Depth 4行目)とDiaryFolder(6行目)が等しい場合
//またはNemuName[Depth]とNowDiaryFile(7行目)が等しい場合
//そしてNemu[D][1](メニューのアドレス)がNemu[DiaryNumber][1](DiaryNumber 8行目)が等しい場合に以下の処理
document.write(MainListSelected+Nemu[D][1]+''); //メニューの名前を書き込み 設定 14行目
DiaryList(); //関数 DiaryList() を実行
D++; //D に 1 を加える
};
if(D == NemuNumber){break;}; //D とメニューの数が等しくなったらループ(for)を抜ける
if(ReferenceAdd != -1 || ReferenceMail != -1) //ReferenceAdd か ReferenceMail が -1 じゃなかったら以下の処理
{
BaseAdd=""; //BaseAdd を空にする (絶対パス)
}else{ //ReferenceAdd か ReferenceMail が -1 だったら以下の処理
BaseAdd=BaseAddBlame; //BaseAdd に BaseAddBlame(HPアドレスのコピー)を代入
};
if(Nemu[D][2] != "") //Nemu[D][2](メニューにtitle属性をつける?)が空じゃなかったら以下の処理
{
document.write('- '+Nemu[D][1]+'
'); //空じゃなかった場合の処理
}else{
document.write('- '+Nemu[D][1]+'
'); //空だった場合の処理
};
};
document.write('
'); // の書き込み
document.write('
'); //
の書き込み
/* ---------------------------- リスト作成処理終了 ---------------------------- */
function ListCgi() //Nemu[?][3]がCgiだった場合の処理
{
document.write(ChildrenList); //タグを書き込む 設定 16行目
for(F=1;F'); //ページ数を表示 設定 17行目
F++; //F に 1 を加える
};
if(F == CgiPageMax){break;}; //F と CgiPageMax が等しくなったらループを抜ける
document.write('- Page'+F+'
');
}; //↑ページ数のリンクを表示
document.write('
'); //を書き込む
};
function ListBottom() //Nemu[?][3]がYesだった場合の処理
{
document.write(ChildrenList); //タグを書き込む 設定 16行目
for(E1 in Nemu[D][4]) //Nemu[D][4][...](148行目)の数だけ E1 を 1 を増やしながらループ
{
document.write(ChildrenListSelected+''+Nemu[D][4][E1]+'');
}; //↑子リストのリストを作成 ChildrenListSelected 17行目
document.write('
'); //タグを書き込む
};
function DiaryList() //日記を使う場合の処理 使わない場合はこれより下を消してもよい。
{
BaseDiaryAdd=BaseAdd+DiaryFolder+'/'; //BaseDiaryAdd にBaseAdd(2行目)とDiaryFolder(6行目)と / を足したものを代入
StartYear =1999; //日記を始めた年
StartMonth=10; //日記を始めた月
MonthDepth=5; //過去の日記のフォルダーのある階層の深さ
NowMonthDepth=3; //今書いている日記ファイルのある階層の深さ
DiaryAdd=window.location.pathname; //DiaryAdd にアドレスのパス名を代入
DiaryName=DiaryAdd.split('/'); //DiaryName にDiaryAddを / で区切ったものを代入 DiaryName[0]〜DiaryName[...]を作成し中に区切ったものを入れる
YY=new Date().getFullYear(); //YY に今の西暦を代入
MM=new Date().getMonth()+1; //MM に今の月を代入
RemainYear=YY-StartYear; //RemainYear に今の西暦からStartYear(日記を始めた年)を引いたものを代入
if(StartMonth<10){StartMonth="0"+StartMonth;}; //StartMonth(日記を始めた月)が10未満だったらStartMonthの前に 0 をつける
B1=0; //変数の宣言
C1=0; //変数の宣言
if(DiaryName[NowMonthDepth] != NowDiaryFile) //DiaryName[NowMonthDepth](DiaryName 251行目,NowMonthDepth 249行目)とNowDiaryFile(7行目)が等しくなかったら以下の処理
{
Depth=MonthDepth; //Depth に MonthDepth(248行目) を代入
}else{ //等しい場合の処理
Depth=NowMonthDepth; //Depth に NowMonthDepth(249行目) を代入
};
NowPageMonth=DiaryName[Depth].substring(0,2); //NowPageMonth に DiaryName[Depth] (DiaryName 251行目,Depth 263行目 or 266行目) から始めの2文字を切り取ったものを代入 つまり今表示されているページの月
NowPageYear =DiaryName[Depth-1]; //NowPageYear に DiaryName[Depth-1](DiaryName 251行目,Depth 263行目 or 266行目) を代入 つまり今表示されているページの年
if(NowPageYear == YY || NowPageMonth == SecondLetter) //↑NowPageYear と YY(現在の年) が等しい または NowPageMonth と SecondLetter(108行目) が等しいなら以下の処理
{ //つまり 現在のページの年と現在の年が等しい時 または 今のページの年とNowDiaryFileの2文字 di が等しい場合
WriteNowYear(); //関数 WriteNowYear() を実行
}else if(NowPageYear == StartYear) //上の条件ではなく NowPageYear(270行目) と StartYear(245行目) が等しければ以下の処理
//つまり 現在のページの年と日記を始めた年が等しい場合
{
WriteStartYear(); //関数 WriteStartYear() を実行
}else{ //上の2つ条件にあてはまらなかったら以下の処理
WriteYear(); //関数 WriteYear() を実行
};
function WriteNowYear() //現在のページの年と現在の年が等しい時 または 今のページの年とNowDiaryFileの2文字 di が等しい場合 の処理
{
document.write(ChildrenList); //タグを書き込む ChildrenList(19行目)
for(D1=0;D1'+(StartYear+D1)+'年')
//↑年のリスト作成
}else{ //D1 が 0 ならば以下の処理
document.write('- '+(StartYear+D1)+'年
');};
//↑年のリスト作成
};
document.write(ChildrenListSelected+YY+'年'); //現在の年を表示 ChildrenListSelected(17行目)
document.write(GrandchildList); //タグを書き込む GrandchildList(16行目)
for(A1=1;A1<=MM;A1++) //A1 が MM(253行目 現在の年) 以下になるまで A1を 1 ずつ増やしながらループ
{
ListStream(); //関数 ListStream()393行目 を実行
if(NowPageMonth == SecondLetter && A1 == MM) //現在の月(NowPageMonth 269行目)とSecondLetter(108行目 NowDiaryFileの2文字 di )が等しいくて 場合
{
document.write(GrandchildListSelected+B1+'月');
//↑今表示されている月の表示 GrandchildListSelected(20行目)
break; //ループを抜ける
};
if(B1 == MM){C1="../../"+DiaryFolder;}; //B1 と MM(253行目 現在の月)が等しかったら C1 に DiaryFolder(6行目) を代入
if(C1 < 10){C1="0"+C1;}; //C1 が 10 未満なら C1 の前に 0 をいれる
document.write('- '+B1+'月
');
//↑月リストの作成
};
document.write('
'); //タグを書き込む
};
function WriteYear() //それ以外の場合の処理
{
NowPageOldYear=NowPageYear-StartYear; //NowPageOldYear に NowPageYear(270行目 今表示されているページの年) から StartYear(245行目 日記始めた年) を引いたものを代入
NowPageNewYear=YY-NowPageYear; //NowPageNewYear に YY(現在の年) NowPageYear(270行目 今表示されているページの年) を代入
document.write(ChildrenList); //タグを書き込む ChildrenList(19行目)
for(D1=0;D1'+(StartYear+D1)+'年')
//↑今のページより前の年のリストを作成
}else{ //上の2つの条件に当てはまらなければ以下の処理
document.write('- '+(StartYear+D1)+'年
');};
}; //↑今のページより前の年のリストを作成
document.write(ChildrenListSelected+NowPageYear+'年'); //現在表示している年の表示 ChildrenListSelected(17行目)
document.write(GrandchildList); //タグを書き込む GrandchildList(16行目)
for(A1=1;A1<=12;A1++) //A1 が 12(12ヶ月だから) 以下になるまで A1を 1 ずつ増やしながらループ
{
ListStream(); //関数 ListStream()393行目 を実行
if(A1 == 13){break;}; //A1 が 13(12ヶ月以上ないから) と等しくなったらループを抜ける
if(C1 < 10){C1="0"+C1;}; //C1 が 10 未満なら C1 の前に 0 をいれる
document.write('- '+B1+'月
');
}; //↑月のリスト作成
document.write('
'); //タグを書き込む
for(D1=1;D1<=NowPageNewYear;D1++) //D1 が NowPageNewYear(328行目) 以下になるまで D1を 1 ずつ増やしながらループ
{
document.write('- '+(Number(NowPageYear)+D1)+'年
');
}; //↑今のページより先の年のリストを作成
};
function WriteStartYear() //現在のページの年と日記を始めた年が等しい場合の処理
{
document.write(ChildrenList); //タグを書き込む ChildrenList(19行目)
document.write(ChildrenListSelected+NowPageYear+'年'); //日記を始めた年の表示
document.write(GrandchildList); //タグを書き込む GrandchildList(16行目)
B1=StartMonth-1; //B1 に StartMonth(246行目) から 1 引いた数値を代入
C1=StartMonth-1; //C1 に StartMonth(246行目) から 1 引いた数値を代入
for(A1=StartMonth;A1<=12;A1++) //A1 が 12(12ヶ月だから) 以下になるまで A1を 1 ずつ増やしながらループ
{
ListStream(); //関数 ListStream()393行目 を実行
if(A1 == 13){break;}; //A1 が 13(12ヶ月以上ないから) と等しくなったらループを抜ける
if(C1 < 10){C1="0"+C1;}; //C1 が 10 未満なら C1 の前に 0 をいれる
document.write('- '+B1+'月
');
}; //↑月のリスト作成
document.write('
'); //タグを書き込む
for(D1=1;D1<=RemainYear;D1++) //D1 が RemainYear(254行目) 以下になるまで D1を 1 ずつ増やしながらループ
{
document.write('- '+(StartYear+D1)+'年
')
}; //↑年のリストを作成
};
function ListStream() //今表示されているページの月を表示するときの処理
{
B1++; //B1 に 1 を足す
C1++; //C1 に 1 を足す
if(NowPageMonth == A1) //NowPageMonth(269行目 現在の月) と A1 が等しい場合以下の処理
{
document.write(GrandchildListSelected+B1+'月'); //今表示されているページの月を表示 GrandchildListSelected(20行目)
A1++; //A1 に 1 を足す
B1++; //B1 に 1 を足す
C1++; //C1 に 1 を足す
};
};
document.write('
'); //