« 後藤日記2006年3月 | トップページ | 平成十七年度追い出し寄席 »

[応用]サイドバーをリストごとに折り畳む

2006年11月現在サイドバーのリストは全て非表示に設定してありますが、いずれ表示する方針になった時参考にして下さい。(七代 記)

旧東大落研ホームページの反省として、管理人の代替わりにつれてサイトの仕様のブラックボックス化も進んで、メンテナンスができなくなるということがありました。そこで、代々の管理人がサイトの仕様に手を加えたり、メンテナンスのTipsを発見した場合に記事として残して引き継ぎをはかります。

サイドバーのリストの折り畳みについて。

「カテゴリー」「最近の記事」「バックナンバー」「最近のコメント」「最近のトラックバック」といった様々なリストが自動的に生成されることがブログのすばらしい機能のひとつです。しかし、これらのリストが膨大な量になって画面に溢れかえり、初めて訪問した人が圧倒されてしまうような情報量になっているブログがほとんどです。おなじみさん同士でコミュニティを形成するためには、その混沌もまたすばらしい調味料となりますし、それが本来のブログの使われ方かもしれません。

しかし、東大落研ホームページをつくるにあたって心がけるべきは、入部希望者や寄席に行ってみようという方が、初めてHPを訪れて、あまりITに通じていなくても、簡単に目的の情報にたどりつけるようにすることです。目的の記事を見つけやすくするためにあるはずのリストも、情報が洪水を起こしてしまっている状態では、逆に混乱をまねくだけです。

そこで、リストをいらないときは折り畳んで整理できないものかと考えました。しかし、ココログフリーには今のところそのような機能は用意されていません。そこで見つけたのが「初めてのココログフリー・カスタマイズ:第13回:サイドバーをリストごとに折り畳んでみよう」でした。あるスクリプトを使ってリストを折り畳む手法を大変わかりやすく紹介してあります。takoさん、facetさんありがとうございます。

Oritatamiscript8 こまかい情報はtakoさんの記事を見てください。東大落研のホームページでは、「マイリスト」→「掲示板」の、上から8番目の項目に仕込んであります。[編集]を押すと項目のラベルと内容が表示されます。ラベルは空白にしておいてください。<注:7代目がいじくり回したため「About us」の項目内に変更。左の画像とは実際は異なります。>

内容として以下のようなスクリプトが記入されています。

<script type="text/javascript" src="http://todai-ochiken.cocolog-nifty.com/myFunctions01a.js">
</script>
<script type="text/javascript" src="http://todai-ochiken.cocolog-nifty.com/foldSidebar02c.js">
</script>
<script type="text/javascript">
<!--
foldMark = "-";
foldTitle = "close";
unfoldMark = "+";
unfoldTitle = "open";
switchStyle = "float:right;margin:0;width:1.4em;border:outset 1px silver;padding:0;height:1.4em;line-height:1em;text-align:center;text-indent:0;";
labelStyle = "letter-spacing:0.1em;";
counterPrefix = "(";
counterPostfix = ")";
counterStyle = "margin-left:2px;letter-spacing:normal;color:silver;";
foldBroadly = true;
//
pattern = "最近の記事|最近のコメント|最近のトラックバック|バックナンバー|サイト内検索|ココログからのお知らせ|リンク";
makeSwitchesBy(pattern);
//
pattern = "最近のコメント|最近のトラックバック|バックナンバー|サイト内検索|ココログからのお知らせ|リンク";
foldContentsBy(pattern);
//
pattern = "(空白)";
countItemsBy(pattern);
//-->
</script>

赤い文字で書かれている部分には、「折り畳みボタンをつけたいリスト名」が指定されています。折り畳みたくないリストである「おしらせ」「カテゴリー」「掲示板」は除いてあります。

緑の文字で書かれている部分には、「ページを読み込んだときに折り畳んでおきたいリスト名」が指定されています。最初からすべて折り畳んである状態だと、折り畳みボタンの意味が理解しにくいだろうという配慮で「最近の記事」だけは展開した状態にしておくことにしました。
2回目以降の読み込みからは、前回の展開や折り畳みの状態を保持しておいてくれるようになります。<注:現在は「最近の記事」と「バックナンバー」を表示項目自体から外してあります>

さらに、空白になっている部分には、「リスト内の項目数をカウントして表示したいリスト名」を指定することができます。「最近のトラックバック(7)」(←トラックバックが7個あるという意味)といった具合にできるのですが、特に必要がないと判断して何も指定していません。

なお、このスクリプトが機能するためには、「myFunctions01a.js」「foldSidebar02c.js」の2つのファイルが必要です。「ホーム」の階層に保存して設定してあるので、これらのファイルの名前を変えたり場所を変更する際にはスクリプトの書き換えが必要になります。

メンテナンス時の注意事項
*リストを指定する際に、リストとリストの間を「 | (縦棒)」で区切るのを忘れないこと。

追記

リスト折りたたみスクリプトは、仕込まれた部分よりも前のパーツにしか働かない仕様です。なので、リスト折りたたみスクリプトが仕込まれている項目よりも後ろにパーツを移動すると、そのパーツは折りたためなくなってしまいます。

初代 記 + 七代目 記

|

« 後藤日記2006年3月 | トップページ | 平成十七年度追い出し寄席 »