2005年ブログ総括
今年も締め括りということで一言。
私がブログを開始したのが2004年5月で、今年も相変わらずテンプレート・カスタマイズ中心の記事をアップし続け、あっという間に1年が過ぎました。昨年にも増して大勢の皆様にアクセスを頂き、嬉しい限りです。
昨年から今年前半にかけて、ご近所ユーザの方々がカスタマイズで加熱するという雰囲気がありましたが、最近は落ち着いた感があり、ここに訪れてカスタマイズされた方が本来のカラーでブログを楽しまれているという印象です。
その流れとは別に、雑誌や本で当サイトの記事を紹介して頂ける機会を頂き、本当に感謝しています。
皆様には大変お世話になりました。来年もネタを探してテンプレート・カスタマイズ記事とダジャレを中心に書き続ける所存ですので、ご指導・ご鞭撻の程、どうぞよろしくお願い致します。
それでは2006年もどうぞよろしくお願い致します。そして良いお年をお迎えください。なお喪中のため、新年のご挨拶は失礼させていただきます。
AIR-EDGE AH-H407P
WILLCOMのデータ通信用カードです。他にも何種類かありましたが本体価格が一番安かったので迷うことなく決定。ただいま帰省先からの接続に使っています。
とりあえず帰省前に環境設定しようと思い、昨日ノートPCにデータ通信カードを差し込んでインストールしようとしたところ、いきなりデバイスが認識されないという問題に遭遇しました。が、HPのサポートページを調べたところ「PCMCIA通信カードを認識しない」という問題が掲載されており、手順通りに実行することで正常に認識されました。
一通り設定が完了し、アンテナの感度も良好。で接続しようとしたら今度は接続できません。悩むこと数分。どうやらプリインストールされている Norton Internet Security が有効になっているのがいけなかったようで、一時的に無効にすることで正常に接続できました。
この Norton Internet Security が曲者というのは以前から知っていたのですが、きちんと設定していないせいもあってか、ネットワークの共有でも無効にしないと通信できません。ネットワーク関連でうまく動作しない場合はとりあえずこれを無効にすることでしょうか。
WILLCOM が用意しているデータ通信のタイプには 1x/4x/8x 等があり、1x は32kbps、4x は128Kbps となっており、プロバイダにそれぞれの接続用番号が用意されています。
私は 4x のネット25(月25時間まで定額)というコースですが、画像を圧縮する「Venturi」や「MEGAドライブ」という、店員さんの説明によると最大2MBまでの体感が可能?な60日間無料のオプションもついていて、そこそこ使えます。
なおプログラムのダウンロードでは、体感速度を早くするオプションをOFFにしないと正常にダウンロードできませんでした。
心配だったのは実家での感度だったのですが、通信カード用ユーティリティの情報では「最良」と表示され、一安心。
ということで、こまめに接続・切断を繰り返しながら運用しています。(笑)
BlogRolling にスクロールバーをつける
以下、カスタマイズ方法です。 |
1.blogroll を div タグ等で括る
下記のように blogroll を表示するタグを div 要素で括り、id 属性 hogehoge を div 要素に記述してください。
<div id="hogehoge">
<script language="javascript" type="text/javascript" src="http://rpc.blogrolling.com/display.php?r=xxxxx"></script>
</div>
Serena Bach で定義型リスト(dl - dt - dd)を使っている場合は、下記のように dd 要素の中に div 要素を与えてください。
<dl class="xx">
<dt id="xxname">LIST</dt>
<dd id="xxlist">
<div id="hogehoge">
<script language="javascript" type="text/javascript" src="http://rpc.blogrolling.com/display.php?r=xxxxx"></script>
</div>
</dd>
</dl>
2.表示タグにスクリプトの追加
下記のスクリプト(青色部分)を、1項で修正したタグの下に追加してください。
<div id="hogehoge">
<script language="javascript" type="text/javascript" src="http://rpc.blogrolling.com/display.php?r=xxxxx"></script>
</div>
<script type="text/javascript">
<!--
id = 'hogehoge';
tag1 = '<a';
if (window.navigator.userAgent.indexOf("MSIE") != -1) {
tag1 = tag1.toUpperCase();
}
tag2 = 'BlogRolling';
nodes = document.getElementById(id).innerHTML;
data = '';
list = nodes.split(tag1);
counter = 0;
for (i = 0; i < list.length; i++) {
if(list[i].indexOf('<br><br>') != -1) {
list[i] = list[i].replace(/<br>/,"");
}
if(list[i].indexOf(tag2) != -1) {
data += '</div><div class="blogroll-powered-by">' + tag1 + list[i];
} else {
if(counter){
data += tag1;
}
data += list[i];
}
counter++;
}
document.getElementById(id).innerHTML = data + '</div>';
//-->
</script>
赤色で示した
id = 'hogehoge';
ですが、hogehoge の部分に、1項で設定した id 属性と同じものを設定してください。
3.スタイルシートの設定
BlogList用のCSSとして、スタイルシートに下記を追加します。
.blogrollmain {
overflow: auto;
height: 200px;
}
.blogroll-powered-by {
margin-top: 5px;
margin-bottom: 0px;
}
スクロールバーの高さを変える場合は
.blogrollmain {
overflow: auto;
height: 200px;
}
の赤色部分を修正してください。
エントリーで table タグを記述する場合の注意
Movable Type のエントリーで table タグを記述すると、テーブルの直前にある段落と大きな余白が生じる場合があります。
例えば以下のようになります。
段落
| あいうえお |
| かきくけこ |
| さしすせそ |
上記サンプルの「段落」という文字と、次に表示されているテーブルの間は、エントリー本文では1回改行しているだけですが、表示させるとこれだけの間隔が空いてしまいます(注:ここで本当にそうやってしまうと、このエントリーが valid な HTML にならなくなるため、便宜上、br 要素を複数回繰り返し挿入し、見た目が同じになるようにしています)。
原因は、エントリーのオプションにある「改行設定」が「改行を変換する」になっている場合、table タグに含まれる改行に全て改行タグが設定されてしまい、その改行が table タグの直前で有効になってしまうためです。
上記の例では、エントリー編集画面では
段落
<table border="1" cellpadding="2" cellspacing="0">
<tr><td>あいうえお</td></tr>
<tr><td>かきくけこ</td></tr>
<tr><td>さしすせそ</td></tr>
</table>
となっていますが、保存すると、
<p>段落<br />
<table border="1" cellpadding="2" cellspacing="0"><br />
<tr><td>あいうえお</td></tr><br />
<tr><td>かきくけこ</td></tr><br />
<tr><td>さしすせそ</td></tr><br />
</table></p>
と、全ての行末に改行マーク(赤色)が挿入されてしまいます。青色はその前後が空行の場合に挿入される段落用の p タグです。
table に改行タグを挿入させない策がいくつかありますのでご紹介します。
1.テーブル中の改行をなくす
これが一番手っ取り早いですが、エントリーの編集でやや見づらくなるのが欠点です。
追記:書き忘れてましたが、table タグが p タグの中に存在すると XHTML検証エラーとなります(つまり上記のリストはNGです)ので、2項を推奨します。
2.table 開始タグの直前に空行をいれる
Movable Type がエントリーに改行を付与する制御の仕組み上、先頭行(その前が空行であること)が下記のいずれかのタグに該当すれば、そのタグが含まれる行から次に空行が現れるまで改行タグおよび段落タグを挿入しない仕組みになっています。
h1|h2|h3|h4|h5|h6|table|ol|dl|ul|menu|dir|p|pre|center|form|fieldset|select|blockquote|address|div|hr
つまり、table タグの直前行に文章を書かなければ、1項の作業を行わなくても正常に表示されるようになります。これも手っ取り早い方法ですが、直前行を空けるという制約があります。
3.プラグインを利用する
The blog of H.Fujimoto の壱さんが「改行を変換する」を改良するプラグインを提供されていますので、これを用いることで正常に出力することができます。
Serene Bach / sb 公開テンプレートの不具合修正箇所について
昨日のエントリーでお伝えしたとおり、当サイトで公開している Serene Bach テンプレートおよび sb テンプレートで、個別エントリーHTMLに複数のトラックバックがある場合、ページの表示が崩れるという不具合がありました。ご利用の方には大変ご迷惑をおかけして申し訳ございません。
現在公開中のテンプレートは不具合を修正済ですが、2005年12月25日以前に Serene Bach または sb テンプレートをダウンロードされて表示が崩れている場合は、テンプレートを再度ダウンロードされるか、以下に示す修正をお願い致します(正常に表示されていれば修正の必要はありません)。
ベースHTMLテンプレート+スタイルシートでお使いの場合(=個別エントリー用HTMLテンプレートをお使いでない場合)は1項、個別エントリー用HTMLテンプレートをお使いの場合は2項の作業を行ってください。
1.ベースHTMLテンプレート+スタイルシートでご利用の場合
1.1 div タグの削除
ベースHTMLテンプレートにあるトラックバック表示用タグから、下記のように div 閉じタグ(赤色)をひとつ削除してください。
:
<!-- BEGIN trackback -->
<h3 class="trackbacks-header">Trackbacks</h3>
<div class="trackbacks-content">
<div class="trackback">
<div class="trackback-content">{trackback_excerpt}</div>
<p class="trackback-footer">
{trackback_title} | {trackback_blog_name} | {trackback_time}
</p>
</div>
</div>
</div>
<!-- END trackback -->
:
1.2 スクリプトの追加
ベースHTMLテンプレートの最後にあるスクリプトに、青色部分を追加してください。
:
<script type="text/javascript">
<!--
var elements = document.getElementsByTagName('h2');
var work;
var work_old = '';
for (i=0; i<elements.length; i++) {
work = elements[i].innerHTML;
if(work == work_old){
elements[i].style.display = 'none';
}
work_old = work;
}
elements = document.getElementsByTagName('h3');
work_old = '';
for (i=0; i<elements.length; i++) {
work = elements[i].innerHTML;
if(work == work_old){
elements[i].style.display = 'none';
}
work_old = work;
}
//-->
</script>
:
2.ベースHTMLテンプレート+個別エントリー用HTMLテンプレート+スタイルシートでご利用の場合
2.1 div タグの削除
個別エントリー用HTMLテンプレートにあるトラックバック表示用タグから、下記のように div 閉じタグ(赤色)をひとつ削除してください。
:
<!-- BEGIN trackback -->
<h3 class="trackbacks-header">Trackbacks</h3>
<div class="trackbacks-content">
<div class="trackback">
<div class="trackback-content">{trackback_excerpt}</div>
<p class="trackback-footer">
{trackback_title} | {trackback_blog_name} | {trackback_time}
</p>
</div>
</div>
</div>
<!-- END trackback -->
:
2.2 スクリプトの追加
個別エントリー用HTMLテンプレートの最後の方に、スクリプト(青色部分)を追加してください。
:
</div><!-- /box -->
<script type="text/javascript">
<!--
var elements = document.getElementsByTagName('h3');
var work;
var work_old = '';
for (i=0; i<elements.length; i++) {
work = elements[i].innerHTML;
if(work == work_old){
elements[i].style.display = 'none';
}
work_old = work;
}
//-->
</script>
</body>
Serene Bach / sb 公開テンプレートご利用の方へ
現在公開中の Serene Bach テンプレートおよび sb テンプレートですが、個別エントリーHTMLのトラックバックで2件以上ある場合、表示が崩れる不具合がありました。
Serene Bach 版については、以前同様の指摘を頂き、修正したアーカイブを公開していたつもりでしたが、アーカイブを配置する際に新旧のアーカイブを間違えて配置していたようで、不具合が解消されたアーカイブをダウンロードできない状態になっておりました。大変申し訳ございません(←勘違いでしたらすいません)。
先ほど、Serene Bach / sb 両方のテンプレートアーカイブを作成して、リンクを設定し、公開リンクから再度ダウンロードしてそれぞれ正常に動作することを確認しました(正常に動作しない場合はご連絡ください)。ダウンロードのリンクに「20051225」が含まれているものが最新バージョンです。それ以前にダウンロードされた方については再度ダウンロードくださいますよう、よろしくお願い致します。
なお、既にテンプレートをカスタマイズされている方につきましては、修正点のみを別途お知らせする予定ですのでお時間ください。
入門Ajax
Ajaxの書籍が、少ないながらも書店に並ぶようになってきました。
Ajax の大きなメリットは、クライアント-サーバ間でのデータのやりとりが非同期通信(サーバにリクエストを送ると、「リクエストを送ったよ」という素早いレスポンスがクライアントに返却されて、実際のレスポンスは後から返却される)で行われる、ということですが、やりとりされるデータ自身よりも、サーバとの通信によってブラウザが待ち状態にならないことが Ajax による大きな恩恵です。
たとえば通常の同期通信であれば、フォームにデータを入力して送信すると、リスエストをサーバに送り、レスポンスがページに反映されるまでユーザはブラウザを操作することができません。Ajax を使えば、フォームデータ送信直後に次のブラウジングを行うことができます。ここで重要なのは、Ajax のレスポンスはページの一部に反映されるということです。フォームデータの例では、入力したフォームデータの結果は(JavaScriptを利用して)ページの一部分だけを入れ替えるということです。
・・・という仕組みが今ひとつよく理解できていなかったので、下記の1冊を購入しました。
高橋 登史朗 ソフトバンククリエイティブ (2005/11/15) 売り上げランキング: 65,811 |
内容は Ajax の基本的な説明や利用方法の他、文字コード・クロスブラウザやセキュリティ対策(クロスサイトスクリプティング・イジェクション)の注意事項がきめ細かく掲載されており、XMLHttpRequest部分についてはそれらを考慮した実用的なサンプルが掲載されています。
テキストを扱った基本サンプルでは、Perl/PHP/bsh/MySQL/SQLiteを利用した通信方法や、onclick・onmouseover等のイベント別のサンプルが詳細に記されており、ドラッガブルフロートやスライダー、ドラッグ&ドロップといったビジュアルなサンプルも載っています。その他 XMLHttpRequest リファレンスや Google Maps のカスタマイズ方法とAPIクラスリファレンスもありますので、これ1冊あれば Ajax の動作を色々楽しめるのではないでしょうか。
テンプレートご利用500サイト達成
Category:[ご利用サイト]
Tag:[Anniversary, MovableType, SereneBach, Template, Website]
Permalink
当サイトで公開しているテンプレートのご利用者(コメント・トラックバック・BlogPeople等の登録で私が知ることができたもの)が500サイトを超えました。月並みではございますがご利用くださっている皆様には本当に感謝しております。この場をお借りして改めまして御礼申し上げます。ありがとうございます。m(__)m
上記で知り得たサイトについては「小粋なUserList(BlogRolling 使用)」に私が手動で日々登録しているのですが、途中で他のテンプレートに乗り換えられたり、URLが変更になったりすることも当然ある訳で、時々メンテナンスしながら登録ユーザ数をチェックしています。
小粋なUserListの詳細についてはテンプレートについてのページの中ほどの説明を参照ください。
これまでは mixi の「小粋なユーザコミュニティ」のメンバーの方々にチェックを分担してお願いしてましたが、今回はチェックツールを作りました。具体的には、まず BlogRolling のリストをツールに読み込ませ、サイトのトップページを取得します。そこからさらにCSS(styles-site.css等)を取得し、そこに記された著作権表示を認識してテンプレート利用状況を判断するようにしています(目視による最終チェックは必要ですが)。これによってチェック稼動がかなり削減されました。
ということで、500サイトをややオーバしておりますが、現時点でのご利用サイト様を紹介させて頂きます(BlogRollong 表示順です)。タイトルは登録時のタイトルを基本にしておりますが誤り等ございましたらご連絡ください。
登録漏れ等ありましたらご連絡頂ければ幸いです。またここに紹介されていない公開テンプレートご利用の方についても、ご連絡頂ければ適宜登録させて頂きます。
- * cerise cafe *
- **つれづれなるままに**
- **読書日記**
- **Silver Heart**
- *kirara
- + 馬グナカルタ +
- + spirit ether blog
- + spirit ether blog
- ++ Bay Leaf ++
- ++お花ダイスキ!++
- ++Blog-MELL++
- ++猫な日々++
- ++Open My Heart++
- +みゅみゅうさ+
- +occhiali di libellula+
- -h@tezone-
- ...: laugh so rough :...
- /PEN/
- /var/tmp/blog
- 137g
- 246log
- 4REAL
- 5587.chan.com
- 77racing.com
- : : useful days* ? : :
- ::::fuumblog::::
- ::miim::
- =ハマルノカ=
- =TA*KA blog=
- a n i
- AF系製薬 Web出張版
- AMBITION&DESIRE
- AmitoMidnight
- angeli-x ++ monologue
- 『ブタネコのトラウマ』 Blog版
- あそび
- あっぷるじゅ?す
- あどべがの館
- あふなびブログ
- あらぐさ
- いるうるいなさび
- いろんなことが起こる
- うたたね ひつじ
- うだうだうだ
- えすろぐ
- えてぽんの部屋
- おうち日記とアフィリエイト
- おさんぽ ことり だより
- おっさんのブログ(仮)
- おでこちゃんの金魚飼育日記
- お取り寄せ日記@petit*asterisk
- お気楽ブログ☆
- お気楽草紙
- きらきら*ひかる It shines glitteringly.
- くろねこ屋
- たおふあZ
- ちっちっち
- ちとGo!Go!
- つのとカブいっしょに
- てぃあら
- とも。日記
- とりあえずいっとけ!?
- とりあえずいっとけ!? Tigers
- とりとめなき日記
- どうでもいいこと
- にゃ?ごろ
- にやりっ日誌-niyari official blog-
- のんべサラリーマン
- はいねぶ
- ひばり座ブログ
- ひびのつぶやき
- ふたつとない日常 ?Azumy's Standard Daytime
- ぶーくろぐ
- ぷちぷちつづり
- ほげほげ情報ブログ
- ほたるすたいる
- ぼくたび BLOG
- ぼけぼけ☆こむ
- ぽこたのきもち
- まさやん日記
- まんがboo(漫画部)
- まんぼう亭
- みた夢メモっちゃいけないか?
- やしめしや
- やっつけWeb
- やむやむ
- ゆきのきもち
- ゆたんところ
- よろずブログ
- りとるこっと。blog
- りゅうWalker Log
- るしゃなーず・ごーすとうぃすぱー
- わいるどで行こう
- わたあめすもも
- わたしのヒトリゴト あさきぬ工房
- アイドルの草鞋
- アルの足跡
- アルファ道場2005
- アレルギー・アトピーでも楽しく暮らそう!
- エンタマ
- オナカン
- オラっちの気ままな毎日
- オラっちの気ままな毎日
- カメラと一緒にパリでお散歩*
- ギャンブル三昧!
- ケセラセラBrand-new!
- コスメ&ビューティー::銀座ショッピングストリート
- コハルビヨリ。
- ジンク・ホワイト
- スイフトスポーツドットコム
- スパムメール・バトルロワイヤル
- ダイエットアラモード *TIME*
- ダンス図書館
- チエコエトセトラ。
- チカチカの羅針盤
- チョコチッブログ
- チョーオンパホーソーキョク
- ツキヘノトビラ
- デジタルカメラ.com
- ドール・ヒステリア
- ナイショの話
- ナリモノイリ
- ニート・ひきこもりのための経済的自立
- ネタを探して2万マイル!?
- ネットショップ・オペレーション・マニュアル
- ハンサムウーマン道
- ヒビノキロク
- フラワーガーデン::銀座ショッピングストリート::
- ボクはちゃんとビジネス本読んでます!
- ポポタム!
- ヤタさんの気まぐれ日記
- ユートピアンのディストピア
- ヨーキーな日々♪
- ラパンdeドライブ宙-ケータイ大好き-
- リラックマ・ショッピングモール
- リリウムの寝言
- レジェンダロッサの独り言
- ■□ WAY OF LIFE □■
- ▼■▼■● Vivid-style.com
- ××ってやつは・・・
- ○△□ たど船
- ★ひとりごと日記★
- ☆Starlit Sky☆
- ☆昴流の旅日記☆
- ♪poohな毎日♪
- baddreamfancydresser
- beads gallery h*h
- BEAT ZONE
- beautiful hobby life
- Biei.Info|blog
- BLAN*CAFE
- Blog
- blog _ notation of the wave
- blog(吉田敏彦建築設計室)
- blog::made in SAGA
- Blog@Peaceman
- Blogのような日記のような
- Blue Mint
- BLUE PALETTE
- bo-peep.net/web
- BorialisのBoroBoro日記
- bublog
- c+
- cache*cache
- Cafe*Blog
- camera verde blog
- candy-2 BLOG
- Car Life Sentence
- Caramelly*note
- Carefree Field
- CAROUSELAMBRA
- ch@yalog
- Channel * chris
- Cherry-Radio
- chieplus.net
- cider@home
- ClumsyKen
- Cococcino Days*
- Cocont*
- CocoNuts Days
- COLOR NO.A
- comi☆Log.
- cookietale
- Cool Gaming weBlog
- Coolog
- cube*
- cyber muimui
- 無線LANテック
- 無印スタイル
- 特別支援教育とAT(支援技術)とICT
- 独り言・・・
- 猫派の読書空間
- 痔.com
- 砂風呂
- 社会分析的ブログ
- 秀丞写文庫
- 私立大学職員の情報オフィス
- 空の追憶
- 空飛ぶカメ
- 立夏黄経45度
- 童貞Game...
- 紅玉日誌
- 縁側生活
- 縁側talk
- 繰り返す女
- Daily note
- daisuke's room
- DayByDay
- DAYS ...So Flowers
- DB blog
- DIGITALL!!
- Document_Not_Bound...
- DORA Blog
- dotabata.net
- dreaming purple blog
- DxD
- D'sDinner@Blog
- Страх Кино
- EgoEco Days...
- eizo slash blog
- ELECTRICSHEEPdogs!
- emo.com
- en ce momont...
- Ensemble Hearts'
- eSoteric・・・
- Eternal Forest ?悠久の森?
- everyday gokigen !?
- ExcessiveWords
- Exist a Reason
- existence Uhheri Edition
- EXPECT THE UNEXPECTED
- E's World "Neo"
- 適宜更新
- 職人カタギ
- 脳内物質大流室inBLOG
- 重箱のスミ
- 銀座ショッピングストリート
- 銀座フワラーガーデン
- 芽衣のひとりごと
- 萌えABLEタイプ
- 長靴をはいたシステムエンジニア
- 藤丸
- 院長室
- 雑貨*Zakka*サーチねっとMEMO
- 零式改
- 青い自転車とどこまでも。
- 螺子式少年
- 馬に蹴られて
- 読書マインドマップ公開所
- 身近な Lifelong Learning
- 黒スムチの親バカ日記
- 黒鱒 - weblog
- fang-lang.net
- Feels good
- Final One's Essence
- flatcrew.net : column
- FootPrint
- Fourseasons
- FreeStyle
- Frumenty
- Gachapin WALL
- Gangalee Web Log
- GF*days
- ginzi.com/blog
- GRACE! Diary
- groovecube ver.3
- grumble
- happy hunting ground
- Happy*Days
- Harry's Blog
- HATABOW.JP
- HENO HENO
- hidakaya Weblog
- hilari blog
- HiMAT
- hiratsuka.memo
- HiStyle
- HONGKONG+fish Hyper×2
- Hot cocoa
- hotmilk
- I LOVE NAVY
- IdeOnline
- IIS ECサイトレビュー
- In Some Way
- infocraft
- INSIDE ADORE
- is life delisious?
- ITOH STYLE
- It's my Life
- *だらだら雑記*
- :: monamona* ::
- ::: Sweet days :::
- MTおぼえがき
- MakkyののほほんDiary♪
- SecretBase Of ワンs
- SEと呼ばれている奴の気ままなブログ
- ?風を追いかけて?
- Just myself
- K-Jirow BLOG
- kanemotipapa's日々相場雑感
- karleksounds
- kazunoblog
- KeiBlog
- kenronw(ケンロン)のブログ
- KG
- kg2
- KH Weblog
- KillerPierce
- KINGO WEBlog
- kitchen
- KoreanLanguage*
- Kuro:Neko Diary
- K'S GARDEN
- K'z Blog
- land2go!!
- langsam
- L・E・L・S
- Little Satellite
- love
- LOVE SWIMMING Blog
- LUC-XX
- LUVandSOUL-FAN.com
- M E T A B O L I S M
- M*C?B Version?
- M*s Cafe-Blog-
- Magic White
- Magic#32のMT日記
- Maio's Weblog
- maki's space
- Makologg???
- Mami's note
- Marginalsky
- Marrontic
- mattari-blog
- Mauloa Mele
- memorandum
- MepageType
- MetLog
- MIKI Housing
- Minologue
- Mistgrass Weblog
- Misty Night
- mobilepcclub
- monochrome green
- Monochrome Recollections
- Monolith-Log モノリスログ
- MONOLOGUE
- MT専科
- my style*
- My Sweet Moana
- My wonderful living
- Myth Online
- N-blog
- Nachtigall
- Natural High
- nau-magazine
- NAVY WATER
- neko no 肉球@BLOG
- Nero-8 Archives
- Nessun Dorma
- NGのひとりごと
- niigata-boro.net daily-r
- NO DOUBT
- Nobuの日々お蔵出し
- nobubu Eyes
- nobubulog
- nonvlog from nonvey
- NOP DAYS
- Not yet!
- N's blog
- Omusubi Kororin
- Orbium
- Ordinary Person Monologues::
- org_blog.
- Otakara CAT Photo Blog
- O.Z.K
- parallax
- parallax・はぐれ日記
- patapata:blog
- PCと戯れる日々
- Peco Net
- PHAT∴LOVESICK
- Plating!
- Postposition.Net Blog
- Press-code.net
- Pretty*Days
- primary_secondary
- Project MultiBurst
- Pubsonal パブソナルを考えるブログ
- P's Blog
- Rabbit's Room
- RAINBOW
- Rainy days, Sunny days DB
- Release Candidate 2
- RELISH Cafe
- rey&rio's sleepyblog
- Routinework Blog
- SAKALOG
- SAKSAK RECORDS WEB SITE
- saku*saku
- Sampei's Private Room
- Sans-Souci
- Sanssouci
- Schrödingers Katze
- se a vida e
- SEYA.ORG
- Shady Grove
- Shout!!
- Shout!!
- showry's Blog
- SHO's**My...Day...**
- Sketch Line
- Sky High!
- skyimage / Blog
- sleepyblog
- Small town talk
- smile.shioiri.jp
- SnowDrop
- solgel.info::そるじぇるどっといんふぉ
- Sono's Every day
- SR ** P i c k U p **
- STARLIT SKY
- SUNDAY MORNING BLUE
- Suzie World
- SWEET WATER Web Server
- Sweet*Season
- swimmer's blog ver. 2.0
- TAKE IT EASY. つれづれブログ
- TAKUHAI ATHLETE
- teaspoon
- ten-don ?天丼?
- TENERE
- teraRhythm
- The Simple Outdoor Life
- TOKYO Runabout
- Touring Report
- ToyBox
- Treasure
- TsBlog
- TUMIを買う TUMIを使う
- type le bleu :: provisoire*
- Ui-ed
- Un deux trois*days
- Unknown
- vanilla_cafe*
- WAY TO GO
- Weblog -Selfish-
- weblog@nigiyakana jikan
- WEBLOGROOVE
- We're Murderer
- wobb.jp
- WORK NOTE BLOG
- World without Words.
- yamacot
- Yggdrasill.
- YUIHARU DIARY
- zerothree.blog
- zone-log
- zora*
- [ Slow "UO" Life ]
- [美]Musabi Diary - a-bit-
- [EF] Electric Flower
- [ms-net] blog
- 再起業に向けて
- 出張生活
- 出来るだけ、更新です。
- 匠悟録
- 南茶亭
- 和道楽日記 - Kazulog -
- 和尚の南無ログ
- 喜怒哀楽
- 夏のクラクション
- 夏海の恋愛事情。
- 大泉洋とどうでしょうな日々
- 天上月苑
- 嫌ならやめてもいいんじゃよ?
- 子供達は夜の住人
- 学生団体 IdeAct
- 宵待小桜餅
- 寝言、戯言、独り言。
- 山の茶店の珍道中
- 山吹の風
- 己でサイトジャック
- 帰宅部大学生のblog
- 幻想バイオレンス
- 広く、浅く、そして楽しく。
- 弁慶の舞台裏
- 彫刻道-ドイツ・彫刻・日記-
- 後藤真希 ワオワオ記念日
- 徒然なるままに・・・(?はるかなる日々)
- 'ohana
- 恵司日記
- 我楽
- 携帯アフィリエイト奮闘記
- 改訂★裏赤玉号[改]日誌
- 日々気まま(^^♪
- 日々一歩-裏-
- 日々之吉日
- 明るい鬱病人間のふらふら雑記帖
- 時は流れても・・・
- 暮らし*カフェな節約生活
- 暮らし快適!ナチュラル家事のススメ
- 月夜の浜辺
- 本日のおすすめ !!
- 東京ディズニーリゾート裏技完全攻略検定 情報局 Blog
- 東京西郊日誌
- 林檎と一緒に
- 残像
- 気が向いた時だけ
- 気になる記
- 気まぐれ日記
- 水耕栽培を楽しもう
- 水色飴
- 永遠の風
- 海苔部落
- 深い雪
- 三十路パパの子育てライフ*
- 世界の終わりは君と一緒に
- 世知辛い世の中ですから(´・ω・`)
- 温泉天国
- 人間万事塞翁が馬 で行こう
- 今日の覚え書き
- 伊豆潜人の独り言
- 住宅選び情報ナビ
- 激安!サーフショップ
- 信海忠如どっとこむ
- || UTAGAME ||
著作権表示の西暦をリアルタイム化する
Movable Type の著作権表示は、BlogCopyright Plugin を使ったカスタマイズが有名です。このプラグインは登録されている最初のエントリーと最後のエントリーから著作権の西暦を自動生成しますが、再構築した時点の年しか取得できません。つまり年をまたがった場合、再構築が行われるまでは更新されないことになります。
ということで、プラグインを少し修正して、リアルタイムカレンダーのように、リロードを契機に年表示を切り替える方法をご紹介します。日々更新されている方にとっては1年に数分?数時間しか有効にならないという甚だコストパフォーマンスの低い技ですが、年始末にブログを更新できない場合はお勧めです。ある意味、更新頻度が低い方ほど効果大です。
1.著作権表示の意味
カスタマイズの前に、一般的によくみかける
Copyright © 2004 hogehoge All rights reserved.
を例に、著作権表記の意味を記しておきます。
「Copyright」は著作権があることを意味します。© は「マルシーマーク(英語読みは「サークルシー」)」と読み、同じく著作権があることを意味します。この2つは意味が重複していますが、著作権の扱いが国によって異なるため、より多くの国において保護を受けられるようにという習慣からきているようです。西暦は著作物を公開した最初の年です(ハイフンで現在の年を表示しているのもよくみかけます)。hogehoge は著作権者で、最後の「All rights reserved.」は著作権以外の権利についても保持していることを示すものです。
次に、プラグインの設定方法です。
2.アーカイブのダウンロード
BlogCopyright Pluginより Download BlogCopyright のリンクをクリックしてアーカイブをダウンロードします。
3.プラグインのアップロード
アーカイブを解凍して、中にある BlogCopyright.pl を plugins ディレクトリにアップロードします。アップロード後、メインメニューの「プラグイン」をクリックして、「BlogCopyright.pl」が表示されていればOKです。
4.著作権表示用タグの設定
著作権表示を行いたいテンプレートの編集画面を開き、任意の場所に
<$MTBlogCopyright$>
を記述します。このタグが
Copyright c2004-2005
のような表示に置き換わります。
著作権者を表示する場合、つまり
Copyright c2004-2005 hogehoge
の青色部分を表示するには
<$MTBlogCopyright$> hogehoge
と直接記述する方法もありますが、メインメニューの「プロフィール」→「表示名」に設定していれば、その文字が表示されます。
または
<$MTBlogCopyright owner="hogehoge"$>
と owner 属性を与えます。owner_name に設定した文字が著作権者として表示されます。
「All rights reserved.」はタグまたは著作権者の後ろに直接記述してください。
5.リアルタイム化
4項まででプラグインの通常の動作が行えます。以下はリアルタイムのカスタマイズです。
5.1 プラグインの修正
BlogCopyright.pl を任意のエディタで開き、下記の赤色部分を削除して青色のものに置き換えます。
:
# Add the years the blog has been up
if($first_year eq $last_year) {
$copyright .= $first_year . ' ';
$copyright .= ' <span id="fixyear">' . $first_year . '</span> ';
} else {
$copyright .= $first_year . '-' . $last_year . ' ';
$copyright .= ' <span id="fixyear1">' . $first_year . '</span>-<span id="fixyear2">' .$last_year . '</span> ';
}
:
5.2 スクリプトの追加
著作権表示用タグを設定しているテンプレートの最後の方(<$MTBlogCopyright$> の後方であればOK)に下記のスクリプトを追加します。
<script type="text/javascript">
<!--
var data = new Date();
var year = data.getYear();
year = (year < 2000) ? year + 1900 : year;
var oldYear;
if(document.getElementById('fixyear')){
oldYear = document.getElementById('fixyear').innerHTML;
if(parseInt(oldYear) < parseInt(year)){
document.getElementById('fixyear').innerHTML = oldYear + "-" + year;
}
} else if(document.getElementById('fixyear2')) {
oldYear = document.getElementById('fixyear2').innerHTML;
if(parseInt(oldYear) < parseInt(year)){
document.getElementById('fixyear2').innerHTML = year;
}
}
//-->
</script>
リアルタイム化の仕組みは、5.1項で修正したプラグインで西暦部分に span 要素(id 属性が "fixyear")を付与しています。そして5.2項のスクリプトでその西暦を取得し、サーバから取得した西暦と比較して、サーバの西暦の方が新しければ置き換えるようにしています。またブログに登録されているエントリーが同一年のものしかなく、サーバの西暦が新しい場合は初年と現在年を両方表示します。
JavaScript がOFFの場合は何も処理されません。
6.注意事項
span 要素を他の部分のCSSクラスセレクタとして利用している場合は、表示に影響する可能性があるのでご注意ください。
公開テンプレートにフッタを追加する
公開テンプレートのカラムレイアウトの下に著作権表示等のフッタを追加するためのカスタマイズです。スクリーンショットは固定レイアウトにフッタを追加したものです(フッタ部分のみ切り取って表示させています)。
Serene Bach 版はデフォルトでフッタを設定していますが、Movable Type 版は設定していなかったのでここでご紹介します。Serene Bach 版もカスタマイズすることで本記事のようなデザインに変更することが可能です。
なお、リキッドレイアウトと固定レイアウトでカスタマイズ内容が異なりますのでご注意ください。
1.固定レイアウトの場合
1.1 テンプレートにフッタを追加
フッタを表示したい各テンプレートの編集画面を開き、テンプレートの最後の方にある br 要素と div 要素(終了タグ)の間に青色で示したフッタを挿入します。
注:FC2ブログテンプレートの固定レイアウトにはフッタを用意してますので、1.1項の設定は不要です(CSSは若干異なりますので適宜変更してください)。
:
</div><!-- /links-right -->
</div><!-- /links-right-box -->
<!-- 右カラム終了 -->
<br class="clear" />
<p id="footer">
Copyright © 2007 xxxxx All Rights Reserved.
</p>
</div><!-- /box -->
</body>
</html>
:
1.2 スタイルシートにフッタ用CSSの追加
テンプレート編集画面でスタイルシート(styles-site.css)を開き、下記の設定を挿入します(とりあえず最後の方に追加してください)。
.layout-three-column #footer {
margin : 30px 0 0;
padding: 10px;
border-top: 1px solid #666699;
color: #ffffff;
background: #8fabbe;
font-size: 12px;
text-align: center;
}
また本文とフッタの表示バランスを修正するために、下記の box セレクタおよび content セレクタについても、赤色から青色に修正すると良いでしょう。スタイルシートには似たようなセレクタが並んでいるので、「.layout-three-column #box」と「.layout-three-column #content」で検索しましょう。
.layout-three-column #box {
width: 850px;
margin-right: auto;
margin-left: auto;
padding: 0 0 15px 0;
padding: 0;
border-bottom: 1px solid #666699;
border-left: 1px solid #666699;
border-right: 1px solid #666699;
text-align: left;
background-color: #ffffff;
}
:
(中略)
:
.layout-three-column #content {
float: left;
width: 478px;
margin: 0 0 10px 0;
margin: 0 0 20px 0;
border-bottom: 1px solid #666699;
border-left: 1px solid #666699;
border-right: 1px solid #666699;
}
2.リキッドレイアウトの場合
当サイトで公開しているリキッドレイアウトは左右カラムを absolute(絶対値)指定しており、中央カラムの縦幅と左右サイドバーの縦幅が連動しないため、固定レイアウトのように左右サイドバーにまたがったタイプのフッタ表示はできません。例えばフッタを中央カラムの下に割り当てると、サイドバーの縦幅が中央カラムの縦幅より長くなるとフッタとサイドバーの表示が重なってしまいます。
ということで、ここではサイドバーにはみ出さないように、中央カラムの下に著作権表示をする例をご紹介します。
注:FC2ブログテンプレートのリキッドレイアウトではフッタが表示されるようになっていますので、2項の設定は不要です。
2.1 テンプレートにフッタを追加
フッタを表示したい各テンプレートの編集画面を開き、テンプレートの途中にある中央カラム終了を示す div 要素(終了タグ)と、右カラム開始の div 要素の間に青色で示したフッタを挿入します。
:
</div><!-- /content -->
<!-- 中央カラム終了 -->
<p id="footer">
Copyright © 2007 xxxxx All Rights Reserved.
</p>
<!-- 右カラム開始 -->
<div id="links-right-box">
<div id="links-right">
:
2.2 スタイルシートにフッタ用CSSの追加
テンプレート編集画面でスタイルシート(styles-site.css)を開き、下記の設定を挿入します(とりあえず最後の方に追加してください)。
.layout-three-column-liquid #footer {
margin : 15px 0 0;
padding-top: 5px;
color: #444444;
font-size: 12px;
text-align: center;
}
3.3.1xをご利用の場合
上記のカスタマイズは3.2x用です。3.1xまではCSSの設定が異なるため、1.2項にある
.layout-three-column #footer {
:
.layout-three-column #box {
:
.layout-three-column #content {
:
または2.2項の
.layout-three-column-liquid #footer {
:
の赤色部分を削除してください。
2005.12.23 追記
3.1x 用のカスタマイズ方法を追加しました。
2007.2.25 追記
HTMLマークアップを変更しました。それに伴い CSS も一部変更しました。
HP Compaq nx4820/CT Notebook PC
そろそろ年末ということで、実家への帰省を予定しています。
が、実家にはPCもネットワーク環境もなく、いつもVAIO C1R(MMX(R) テクノロジーPentium(R) プロセッサー(266MHz)/メモリ64MB/HDD4.3GB)という、年代もののノートPCを持ち帰り、それに携帯通信カードを接続してパケット通信するという、かなり軟弱な環境を強いられていました。
といっても、これまでは実家でPCを使う用もたいしてなかった(メールチェック程度)ため、十分用は足りていました。しかし今回、ブログを開設してから初めての長期の帰省で、エントリー投稿やコメントへのご返事、それにカスタマイズの考案のための作業等も引き続き行う予定でいます。
この状況で、今のノートPCで作業的に苦しいのは陽の目を見るより明らかで、
- 「新調しなければ」
という考えに至った訳です。
まずは秋葉原のヨドバシで現物を物色。基本的にBTOパソコン派なので、HP Compaq nx4820/CT ・Gateway MX6628j(これは非BTO)、あとSONY製品の「OWNER MADE」というカスタマイズ可能な機種がいくつかあり、その中から typeF を候補にしました。スペックは Pentium M プロセッサ 740/メモリ512MB を希望しています。なおHPは目当ての機種が売り切れで直接触れることはできませんでした。
家に戻って、HPモデルを公式サイトで確認したところ、カスタマイズモデルは海外製造で入荷に時間がかかるため年内入手は無理であることが判明。SONY製品も一部の部品が調達できないということが書かれており、これも年内入手困難なため断念。
完全に出遅れてしまっていることに気がつきました。
とりあえず再考のため再び秋葉原へ。なおデザイン的にHPまたはSONYが気にいっていたので、Gatewayは一旦候補から除外。またSONYよりもHPがやや気に入っていたので、HP nx4820/CTを探してみることにしました。
ヨドバシに行くとやはり品切れだったため、その足で在庫がありそうな「ツクモDOS/Vパソコン館」へ。
あまり期待していませんでしたが、意外にもHPが普通に置かれてました。しかもカスタマイズモデルの在庫も約10台ほどが積み上げられているという嬉しい状態。改めて現物を確認して気に入りました。
店員さんに在庫が多い理由を聞いてみると、
- 「他のお客さんがオンラインでカスタマイズ注文してキャンセルした品物がまとめて入荷した」
とのことで、たしかにスペックが微妙に異なるものばかり。
個人的には最初の条件を満たしていれば、HDDやドライブ等、残りのスペックはどうでもよかったのですが、表示金額はどれも明らかにオンラインショッピングで注文する値段より1万円以上安くなっていました。
デザインが気に入った上に「安い」というかなりの好状況。これは自然に欲も湧いてくるというもので、その場でどのスペックを選択すべきか、悩むこと約10分。
結局、しばらく買い直さない前提で、Pentium M プロセッサ 750/メモリ1GB/DVD±R/RWドライブという、当初よりかなりゴージャスなカスタマイズモデルを選択。
購入した機種(の外観)は以下です。そのあと別の人が同じカスタマイズモデルを購入されていたので、いいタイミングでゆっくり考えて選ぶことができました。
HP Notebook nx4820 (C360, 256MB, 14"WXGAウルトラクリアビュー, DVD/CDRW, 無線LAN, リサイクルシール) posted with amazlet on 05.12.21 ヒューレット・パッカード (2005/09/27) 売り上げランキング: 1,492 |
家に戻ってオンラインショッピングで同じスペックを選択してみると、約3万円安い価格だったことが判明。なかなかお得な買い物でした。
ただ通信環境をどうするかは未検討です(笑)。
表示するデータを周期的に切り替える
お知らせ等のちょっとしたデータの表示を周期的に切り替えるカスタマイズです。サンプルでは3秒周期でデータを切り替えるように設定しています。テンプレートに依存しませんので、JavaScript が使えればどのツールでも利用可能です。
以下、カスタマイズ方法です。
1.本文の設定
テンプレートの任意の位置、例えばお知らせに使用するのであれば、中央カラム上部等に下記の設定を挿入します。
<div id="info1">
お知らせ1
</div>
<div id="info2">
お知らせ2
</div>
<div id="info3">
お知らせ3
</div>
例は3種類のお知らせ用フォーマットを用意していますので、青色の部分にお好きな内容を設定してください。
2.イベントハンドラの設定
body 要素に青色のように onload イベントハンドラの設定をします。
<body onload="setInterval('changeLink()',10000)">
中に設定されている「10000」の部分は、msec(1/1000秒)を表す単位を設定します。「10000」は10秒周期を示しています。setInterval は JavaScript で用意された関数で、起動する関数と、周期を設定します。onload イベントハンドラでこの設定が実行されます。
3.スクリプトの設定
1項で設定した部分のすぐ下に、下記のスクリプトを追加します。
<script type="text/javascript">
var max = 3;
var n = 1;
function changeLink() {
for(i = 1; i < max+1; i++){
document.getElementById('info'+i).style.display = 'none';
}
if(!n || n > max) n = 1;
document.getElementById('info'+n).style.display = 'block';
n++;
}
changeLink();
</script>
4.フォーマットを増やす
フォーマットを増やす場合は、1項で設定した本文の下に、
<div id="info4">
お知らせ4
</div>
<div id="info5">
お知らせ5
</div>
:
という具合に、同じタグ構造のものを追加します。赤色の n には上から順番に数字を振ってください。最初のリストでは info3 まで割り振られているので、新しく追加する場合は順に info4、info5、… と割り振ります。
それから、フォーマットの合計数を、3項の2行目にある max の右辺に設定します。5種類のフォーマットを表示する場合は
var max = 3;
となっている部分、下記のように
var max = 5;
「5」に修正してください。
5.注意事項
アフィリエイトの商品リンク切り替えに使用される場合、利用規定で禁止されている場合もありますので、十分ご注意ください。
6.その他
2項のイベントハンドラの設定を行わずに、setInterval を3項のリストの最後に追加して
:
changeLink();
setInterval('changeLink()',10000)";
</script>
とする手もあります。
Movable Typeブログ拡張パーツ&デザインガイド―プラグインや無料サービスを活用したブログの機能/デザインパワーアップ術
Movable Type のカスタマイズ本が、また1冊発売されました。
Movable Typeブログ拡張パーツ&デザインガイド―プラグインや無料サービスを活用したブログの機能/デザインパワーアップ術 posted with amazlet on 05.12.25 エ・ビスコム・テック・ラボ 毎日コミュニケーションズ (2005/12) |
画像がまだ表示されていませんが、エ・ビスコム・テック・ラボ 著書の
- Movable Typeスタイル&コンテンツデザインガイド―コンテンツ管理システム(CMS)ツールとしてのMovable Type活用術&実践サイトデザイン術
- Movable Type ブログテンプレート&デザインガイド―マルチユースなテンプレートによる効率的なブログ制作
に続く第3弾です。
内容は、Movable Type の拡張機能や各プラグインを利用したカスタマイズ方法、各種ツールの紹介等ですが、The Blog og Fujimoto:壱さんのブログ簡単パワーアップ Movable Type スーパーカスタマイズテクニックとはやや異なった趣の内容になっています。
滝川クリステル
自宅サーバからレンタルサーバへの移転メモ
表示上の不具合がいくつか残っていますが、とりあえず移転できました。自宅サーバの方は他で稼動しているサイトがあるので、このまま引き続き利用します。
新サーバは、評判が良いと思われる「さくらインターネット」です。プランは「スタンダードプラン(ディスク容量1GB)」です。かなりのエントリーや画像をジャブジャブ使っている割にはまだ200MBに満たないので、しばらくはこのプランでもちこたえられそうです。
なお今回の移転にあたっては、さくらインターネットのマニュアルにも載っているのですが、下記のエントリーも参考にさせて頂きました。ありがとうございました。
以下、自宅サーバからレンタルサーバへの移転手順を時系列で記します。
1.新サーバの事前準備
| 1 | Movable Type 3.2-ja-2パッケージのアップロード。 | |
| 2 | mt-config.cgi 設定 | CGIPath 契約時のドメイン(http://xxx.sakura.ne.jp/~/)を mt-config.cgi の CGIPath に設定してインストール実施。これは本格利用の前の動作確認のためですが、後でサイトパスを変更すればそのまま利用できます。 |
データベース(MySQL)
| ||
ファイル・ディレクトリのパーミッション
| ||
| 3 | スキーマ変更 | schemas 配下の mysql.dump にある エントリーとテンプレートの本文のサイズを拡張。デフォルトのサイズではテンプレートのソースを掲載した記事が途中で途切れてしまうためです(この問題は BerkeleyDB から MySQL に移行した時に発覚しました)。 |
| 4 | インストール実施 | |
| 5 | デフォルトテンプレートでの動作確認 | |
| 6 | テンプレート変更 | Movable Type の新旧管理画面を二つ開いて、現サーバからテンプレートを新サーバ側へコピー&ペーストしました。その前に MySQL のバックアップを読み込ませたのですがエラーになってしまったため仕方なくこの手順で行いました。 |
| 7 | プラグイン・画像類のアップロード | |
| 8 | 変更したテンプレート類の表示を確認して、新サーバ側 Movable Type の事前設定は完了 | |
| 9 | 新サーバ側にドメイン追加 | 現在のドメインは他社で取得したものなので、これをさくらインターネットで使えるように設定します。[会員メニュー]-[ご利用中サービスの一覧]-[サーバ設定]-[ドメイン設定]で開いたダイアログから「他社で取得、または他社で管理中のドメインを移して使う」の一番下にある
|
2.現サーバ
| 1 | mt-comments.cgi/mt-tb.cgi の停止 | エントリーのバックアップを取得してから新サーバへインポートして公開するまでの間はコメント・トラックバックの差分が出ないように上記2ファイルの名前を変更して受付を停止しました。 |
| 2 | エントリーの読み出し | 3.1x以前はバックアップデータがブラウザに表示されていましたが、3.2からは右クリックしてもファイルとして保存されるようになっています。 |
| 3 | 「サーバ移転のお知らせ」を追加 | |
3.新サーバ
| 1 | バックアップのアップロード | importディレクトリ作成して、先ほど取得したバックアップデータのアップロード |
| 2 | エントリーの書き込み | 自宅サーバではもの凄い勢い(表示されている字が読めないくらい)でしたが、今回はかなりゆっくりで、「500エラーになるのではないか」と心配するくらい時間がかかりました。 |
| 3 | サイトパスの変更 | 管理画面よりブログのサイトパスを http://www.koikikukan.com/ に、アーカイブパスを http://www.koikikukan.com/archives に変更して全て再構築。エントリー・アーカイブはかなり時間がかかりました(40エントリーで数分)が500エラーにはなりませんでした。 これで現在のドメインで全て再構築されましたが実際にはトップページのみ登録時のドメインで表示を確認して、他のアーカイブページへのリンクは現サイトにジャンプしてしまう状態なので未確認でした(直接URL指定すれば参照できますが)。 |
4.ドメイン取得会社
| 1 | ネームサーバ設定 | 先ほどのネームサーバの設定を行います。取得したドメイン(koikikukan.com)を、さくらインターネットのネームサーバに登録するよう設定します。 |
| 2 | ダイナミックDNSの無効化 | 私の場合、自宅サーバからレンタルサーバへの移転のため、ネームサーバはそもそも設定されていませんでした。理由は、ネームサーバはIPアドレスが固定でないと有効でないのですが、自宅サーバのIPアドレスは動的に割り当てられるため、「ダイナミックDNS」という設定を行っていました。で、このダイナミックDNSの設定を無効にします。ちなみにこのダイナミックDNSサーバに対し、PCにインストールされた Dice というツールが、自PCのIPアドレスが変化する度に通知するという仕組みになっている訳です。 ということで、ネームサーバ設定とダイナミックDNS設定を無効にする切り替えのタイミングが不明でしたが、とりあえずほぼ同時に行いました。後はネームサーバの設定が有効になれば自動的に新サーバ側が表示されます。 |
5.新サーバ
| 1 | mt-config.cgi 修正 | このファイルにある CGIPath を正規のURLに変更します。これで管理画面のログインが正規のURLで行えるようになります。また Typekey の設定も有効になるはずなのですが、私のテンプレートは3.1xのものでしたので現在Typekeyコメントができない状態になっています。 |
6.PCの hosts 変更
C:\WINDOWS\system32\drivers\etc\hosts ファイルに設定していた
192.168.0.xx www.koikikukan.com
という設定を削除します。これはPCでDNS解決させてアクセスするための技です。
7.数々の失敗
次回移転時の備忘録として記しておきます。
- ダウンロード用スクリプト・プラグインのアップロードもれ
- sb/Serene Bach のテンプレートのアップロードもれ
- スタイルシート生成ツールのアップロードもれ
- StyleCatcher用リポジトリのアップロードもれ
- インデックステンプレート類のリンク切れ(インデックステンプレートはひとまとめに再構築したのですが、再構築オプションにチェックのついていないテンプレートの再構築を忘れていました)
- さらにナビゲーションバーのモジュール化(再構築後にディレクトリを変更したためナビゲーションバーが表示されない状態になっていました)
- JavaScript にもバグがあったため(既存)、併せて修正
2005.01.06 追記
7項を修正しました。
ドリコムRSSのBlogListにスクロールバーをつける
ということで、早速、ドリコムRSSのBlogListにスクロールバーをつけるカスタマイズをご紹介します。スクリーンショットのように、クレジットバナーをスクロールバーの外に追い出すことができます。 以下、カスタマイズ方法です。 |
1.BlogList を div タグ等で括る
下記のように BlogList を表示するタグを div 要素で括り、id 属性 hogehoge を div 要素に記述してください。
<div id="hogehoge">
<script language="javascript" src="http://list.blog.rss.drecom.jp/xxxxx/" charset="UTF-8"></script>
</div>
Serena Bach で定義型リスト(dl - dt - dd)を使っている場合は、下記のように dd 要素の中に div 要素を与えてください。
<dl class="xx">
<dt id="xxname">LIST</dt>
<dd id="xxlist">
<div id="hogehoge">
<script language="javascript" src="http://list.blog.rss.drecom.jp/xxxxx/" charset="UTF-8"></script>
</div>
</dd>
</dl>
2.表示タグにスクリプトの追加
下記のスクリプト(青色部分)を、1項で修正したタグの下に追加してください。
<div id="hogehoge">
<script language="javascript" src="http://list.blog.rss.drecom.jp/xxxxx/" charset="UTF-8"></script>
</div>
<script type="text/javascript">
<!--
id = 'hogehoge';
image = 0;
tag1 = '<a';
if (window.navigator.userAgent.indexOf("MSIE") != -1) {
tag1 = tag1.toUpperCase();
}
if (!image) {
tag2 = 'By DrecomRSS<';
} else {
tag2 = 'drecomrss_banner';
}
nodes = document.getElementById(id).innerHTML;
data = '<div class="drecomrss-main">';
list = nodes.split(tag1);
counter = 0;
for (i = 0; i < list.length; i++) {
if(list[i].indexOf('window.open') != -1) {
data += '</div><div class="drecomrss-listMe">' + tag1 + list[i];
break;
}
if(list[i].indexOf(tag2) != -1) {
data += '</div><div class="drecomrss-powered-by">' + tag1 + list[i];
} else {
if(counter){
data += tag1;
}
data += list[i];
}
counter++;
}
document.getElementById(id).innerHTML = data + '</div>';
//-->
</script>
赤色で示した
id = 'hogehoge';
image = 0;
ですが、上の hogehoge の部分に、1項で設定した id 属性と同じものを設定してください。下の 0 は、クレジットバナーにスクリーンショットのように画像を表示している場合は 1 に修正してください。「Powered by DrecomRSS」という文字を表示する場合、修正は不要です。
3.スタイルシートの設定
BlogList用のCSSとして、スタイルシートに下記を追加します。
.drecomrss-main {
overflow: auto;
height: 200px;
font-size: 10px;
}
.drecomrss-powered-by {
margin-top: 10px;
margin-bottom: 0px;
}
.drecomrss-listMe {
margin-top: 0px;
}
スクロールバーの高さを変える場合は
.drecomrss-main {
overflow: auto;
height: 200px;
font-size: 10px;
}
の赤色部分を修正してください。
2006.07.31 追記
3項に font-size プロパティを追加しました。
サーバ移転のお知らせ
当サイトは現在自宅サーバで運用しておりますが、近日中にサーバを移転することに致しました。
理由は、これまでに連載してきたApacheの不具合により、アクセスできなくなる(厳密にはページが表示されるまでに非常に時間がかかる)ケースが度々発生しているためです。またそれを解消するためApacheの再起動やWindowsの再起動も日に何回か行うように自動設定しており、それによって一時的にアクセスできなくなる時間も軽視できません。
開始当初はたいしたアクセスもなく、Apacheの不具合についても意識していなかったのですが、最近では終日かなりのアクセスを頂けるようになり、より安定した品質でサイトを運営した方がいいだろう、というのが大きな理由です。また私自身、サーバの不具合で日々頭を悩ませるという精神衛生上良くない状態から脱却したいというのもあります。
Linuxで自宅サーバを立ち上げれば Apacheの不具合は解消すると思われますが、今のところそこまでする余裕はありません。
移行作業は、新サーバ側についてはエントリー以外の設定は大体完了しています。あとは現サーバからエントリーのバックアップを取得し、それを新サーバ側に転送(書き込み)して、その後にDNSを切り替えるという予定です。ということで、バックアップを取得してから新サーバに切り替わる間はコメント・トラックバックを受け付けないように設定させて頂きますので、予めご了承ください。
明日夜に切り替える予定です。
野口さん
Movable Type 3.2-ja-2 へアップグレード
すでにお気づきの方もいらっしゃると思いますが、昨日 3.171-ja から 3.2-ja-2 にようやくアップグレードしました。以下、アップグレード時のメモです。手順は Windows 自宅サーバのものですので予めご了承ください。
- mt-comments.cgi、mt-tb.cgi のファイル名変更(コメント・トラックバック抑止のため)
- エントリーのバックアップ
- 念のため phpMyAdmin を利用して MySQL のデータもバックアップ
- cgi-bin 配下のファイルを丸ごとコピーしてバックアップ(盛り込んでいるパッチ類を新ファイルに適用させるため)
- 3.2-ja-2 のパッケージを解凍し、search_template 以外のすべてのディレクトリ・ファイルを上書き
- 3.2-ja-2 の mt-comments.cgi、mt-tb.cgi のファイル名変更(コメント・トラックバック抑止のため)
- mt-config.cgi-config の内容を修正してファイル名を mt-config.cgi に変更
- mt-check.cgi 実行→OK
- mt.cgi 実行→自動認識によりアップグレード開始画面へ遷移
- アップグレード実施→OK(緊張しました…)
- クレジットバナーの再構築(モジュール化しているため個別に再構築)→「3.2-ja-2」が表示
- 全てのアーカイブを試しに再構築→OKでしたが Util.pm の修正を忘れており、記事のリスト類の改行が欠落してしまったため、再度再構築
また、アップグレードを実行した後、MySQLのデータサイズを変更するのを忘れていたことに気がつきましたが、問題ありませんでした。
プロフィールのページを作る(3.2-ja~3.35-ja用)
「プロフィール」用テンプレートの作成方法です。以前書いたプロフィールのページを作るが3.1xまでしか対応していなかったので、3.2-ja~3.35-ja用に書き直しました。なおここでご紹介するのは公開テンプレート用ですので予めご了承ください(デフォルトテンプレートのものは別途エントリーします)。
同様の手法で「このサイトについて」や「注意事項」のページを色々と作ることができます。プロフィール自体をエントリーとして追加する方法もありますが、ここではインデックステンプレートとして追加し、その中に直接コンテンツを記述する方法を説明します。
1.プロフィール用テンプレートの作成
Movable Type 管理画面左メニューの「テンプレート」をクリックし、右側上に表示されている「テンプレートを新規作成 」をクリックしてください。次に表示された画面で以下の項目を設定します。
- テンプレートの名前:Profile
- 出力ファイル名:profile.html(とりあえずこの名称で)
- 「インデックス・テンプレートを再構築する時に~(中略)~」をチェック
- このテンプレートにリンクするファイル:何も設定しない
- テンプレートの中身:下記のリストを丸ごとコピー&ペーストしてください。
リストは3カラム(固定)用の設定になってますので、カラムレイアウトはご自身の設定されているものに合わせて修正してください。
2.テンプレートにコンテンツ記述
タイトルや本文に該当する部分に、プロフィールの内容(コンテンツ)を直接書き込んでください。書き込む場所(=修正する場所)はテンプレートにある下記の青色で示す部分です。
<!-- タイトル開始 -->
<h2 class="date">プロフィール</h2>
<!-- タイトル終了 -->
<!-- タイトルの内容1開始 -->
<div class="entry">
<!-- エントリータイトル -->
<h3 class="entry-header">●名前</h3>
<!-- エントリー -->
<div class="entry-content">
<div class="entry-body">
小粋太郎
</div>
</div><!-- /entry-content -->
</div><!-- /entry -->
<!-- タイトルの内容1終了 -->
<!-- タイトルの内容2開始 -->
<div class="entry">
<!-- エントリータイトル -->
<h3 class="entry-header">●性別</h3>
<!-- エントリー -->
<div class="entry-content">
<div class="entry-body">
男
</div>
</div><!-- /entry-content -->
</div><!-- /entry -->
<!-- タイトルの内容2終了 -->
<!-- タイトルの内容3開始 -->
<div class="entry">
<!-- エントリータイトル -->
<h3 class="entry-header">●さらに詳しく</h3>
<!-- エントリー -->
<div class="entry-content">
<div class="entry-body">
あいうえお
</div>
</div><!-- /entry-content -->
</div><!-- /entry -->
<!-- タイトルの内容3終了 -->
入力および編集後、テンプレートを保存して再構築し、ブラウザより index.html のURL+出力ファイル名でアクセスして表示を確認してください。
3.サイドバーメニューにプロフィールページのリンク設定
メインページ等のサイドメニューやナビゲーションバーにリンクを追加します。フォーマットは各自のメニューのフォーマットに合わせてください。
<div class="side">
<a href="<$MTLink template="Profile">">プロフィール</a>
</div>
リスト中にある MTLink は、template 属性で指定された Profile(これは1項で設定した「テンプレートの名前」です)に該当するファイルを読み込む機能をもっています。
リンク追加後、保存して再構築します。
4.コンテンツのサブタイトル数について
ここでは3つのサブタイトル(名前・性別・さらに詳しく)を入力できるフォーマットを公開していますが、
<!-- タイトルの内容x開始 -->
<div class="entry">
<!-- エントリータイトル -->
<h3 class="entry-header">●サブタイトル</h3>
<!-- エントリー -->
<div class="entry-content">
<div class="entry-body">
サブタイトルの内容
</div>
</div><!-- /entry-content -->
</div><!-- /entry -->
<!-- タイトルの内容x終了 -->
がひとつのサブタイトル全体を表示する単位ですので、このタグを丸ごと追加すればサブタイトルをお好きなだけ増やすことができます(減らすこともできます)。
2005.12.21 追記3項のリンク方法を変更しました。
カテゴリーのプルダウン化プラグインを blog*citron さんのテンプレートで使う方法
ちなみに本家さまでもカテゴリーのプルダウン化が公開されたようです。 |
以下、カスタマイズ方法です。
まず、カテゴリーのプルダウン化プラグイン for Serene Bach の1?3項までの作業を行ってください。そして4項の作業について、下記の内容に変更して実施してください。
4.独自タグの設定2
blog*citron さんのベースHTMLテンプレートのサイドバーに設定されているカテゴリー表示用のブロック名および独自タグを、「変更前」のリストから「変更後」のリストに変更してください。
変更前
<!-- BEGIN category -->
<dl class="category">
<dt id="categoryname">CATEGORIES</dt>
<dd id="categorylist">{category_list}
{subcategory_list}</dd>
</dl>
<!-- END category -->
変更後
<!-- BEGIN fold_category -->
<dl class="category">
<dt id="categoryname">CATEGORIES</dt>
<dd id="categorylist">
<div id="categories">{fold_category_list}</div>
</dd>
</dl>
<!-- END fold_category -->
元のタグは全て残していますのでスタイルへの影響はないと思いますが、CSS の設定を変更されている場合は #categorylist 配下に #categories の追加が必要になるかもしれません。もし現在のスタイルが適用されなくなってしまった場合は、お手数ですがご連絡ください。
またスクリーンショットは、エントリー件数と折りたたみマークの間にスペースを設けて表示していますが、これは元記事の5項の作業を行ってください。
カテゴリーのプルダウン化プラグイン for Serene Bach
|
2008.09.22 本プラグインはバージョンアップしています。
詳細は「Serene Bach カテゴリーのプルダウン化プラグイン v3.00」をご覧ください。
2007.04.02 本プラグインはバージョンアップしています。
詳細は「カテゴリーのプルダウン化プラグイン・バージョンアップ」をご覧ください。
プルダウンの仕様は下記の通りです。
- 親カテゴリーに折りたたみマークを表示します。
- cookie を利用して折りたたみ状態を保持しますので、リロードやブラウザを新しく開いても以前の折りたたみ状態を表示することができます。
- 設定を変更することで折りたたみマークをカテゴリーの左側に表示させることもできます。
- 親カテゴリーの記事数を子カテゴリーの記事数と合算表示できます。
- カテゴリー名の横に新着表示が可能です。
- ツリー化スクリプトとの併用が可能です。
プルダウン動作は Windows2000/XP の IE/Firefox/Opera で確認しております。他の環境はもっておりませんので予めご了承ください。
前置きが長くなりましたが、以下カスタマイズ方法です。
1.プラグインのダウンロード・アップロード
下記の FoldCategory.zip または FoldCategory.lzh をクリックして、プラグインのアーカイブをダウンロードしてください。
修正履歴
2005.12.09 初版
2006.02.12 個別エントリーで表示されるカテゴリーリストの各カテゴリー件数が全て0になる不具合を修正
2007.10.13 親カテゴリーにサブカテゴリーの記事数を合計して表示・記事数の表示・非表示の切り替え・記事数を括るマークに任意の文字列を設定可能
2008.07.03 記事がないカテゴリーに「0件」を出力する不具合を修正
2008.08.28 記事がないカテゴリーにリンクを設定する不具合を修正
2008.09.22 新着表示プラグイン(サブカテゴリーリスト版)と合体
ダウンロードしたアーカイブを解凍し、中にある FoldCategory.pm を plugins ディレクトリ直下に、resource/ja/foldcategory.txt を、同じディレクトリの構成があると思いますので、foldcategory.txt のみを ja 配下にアップロードしてください。
アップロードの後、Serene Bach の管理画面を起動し、「環境設定」→「プラグイン」をクリックし、プラグイン一覧に FoldCategory.pm が表示されていることを確認し、一番右のチェックボックスをチェックして右下の「利用する」をクリックしてください。
2.スクリプトのダウンロード・アップロード
このプラグインを動作させるためには menufolder.js というスクリプトが別途必要になります。サイドメニューの折りたたみで menufolder.js をすでにお使いの場合は、本項目および3項の作業をスキップしてください。下記のリンク先より menufolder.js をダウンロードしてください。ダウンロードした menufolder.js を index.html のあるディレクトリにアップロードしてください。
3.独自タグの設定1
2項でダウンロードした menufolder.js を使うための宣言を、ベースHTMLテンプレートに設定します。個別エントリー用HTMLテンプレートを設定している場合はそちらも同じ設定を行ってください。
下記のように </head> の前辺りに青色のブロックおよび独自タグを設定します。
:
<!-- BEGIN fold_category -->
{fold_category_script}
<!-- END fold_category -->
</head>
:
4.独自タグの設定2
ベースHTMLテンプレのサイドバーに設定しているカテゴリー表示用のブロック名および、独自タグを下記のように変更してください。
:
<!-- BEGIN fold_category -->
<div class="sidetitle">Categories</div>
<div class="side" id="categories">{fold_category_list}</div>
<!-- END fold_category -->
:
ブロック名は fold_category 、独自タグ名は fold_category_list となります。リストは公開テンプレートを例に記していますが、div タグの有無や class 属性の名称は現在お使いのままで結構です。ただし赤色で示している、
id="categories"
は必須となりますのでご注意ください。
注意:blog*citron さん、ボムガールさん、宵闇書房さん、Millibar さんのテンプレートのように、カテゴリーリストが dl/dt/dd で括られていている場合、元の id 属性を変更せずに、下記のようにブロック名の変更と、独自タグを div 要素で括る形で設定してください。
:
<!-- BEGIN fold_category -->
<dl class="category">
<dt id="categoryname">CATEGORIES</dt>
<dd id="categorylist">
<div id="categories">{fold_category_list}</div>
</dd>
</dl>
<!-- END fold_category -->
:
5.折りたたみマークに関するカスタマイズ
基本的な設定は以上ですが、折りたたみマーク
なおデフォルトではスペースがないため、menufolder.js を任意のエディタで開き、下記の青色部分のように「1」に変更すれば、スクリーンショットのように件数とマークの間にスペースが挿入されます。
:
// サブカテゴリーのタイトルとマークのスペース
var offsetForTitleAndMarkOfSubcategory = 1;
:
また、カテゴリー名の左側に折りたたみマークを表示する場合は、同じファイルの下記の青色部分のように「true」を設定します。
:
// サブカテゴリー用折りたたみマーク挿入位置
// カテゴリー前に折りたたみマークを配置:true
// カテゴリー後に折りたたみマークを配置:false
var preMarkForSubCategory = true;
:
6.スクリプトの追加(新着表示を行う場合のみ)
まず、8項の設定画面で「新着表示」を「新着表示対応する」に設定してください。
次に、ベースHTMLテンプレートの、4項で設定した独自タグのすぐ後ろに、下記のスクリプト(青色)を追加してください。
:
<!-- BEGIN fold_category -->
<div class="sidetitle">Categories</div>
<div class="side" id="categories">{fold_category_list}</div>
<!-- END fold_category -->
<script type="text/javascript">
//<![CDATA[
// passage time
var pass = 24;
// display content
var content = 'New!!';
var currentDate = new Date();
var spans = document.getElementsByTagName('span');
for (i = 0; i < spans.length; i++) {
if(spans[i].getAttribute('class') == 'new' ||
spans[i].getAttribute('className') == 'new') {
var now = (spans[i].innerHTML - (Math.ceil(currentDate.getTime()/1000))) /(60*60);
now = Math.ceil(now);
if(-now <= pass){
spans[i].innerHTML = content;
spans[i].style.display = 'inline';
}
}
}
//]]>
</script>
新着表示の時間は
// passage time
var pass = 24;
の赤色部分を変更します。単位は時間です(例は24時間)。
表示させる内容は
// display content
var content = 'New!!';
の赤色部分を変更してください。HTMLタグも大丈夫ですので
var content = '<img src="http://~/hogehoge.gif" style="vertical-align: middle" />';
とすれば画像を表示することもできます。
7.スタイルシートの設定(新着表示を行う場合のみ)
スタイルシートに下記の設定を追加します。最初の display プロパティで1項のタグに設定したタイムスタンプを非表示にします。その下の color プロパティと font-weight プロパティは、 New!! という文字が表示された場合に適用される設定です。
span.new {
display: none;
color: red;
font-weight: bold;
}
プロパティは適宜変更してお好みのデザインにしてください。
8.設定画面
- 記事数表示
- 親カテゴリーへの子カテゴリーの合算
- 記事数表示を括る文字
- 新着表示
については、管理画面の「追加機能」に表示された「カテゴリーのプルダウン化」のページ(下)から設定できます。

9.その他
なお本プラグインは sb パッケージに含まれる
- sb/Content.pm::_category_tree
- sb/Content.pm::_list_category
を利用したものです(sb研究所様へは連絡済)ので、プラグイン改造等による再配布はご遠慮ください。
2005.12.10
ブログの文字コードがEUCの場合の考慮がもれていましたので、プラグインを修正しました。
2005.12.12
他サイトの公開テンプレートへの適用例を追加しました。
2008.08.24
プラグインの修正履歴を追加しました。
2008.09.22
6項~8項を追加しました。
リアルタイムカレンダープラグイン
Serene Bach カレンダーの本日の日付をリアルタイムに切り替えるプラグインです。
Serene Bach のカレンダーは、本日の日付に span 要素を自動的に付与し、その class 属性 today をCSSで利用することで、日付に枠をつける等の装飾を行うことができます。
ただし index.html 等のスタティックなページについては、日付が変わっても次の再構築が発動するまで日付の装飾を変更することができません。
ということで、過去の日付に与えられている class 属性(today)を本日の日付に付与しなおすプラグインを作りました。スクリーンショットは12月8日に枠がついている状態ですが、この枠を再構築なしで12月9日以降に移動することができます。すでに同じカスタマイズが公開されているようですが、作ってしまったので公開します。プラグイン形式ですが、中身は単なる JavaScript です。
Serene Bach で提供されているカレンダーをそのまま使うことができます。calendar ブロックの独自タグ {calendar} / {calendar2} / {calendar_horizontal} / {calendar_vertical} の4種類のカレンダー全てについて、Windows2000/XP の IE/Firefox/Opera で動作を確認していますが、不具合等ございましたらご連絡ください。
以下カスタマイズ方法です。
1.プラグインのダウンロード・アップロード
下記の RealTimeCalendar.zip または RealTimeCalendar.lzh をクリックしてアーカイブをダウンロードします。
アーカイブを解凍し、中にある RealTimeCalendar.pm を plugins ディレクトリ直下に、resource/ja/rtcalendar.txt を、同じディレクトリの構成があると思いますので、rtcalendar.txt のみを ja 配下にアップロードしてください。
アップロードのあと、Serene Bach の管理画面を起動し、「環境設定」→「プラグイン」をクリックし、プラグイン一覧に RealTimeCalendar.pm が表示されていることを確認し、一番右のチェックボックスをチェックして右下の「利用する」をクリックしてください。
2.ブロックと独自タグの追加
カレンダータグの下に、下のサンプルリストのようにリアルタイムカレンダースクリプト表示用のブロックおよび独自タグ(青色部分)を追加します。
<!-- BEGIN calendar -->
<div class="side">
<div class="calendar">
{calendar2}
</div>
</div>
<!-- END calendar -->
<!-- BEGIN rt_calendar -->
{rt_calendar_script}
<!-- END rt_calendar -->
3.カレンダーに id 属性の追加
カレンダータグに、下のサンプルリストのように id 属性として rt_calendar (青色部分)を追加します。
<!-- BEGIN calendar -->
<div class="side">
<div class="calendar" id="rt_calendar">
{calendar2}
</div>
</div>
<!-- END calendar -->
<!-- BEGIN rt_calendar -->
{rt_calendar_script}
<!-- END rt_calendar -->
サンプルでは公開テンプレートを使って、内側の div タグに id 属性を付与していますが、タグの構造が異なる場合は、{calendar2} 等の独自タグを何らかのタグで括っていると思いますので、そのタグに id 属性を与えてください。
もし他の id 属性がタグに付与されている場合は、ひとつのタグに id 属性を複数与えることはできませんので、先ほどアップロードした RealTimeCalendar.pm を任意のエディタで開き、37行目の
var id = 'rt_calendar';
の赤色部分を、現在使っている id 属性に書き換えてやってください。
4.公開テンプレートをお使いの方へ
公開テンプレートで本プラグインを適用した場合、本日の日付にリンクがあると、リンクのスタイル(色や下線)が適用されなくなるようですので、スタイルシートにある下記の赤色部分を削除(またはコメントアウト)してください。
.today {
display: block;
text-align: center;
color: #444444;
border: 1px solid #444444;
}
以上です。
なおプラグイン作成にあたっては The blog of H.Fujimoto さんの Serene Bach 用プラグインを参考にさせて頂きました。この場をお借りしてお礼申し上げます。
ブログのもと
既にご存知の方も多いと思いますが、BlogPeople を主宰されている ModernSyntax の nagasawa さんが本を出されまして、私の好きなハウツーものでしたので早速購入しました。
前半は、これからブログを始める人や、始めてみたけれどうまくいかない人たちへのアドバイスになっています。もちろんブログを順調に継続されている方にとっても役に立つ内容で、ブログのメリット・デメリット、書いていいこと・良くないこと、ネタがない時や忙しい時の対処方法、各種サービスを利用した効率化・アクセスアップ方法等が、リアルタイムにブログに携わっている方の視点で、分かりやすく記されています。
つまり、経験豊かなブロガーのノウハウがここに凝縮されているという訳です。
後半は BlogPeople の利用方法が丁寧に解説されており、各サービスの説明はもちろん、BlogPeople に関する裏話が色々と暴露されているので、BlogPeople を日頃利用されている方にとっては読み応え十分ではないでしょうか。個人的にはバナー変遷の話を興味深く読ませて頂きまして、モチベーションが改めて上がりました。
また後半の章でもサービスを利用することによるアクセス・コミュニケーションアップの方法が記されています。実際、それらに関する内容は私も同感するところが結構あり、 BlogPeople の利用で少なからずアクセスやコミュニケーションを増やす恩恵に授かっているので、伸び悩んでいる人にとってはかなり有用な1冊になるのではないでしょうか。
月送りカレンダー(簡易版)
月別アーカイブページに表示されたカレンダーに、簡単に月送り用のリンクをつけるカスタマイズです。
通常の1ヶ月カレンダーは月送りができないため、過去に作った日別アーカイブへのリンクがなくなってしまうという欠点があり、月送りカレンダーが急速に普及したという経緯があります。ですが、月送りカレンダーは専用のアーカイブテンプレートを作ったり、表示のために iframe 要素を使用したりと、やや複雑なカスタマイズになるというのが難点でした。
このカスタマイズではそのような手間はいらず、下にあるリストを貼り付ければ通常のカレンダーが月送りカレンダーに早代わりします。また Serena Bach(sb) のように、前月または次月のリンクをクリックするとページ全体も切り替わるのが利点です。
ただし月送りになるのは月別アーカイブページのみです(利用可能なアーカイブが限定されているので「簡易版」と命名しました)。メインページやカテゴリー・アーカイブ、エントリー・アーカイブは1ヶ月表示のままです。
簡易版といっても、カレンダーの切り替えが必要なのは基本的に月別アーカイブなので、個人的にはお勧めのカスタマイズです。
ひとつだけ注意事項がありまして、日付アーカイブテンプレートは他の日別アーカイブページ・週別アーカイブページと兼用になっていますが、このカスタマイズを行うと、これらのアーカイブのカレンダーにも同様のリンクが設定されることになります。ただし日別アーカイブではこのリンクが昨日(または明日)、週別アーカイブでは先週(または次週)のリンクになり、見栄えとしてはやや妙なものになります。
このため、カスタマイズ前の日別アーカイブテンプレートを丸ごとコピーした、新しい日付アーカイブテンプレートを作り、日別アーカイブ(または週別アーカイブ)はこのテンプレートと関連づけることをお勧めします(やっぱり面倒!というツッコミはなしで)。
新しくアーカイブテンプレートを作る方法は、このエントリーでは割愛しますので、アーカイブテンプレート作成方法を参照ください。
以下、カスタマイズ方法です。
1.テンプレートを修正する
管理画面から「テンプレート」→「アーカイブ」をクリックして「日付アーカイブ」を選択します。カレンダーを表示したい位置に下記のリストを挿入します。デフォルトテンプレートは1カラムのため、ここでは公開テンプレートを例にしています。本日の日付を表示するリアルタイムカレンダーも組み込んでます。
デフォルトテンプレートの場合は、事前に2カラムまたは3カラムへの変更を行ってください。
<!-- カレンダー開始 -->
<MTIfArchiveTypeEnabled archive_type="Daily">
<div class="side">
<div class="calendar">
<table id="calendarTable" summary="<$MTCalendarDate format="%B %Y"$>">
<caption class="calendarhead">
<MTArchivePrevious><a href="<$MTArchiveLink$>">«</a> </MTArchivePrevious>
<$MTCalendarDate format="%B %Y"$>
<MTArchiveNext> <a href="<$MTArchiveLink$>">»</a></MTArchiveNext>
</caption>
<tr>
<th abbr="Sunday"><span class="calendar"><span class="red">Sun</span></span></th>
<th abbr="Monday"><span class="calendar">Mon</span></th>
<th abbr="Tuesday"><span class="calendar">Tue</span></th>
<th abbr="Wednesday"><span class="calendar">Wed</span></th>
<th abbr="Thursday"><span class="calendar">Thu</span></th>
<th abbr="Friday"><span class="calendar">Fri</span></th>
<th abbr="Saturday"><span class="calendar"><span class="blue">Sat</span></span></th>
</tr>
<MTCalendar month="this">
<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>
<td><MTCalendarIfBlank><MTElse><span class="calendar"></MTElse></MTCalendarIfBlank><MTCalendarIfEntries>
<MTEntries sort_order="ascend">
<MTDateHeader><a href="<$MTEntryPermalink archive_type="Daily"$>" title="</MTDateHeader><$MTEntryTitle$><MTDateFooter>" target="_top"><$MTCalendarDay$></a><MTElse> / </MTElse></MTDateFooter>
</MTEntries>
</MTCalendarIfEntries><MTCalendarIfNoEntries><$MTCalendarDay$></MTCalendarIfNoEntries><MTCalendarIfBlank>
<MTElse></span></MTElse></MTCalendarIfBlank></td><MTCalendarWeekFooter></tr></MTCalendarWeekFooter></MTCalendar>
</table>
</div>
</div>
</MTIfArchiveTypeEnabled>
<!-- カレンダー終了 -->
<script type="text/javascript">
<!--
data = new Date();
year = data.getYear();
year = (year < 2000) ? year + 1900 : year;
month = data.getMonth() + 1;
date = data.getDate();
table = document.getElementById('calendarTable');
flag = 0;
summary = table.getAttribute('summary');
text = year + '年' + month + '月';
if (summary.indexOf(text) != -1) {
elements = table.getElementsByTagName('span');
for(k = 0; k < elements.length; k++) {
if (elements[k].childNodes){
if((elements[k].childNodes)[0].nodeName == 'A') {
if((elements[k].childNodes)[0].innerHTML == date) {
elements[k].parentNode.setAttribute('class','today');
elements[k].parentNode.setAttribute('className','today');
}
} else {
if (elements[k].innerHTML == date) {
elements[k].parentNode.setAttribute('class','today');
elements[k].parentNode.setAttribute('className','today');
}
}
}
}
}
//-->
</script>
設定したら保存・再構築してください。
2.通常カレンダーとの相違点
JavaScript を除いて、1ヶ月表示のカレンダーとの違いは、下記で示す部分です。削除または変更前を赤色で、追加または変更後を青色で示しています。
具体的には、2ヶ所ある MTDate タグを MTCalendarDate に変更し、MTCalendar に month 属性で this(今月)を付与します。あとは前月と次月のリンクを追加しています。
<!-- カレンダー開始 -->
<MTIfArchiveTypeEnabled archive_type="Daily">
<div class="side">
<div class="calendar">
<table id="calendarTable" summary="<$MTDate$MTCalendarDate format="%B %Y"$>">
<caption class="calendarhead">
<MTArchivePrevious><a href="<$MTArchiveLink$>">«</a> </MTArchivePrevious>
<$MTDate$MTCalendarDate format="%B %Y"$>
<MTArchiveNext> <a href="<$MTArchiveLink$>">»</a></MTArchiveNext>
</caption>
<tr>
<th abbr="Sunday"><span class="calendar"><span class="red">Sun</span></span></th>
<th abbr="Monday"><span class="calendar">Mon</span></th>
<th abbr="Tuesday"><span class="calendar">Tue</span></th>
<th abbr="Wednesday"><span class="calendar">Wed</span></th>
<th abbr="Thursday"><span class="calendar">Thu</span></th>
<th abbr="Friday"><span class="calendar">Fri</span></th>
<th abbr="Saturday"><span class="calendar"><span class="blue">Sat</span></span></th>
</tr>
<MTCalendar month="this">
:
3.日別アーカイブのカレンダーについて
冒頭で説明した通り、日別アーカイブはカスタマイズ前の日付アーカイブテンプレートを利用されていることが前提ですが、日別アーカイブも同じカレンダーを利用し、不要な前月および次月のリンク(<MTArchivePrevious>~</MTArchivePrevious> と <MTArchiveNext>~<MTArchiveNext>)を削除することで、ページに表示されている日と同じ月が表示されるようになります。
カレンダーのリンクにツールチップを設定する
:
<MTCalendar>
<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>
<td><MTCalendarIfBlank><MTElse><span class="calendar"></MTElse></MTCalendarIfBlank>
<MTCalendarIfEntries>
<MTEntries lastn="1">
<a href="<$MTEntryLink archive_type="Daily"$>"><$MTCalendarDay$></a>
</MTEntries>
<MTEntries><MTDateHeader><a href="<$MTEntryPermalink archive_type="Daily"$>" title="</MTDateHeader><$MTEntryTitle encode_html="1"$><MTDateFooter>" target="_top"><$MTCalendarDay$></a><MTElse> / </MTElse></MTDateFooter></MTEntries>
</MTCalendarIfEntries><MTCalendarIfNoEntries><$MTCalendarDay$></MTCalendarIfNoEntries><MTCalendarIfBlank>
<MTElse></span></MTElse></MTCalendarIfBlank></td><MTCalendarWeekFooter></tr></MTCalendarWeekFooter></MTCalendar>
:
上記のリストでは、記事を新着順に表示する設定になっています。順番を入れ替える場合は、
<MTEntries>
の部分を
<MTEntries sort_order="ascend">
に変更してください。
またタイトルとタイトルの区切り文字には "/" にしていますが、他の文字に変更する場合は
<MTElse> / </MTElse>
の赤色部分を任意の文字に書き換えてください。区切り文字の左右は文字実体参照 を使って空白を挿入していますので、不要であれば削除してください。
2007.03.06 追記
MTEntryTitle タグに encode_html 属性を追加しました。
リアルタイムカレンダー再修正のお知らせ
先日エントリーしたリアルタイムカレンダー(JavaScript版)ですが、スクリプトに誤りがあり、枠の装飾がきちんとできていないことが再度発覚致しました。この場をお借りしてお詫び申し上げます。
リストは修正し、日付にリンクのある場合とない場合の動作を IE/Firefox/Opera で確認致しました。2005/12/04 00:10 以前にリストを取得された方はお手数ですが、2項の作業を再度行ってくださいますよう、よろしくお願い致します。
なお <MTCalendar> ? </MTCalendar> の間の改行は変更されないよう、そのままお使いください。改行を変更されると Mozzila系ブラウザで装飾が行われなくなる可能性があります。
「ブログ」という言葉について
流行語大賞の発表があり、その中に「ブログ」が選ばれていたことは皆さんご存知のことと思います。自分の中ですっかり定着した単語がこのような場で認知されるということは、なにはともあれ嬉しいものです。
「ブログ」という言葉が生まれてから数年が経ちました。言葉の範囲は捉え方によって異なると思いますが、私の感覚では Movable Type や Serene Bach 等のブログツール、あるいは各種ブログサービスを利用したWebサイトがいわゆる「ブログ」で、「ホームページ」とはニュアンスの異なる印象を感じています。
自分の中では定着したと言っても、Webサイトを指す言葉は「ホームページ」という用語が一般的で、他の方に説明する時、ブログを「ホームページ」と言い換える機会も少なくありません。ですが「ブログ」が単なる流行語ではなく、一般的な用語として世間に浸透し、誰にでも通じる日がくるのもそう遠くないのではないかと予感しています。
sb テンプレート
|
下のリンクからテンプレートをダウンロードできますのでご利用ください。「個別エントリー用HTMLあり」はテンプレートの個別エントリー用HTMLテンプレートにも反映されます。CSSに不具合があったためパッケージを差し替えました。2005/12/03 13:50 以前にダウンロードされた方は再ダウンロードされるか、CSSテンプレートの1行目(@charset)を削除願います。
Serene Bach との差分については、sbのバージョン表示関連は気がついたので直しましたが、他は下記を参考に修正致しました。ありがとうございました。
2005.12.03 追記
CSSに展開されない独自タグ({site_encoding})が残っていたため削除しました。





Myblogサービスの統合で「
昨日公開した Serene Bach 用
Serene Bach 用のカテゴリーをプルダウン化するプラグインです。スクリーンショットのようにカテゴリー名の横に折りたたみマーク(▲または▼)のリンクを表示し、リンクをクリックすることでカテゴリーの折りたたみができます。当サイトのカテゴリーリストで同じものを使っておりますので、そちらで実際の動作を確認頂ければ幸いです。
