Top > February 2005 [全て開く]

今日の覚え書き

February 28,2005 11:59 PM
Category:[ご利用サイト]
Tag:[, , ]
Permalink

今日の覚え書き昨日に続きまして、本テンプレートご利用サイト「今日の覚え書き」さんのご紹介です。

管理者のお名前はもそさん。昨年10月16日に当サイトへコメントを頂いておりまして、テンプレートのご利用歴は約4.5ヶ月。実際のブログ歴はもっと長いのではないかと思います。
当初からご自身でサイトデザインを次々と変更されて、1pxもゆるがせにしないレイアウトで素晴らしいサイトになっていきました。さらに新しいアイデアを盛り込まれ、現在ではご覧の通り機能的な2カラムへと変貌致しました。CSSも入念に設計されており、カスタマイズ記事も豊富ですので参考になるのではないでしょうか。実際同じデザインを利用されているサイトさんもいらっしゃるようです。
少なくとも公開テンプレートより適用ブラウザ多いかと(爆)。

そのカスタマイズ関連の最近の記事「プルダウン式メニューバーになりました」取り上げさせて頂きます。
折りたたみメニューは一度クリックしないと開きませんが、こちらはメニューのリンクにマウスオンするだけでプルダウン式のメニューが表示されるというもので、サイト上部にあるリンクがその設定になっています。企業サイトではこのような方式のメニューをよく見かけますがブログサイトではあまり目にすることがありません。カスタマイズ方法もしっかり書いてくださってますので、興味のある方はご利用されてみてはいかがでしょうか。

もうひとつ取り上げさせていただいたエントリーは「初松屋」。読ませて頂いて、「以前は女性が牛丼店に入るというのは男性が一人でケーキ専門店に入って食べるよりもありえなかった」というのを思い出しました。当時はまだ男性と女性の生活する境界線がはっきり分かれていた時代だったのでしょうね。今は「松屋」で女性が食べていない店を見つける方が困難になりました。女性の皆さんもきわめて普通に食べられていますし、違和感ありません。
逆に女性の領域へ、看護士さんや保父さんのように男性が女性しかいなかった世界に入り込んだりと、境界線はどんどん消えていくようです。ブログでは性別関係ありませんが運営されているのは感覚的に女性の方が多いような気がします。
ちなみに私は「松屋」ではもっぱらカレーを食べてます(安いので)。

ということで、今後もさらなるデザインの進化を期待しています。

Comments [3] | Trackbacks [1]

己でサイトジャック

February 27,2005 8:00 PM
Category:[ご利用サイト]
Tag:[, , ]
Permalink

己でサイトジャック昨日に続きまして、本テンプレートご利用サイト「己でサイトジャック」さんのご紹介です。

かなり印象的なサイト名とダーク系(というか黒)のデザインがなかなかにマッチしています。サイト名の由来は機会があれば一度聞いてみたいと思っていますが、機会があるかどうかは定かではありません(笑)。
管理者のお名前はhideさん。大方の予想を裏切って普通のハンドルネームです。ブログ歴約3ヶ月。1月16日にテンプレートのエントリーへご利用のコメントを頂いておりますので、現在のデザインに変わってから約1ヶ月余りといったところでしょうか。実はもっと長いお付き合いのような気がしていたのですが、以外に短くて今更ながら驚いています。
真鍋かをりさんと同学年だそうです。

私が音楽に携わっていることもあり、気になるエントリーはなんといっても「ギターのおっさん」でしょうか。途中、残像が激しく何をやっているのか分からない部分があるほどの超絶技巧のギターソロです。何という奏法なのか、個人的に興味津々です。
クラシックギター界でも近年、様々な奏法が登場しており、ライトハンドやエレクトリックベースのスラップ奏法(チョッパー)を備えた興奮度満点な楽曲も少なくありません。クラシックギターは業界人だけで成り立っている(偏見?)せいか、一般大衆にはいまひとつメジャーな存在ではなく、また昔の名残から演歌系というイメージが払拭できない楽器ですが、素晴らしい曲も多いので是非一度耳にされることをお勧めします。
それにしても、何回見ても飽きのこない画像です。

もうひとつ気になった記事は「英数字って半角?全角?」。そういえば私のサイトも英数字は基本的に半角を用いてますね。記事を探していたら ARTIFACT?人口事実?英数字は半角にしないと気が済まない が見つかりましたが、この辺りを読むと経験や携わった業務等に依存するのかもしれませんね。
それとは別に、Webから何かの申し込みをする時のフォーム入力で「住所の番地や電話番号は全角・半角どっちだ?」と悩むことは時々あります。経験上、住所は全て全角で電話番号は半角というのがデファクトスタンダードっぽいです。

サイト紹介するつもりがサイトジャックになりそうなので、この辺で。

Comments [2] | Trackbacks [0]

うだうだうだ

February 26,2005 8:05 PM
Category:[ご利用サイト]
Tag:[, , ]
Permalink

うだうだうだ突然ですが、本テンプレートご利用サイト「うだうだうだ」さんのご紹介です。ご紹介の理由等につきましてはkazunoblogさんの記事を参照ください。

管理者のお名前はわっちゅさん。一度耳にするとなかなか忘れられない印象的なハンドルネームです。このようなハンドルネームから性別を判断するのはなかなか困難です(笑)が、記事をお読み頂ければお分かりになるかと思います。そういえば他のサイトで「男性だろうな」と思って拝見していたら、かなり後になって女性の方であることが分ったり、その逆の方もいらっしゃったりで「ブログ界恐るべし!」という感じです(バカ)。

こちらのサイト、途中でサーバクラッシュによるデータ喪失のため、現在は新たにカスタマイズされたもので運用されているようです(お疲れ様でした!)が、テンプレート記事への最初のコメントを2004年10月8日にいただいておりますので、実質的には5ヶ月以上のブログ歴をお持ちの方です。画像からお分かりの通り黒を基調とされたデザインで、テンプレートご利用者では最初にダーク系にカスタマイズされた方と記憶しております。

絵本発表会」というエントリーでは絵本の大切さを改めて感じさせられました。またこのような発表会があるということ自体、新鮮でした。絵本は(本当にたまーに)目にすることがあり、子供にとってはなくてはならないものですが、大人が読んでも忘れてしまった大切なことを思い出させてくれますね。
私事で恐縮ですが、随分以前に友人(保母さん)から「『ぐりとぐら』という絵本の文に曲をつけて欲しい」という依頼があり、どのシリーズか忘れましたが2ヶ所を抜粋して作曲をした記憶があります。役に立ったかどうかは別として、「絵本と音楽」という形で子供達との接点になる機会を頂けたのは嬉しかったです。

エントリーで紹介くださっている「ちょっとだけ」、もし機会があれば是非読んでみたい一冊です。

Comments [2] | Trackbacks [1]

タイムスリップグリコ・思い出のマガジン

February 25,2005 11:59 PM
Category:[mono]
Tag:[, ]
Permalink
思い出のマガジン

たまにはゆるいネタで。
ちょっと出遅れましたが買ってみました。懐かしい雑誌をゲット(といってもあまり記憶にありません…)。6cm×5cmというミニチュアですが、中は当時の内容がそのまま掲載されており、ちゃんと読めるようになってます。

他には、花とゆめ/Olive/ARENA37℃/鉄道ファン/月間平凡/POPEYE/少年画報/CAR GRAPHIC等。

Comments [4] | Trackbacks [0]

コメントスパム対策(その6)

再び Ogawa::Memoranda さん提供のスパム対策プラグインに対し、下記の改変を行いました。

プラグイン:Quasi-Spam Filter Plugin 改変内容:コメントの投稿者(MTCommentAuthor)の文字列をフィルタ対象に加える

これまでのコメントスパムは本文にフィルタ文字列が含まれていましたが、数日前、本文ではなく投稿者にフィルタ文字列が含まれるスパムが10通ほど到来しました。プラグインは(コメントについては)本文のみのチェックとなっていますので、投稿者に設定された文字列もチェックするように改変してみました。

修正については、ソースを下記の赤字部分から青字のものに置き換えてください(2番目の赤字部分はさらに1行追加がありますのでご注意ください)。なお今回の改変コードはOgawaさんの案を頂きました。ありがとうございました。

sub comment_filter {
    my ($eh, $app, $comment) = @_;
    return !is_comment_spam($comment->text);
    return !is_comment_spam($comment->text . ' ' . $comment->author);
}
 
sub comment_throttle_filter {
    my ($eh, $app, $entry) = @_;
    my $comment = $app->{query}->param('text');
    my $author = $app->{query}->param('author');
    return !is_comment_spam($comment);
    return !is_comment_spam($comment . ' ' . $author);
}
 
sub comment_error {
    my $app = shift;
    my $q = $app->{query};
    my $mode = $q->param('__mode') || $app->{default_mode};
    return if $mode ne 'post';
    if (is_comment_spam($q->param('text'))) {
    if (is_comment_spam($q->param('text') . ' ' . $q->param('author'))) {
        $app->add_methods(post => sub { });
        $app->error("Spam Comment!");
    }
}
 
sub comment_long_error {
    my $app = shift;
    my $q = $app->{query};
    my $mode = $q->param('__mode') || $app->{default_mode};
    return if $mode ne 'post';
    if (is_comment_spam($q->param('text'))) {
    if (is_comment_spam($q->param('text') . ' ' . $q->param('author'))) {
        $app->add_methods(post => sub { $_[0]->handle_error("Spam Comments!") });
    }
}
 
sub comment_redirect {
    my $app = shift;
    my $q = $app->{query};
    my $mode = $q->param('__mode') || $app->{default_mode};
    return if $mode ne 'post';
    if (is_comment_spam($q->param('text'))) {
    if (is_comment_spam($q->param('text') . ' ' . $q->param('author'))) {
        $app->add_methods(post => sub { });
        $app->redirect($URL);
    }
}
 
sub comment_evil_redirect {
    my $app = shift;
    my $q = $app->{query};
    my $mode = $q->param('__mode') || $app->{default_mode};
    return if $mode ne 'post';
    if (is_comment_spam($q->param('text'))) {
    if (is_comment_spam($q->param('text') . ' ' . $q->param('author'))) {
        $app->add_methods(post => sub { });
        $app->redirect($q->param('url') || $URL);
    }
}

コメント画面からの投稿については動作の正常性をを確認しておりますが、適用に際しましては個人の責任で行ってくださいますよう、よろしくお願い致します。

Comments [11] | Trackbacks [9]

リアルタイムカレンダー(画像表示版)

February 23,2005 8:10 PM
Category:[カレンダー]
Tag:[, , , , ]
Permalink

ご要望がありましたのでリアルタイムカレンダー(改)を改造して作ってみました。今回の改造に際しまして下記のサイトを参考にさせて頂きました。ありがとうございました。

ふれあい果樹園

本カレンダーの仕様は、本日の日付に画像だけを表示するというものです(日を表示しません)。日付の背景に画像を表示する場合はリアルタイムカレンダーのスタイルシートに

.today {
    background-image :url( "画像のURL");
    background-repeat: no-repeat;
}

というような設定を行えば動作します(多分)。赤字部分に表示したい画像のURLを設定してください。

ここでは通常カレンダー・月送りカレンダー・縦型カレンダー・横型カレンダーの4つのケースについて説明しています。また使用されるアーカイブの拡張子が .php になっていることが前提です。.php になっていない場合は下記のエントリーの3項から始めてください。

リアルタイムカレンダー(改)

また月送りカレンダーにつきましては本エントリーとは別にカスタマイズが必要ですのでご注意ください。

月送りカレンダー

通常カレンダー・月送りカレンダー・横型カレンダーについては、カレンダー設定がされている各テンプレートの <MTCalendar>~</MTCalendar> の部分を下記のスクリプトに変更します。縦型カレンダーは <table>~</table> で括られていることを前提に作っておりますので、該当部分を置き換えてください。また縦型カレンダーのスタイルシートは

全体:calendar
月表示:calendar-head
日表示:calendar-day

という指定になっています。スタイルシートの設定は適宜設定くださいますよう、お願い致します。
いずれも赤字部分に表示したい画像のURLを設定してください。
現状では、Windows2000・IE6.0/Firefox1.0/Opera7.23で動作の正常性を確認しています。

1.通常カレンダー

<?php
$day = date("j");
$img = "画像のURL";
?>
<MTCalendar>
<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>
<MTCalendarIfEntries>
<?php
$d="<$MTCalendarDay$>";
?>
<td align="center">
<?php
if($day != $d) {
    print "<span class=\"calendar\">";
}
?>
<MTEntries lastn="1">
<a href="<$MTEntryLink archive_type="Daily"$>">
<?php
if($day != $d) {
    print $d;
} else {
    print "<img src=\"" . $img . "\" align=\"middle\" border=\"0\" />";
}
?>
</a>
</MTEntries>
<?php
if($day != $d) {
    print "</span>";
}
?>
</td>
</MTCalendarIfEntries>
<MTCalendarIfNoEntries>
<td align="center">
<?php
if($day != <$MTCalendarDay$>) {
    print "<span class=\"calendar\"><$MTCalendarDay$></span>";
} else {
    print "<img src=\"" . $img . "\" align=\"middle\" />";
} 
?>
</td></MTCalendarIfNoEntries>
<MTCalendarIfBlank><td> </td></MTCalendarIfBlank>
<MTCalendarWeekFooter></tr></MTCalendarWeekFooter>
</MTCalendar>

2.月送りカレンダー

<?php
$day = date("j");
$year = date("Y");
$month = date("m");
$img = "画像のURL";
?>
<MTCalendar month="this">
<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>
 
<MTCalendarIfEntries>
<?php
$y = "<$MTCalendarDate format='%Y'$>";
$m = "<$MTCalendarDate format='%m'$>";
$d = "<$MTCalendarDay$>";
?>
<td align="center">
<?php
if($year == $y && $month == $m && $day == $d) {
    print "<span class=\"calendar\">";
}
?>
<MTEntries lastn="1">
<a href="<$MTEntryLink archive_type="Daily"$>" target="_top">
<?php
if($year == $y && $month == $m && $day == $d) {
    print "<img src=\"" . $img . "\" align=\"middle\" border=\"0\" />";
} else {
    print $d;
}
?>
</a>
</MTEntries>
<?php
if($year == $y && $month == $m && $day == $d) {
    print "</span>";
}
?>
</td>
</MTCalendarIfEntries>
 
<MTCalendarIfNoEntries>
<td align="center">
<?php
$y = "<$MTCalendarDate format='%Y'$>";
$m = "<$MTCalendarDate format='%m'$>";
$d = "<$MTCalendarDay$>";
if($year == $y && $month == $m && $day == $d) {
    print "<img src=\"" . $img . "\" align=\"middle\" />";
} else {
    print "<span class=\"calendar\"><$MTCalendarDay$></span>";
} 
?>
</td></MTCalendarIfNoEntries>
 
<MTCalendarIfBlank><td> </td></MTCalendarIfBlank>
<MTCalendarWeekFooter></tr></MTCalendarWeekFooter>
</MTCalendar>

3.縦型カレンダー

<table width="100%" class="calendar" cellpadding="2" cellspacing="4" summary="カレンダー">
<tr>
<td class="calendar-head"><$MTDate format="%B"$>月</td>
</tr>
<?php
$day = date("j");
$img = "画像のURL";
?>
<MTCalendar>
<MTCalendarIfEntries>
<?php
$d="<$MTCalendarDay$>";
?>
<tr><td align="center">
<?php
if($day != $d) {
    print "<span class=\"calendar-day\">";
}
?>
<MTEntries lastn="1">
<a href="<$MTEntryLink archive_type="Daily"$>">
<?php
if($day != $d) {
    print $d;
} else {
    print "<img src=\"" . $img . "\" align=\"middle\" border=\"0\" />";
}
?>
</a>
</MTEntries>
<?php
if($day != $d) {
    print "</span>";
}
?>
</td></tr>
</MTCalendarIfEntries>
<MTCalendarIfNoEntries>
<tr><td align="center">
<?php
if($day != <$MTCalendarDay$>) {
    print "<span class=\"calendar-day\"><$MTCalendarDay$></span>";
} else {
    print "<img src=\"" . $img . "\" align=\"middle\" />";
} 
?>
</td></tr></MTCalendarIfNoEntries>
</MTCalendar>
</table>

4.横型カレンダー

<?php
$day = date("j");
$img = "画像のURL";
?>
<MTCalendar> 
<MTCalendarIfEntries> 
<?php
$d = "<$MTCalendarDay$>";
if($day != $d) {
    print "<span class=\"calendar\">";
}
?>
<MTEntries lastn="1"> 
<a href="<$MTEntryLink archive_type="Daily"$>"> 
<?php
if($day == $d) {
    print "<img src=\"$img\" border=\"0\" />";
} else {
    print " $d";
}
?>
</a>
</MTEntries> 
</MTCalendarIfEntries> 
<MTCalendarIfNoEntries>
<?php
$d = "<$MTCalendarDay$>";
if($day != $d) {
    print "<span class=\"calendar\"> $d";
} else {
    print "<img src=\"$img\" border=\"0\" />";
}
?>
</MTCalendarIfNoEntries> 
<?php if($day != $d) { print "</span>"; } ?> 
</MTCalendar> 

設定終了後、それぞれ保存・再構築してください。

2005.02.26 追記
月送りカレンダーにtypoがありましたので修正しました。

2005.03.11 追記
横型カレンダーを追加しました。

2005.05.02 追記
月送りカレンダーに month="this" の設定がもれていましたので追記しました。

2005.08.07 追記
Apache のログにPHPエラーが出ていたためスクリプトを一部修正しました。

Comments [13] | Trackbacks [8]

BlogPeople Tags

February 22,2005 5:55 PM
Category:[BlogPeople]
Tag:[, ]
Permalink
BlogPeople TagsBlogPoeple Tags というオンラインブックマークサービスが本日より提供されています。というのは下記の記事で知りました。素早い情報ありがとうございます。
今日の覚え書きBlogPeople Tagを使ってみた

私のおおざっぱなイメージですが、まずブックマーク表示用のホームページを取得します。次に
あるサイト(何でもOKらしい)をブックマークする時にサイトの付加情報として「フォルダ」と「タグ」という2つの要素を設定します。例えば、

Aサイト:フォルダ「ショッピング」 タグ「ファッション」
Bサイト:フォルダ「ショッピング」 タグ「音楽」
Cサイト:フォルダ「チケット」 タグ「音楽」

の3サイトをそれぞれのフォルダ名およびタグ名でブックマークします。これが新しく取得するBlogPeople上のホームページで表示されるのですが、フォルダ「ショッピング」で選択するとA、Bサイトが表示され、タグ「音楽」で選択するとB、Cが表示されるという仕組みらしいです。またタグを介して他の方のブックマークを参照することができ、RSS検索も可能なようです。

とりあえず「ホームページ名」だけ取得した方がいいかも知れません。

Comments [2] | Trackbacks [3]

Google AdSense を設置しました

February 21,2005 9:50 PM
Category:[アフィリエイト]
Tag:[, , ]
Permalink
Google AdSenseすでにお気づきのことと思われますが、昨年からユーザ登録していた Google AdSense を設置致しました。個別エントリーアーカイブの本文下にどーんと置いてます。

今更ですが、最初に Google AdSense の説明です(ご存知の方は読み飛ばしてやってください)。
Google AdSense は一言で申し上げると「広告」です。Google AdSense には「コンテンツ向けAdSense」「検索向けAdSense」があり、前者については、「Googleの検索技術を駆使し、Webサイトの?(中略)?内容を解析してキーワードを抽出。これにマッチしたテキスト広告をサイト上に配信・表示する。いったんページ内にタグを設定すれば、あとは的確な広告がダイナミックに配信されるようになっており、サイトオーナーにとってメンテナンスフリー?(後略)? *1」ということ、そして「広告がクリックされた回数に応じて支払いを行います *2」ということです。
つまり記事の内容に関連した広告を表示し、その広告がクリックされると収入になるというものです。

Google AdSense を利用するには、まずユーザ登録を行います。承認されれば Google AdSense のサイトにログインして、貼り付ける広告の設定(広告のタイプやデザイン等の設定)を行います。設定が終わったらページに表示されている広告表示用の JavaScript を自サイトに貼り付けることで広告を掲載することができます。
下記のサイトに詳しい説明があります。

Google AdSense 活用講座

設置を保留していた理由は、配置位置およびサイトとの親和性の2点です。
1点目の配置については当初サイドバーに配置する案を考えていましが、例えば個別エントリーアーカイブのサイドバーに配置するとアーカイブページ間のメニュー配置が崩れるのが不満でした(個別エントリーアーカイブにメニューが必要かという疑問はありますが)。かといってサイドバーの最下部に配置するのは視覚的に良くないだろうと思い、先人の知恵をお借りして本文の真下に配置することにしました。
また当サイトはサイドバーの幅を155に設定しているのですが、サイドバー用になる広告の幅は120/125/160/180の4種類。125では左右に隙間があきますし、かといって一番近い160タイプにサイドバーの幅を合わせたくなかったのもボツにした理由の一つです。

本文下であれば横長で2広告表示の「バナー(468×60)」というタイプが非常に手頃なのですが、なにぶんサイズ可変のため、固定サイズのオブジェクトを配置すると(ブラウザの幅を狭くしたら)ある時点から中央カラムの右区切り線が動かなくなるという問題があります。そういう訳で、ブラウザを狭くしても差し支えない幅であること、また「Ads by Goooooogle」というタイトルは広告タイプによって上についているものと下についているものがあるのですが、他の項目タイトルとのバランスから上についていること、の2点に着目して選ぶことにしました。
これらの条件を満たすタイプとして「レクタングル(300×250)」「スクエア(250×250)」がありました。で後者はやや見た目がスカスカなため、消去法的に前者が残りました。
もうひとつの「サイトとの親和性」は要するに配色なのですが、「Ads by Goooooogle」の文字色以外は自由に変更できることが途中で判明しましたので、サイトの配色に合わせました。

実際に配置してみると左右の空間がわりと小粋(意味不明)で気に入ってます。というか広告であることがまあ分かりやすく、紛らわしくないのがいいです。このタイプで広告数が2つか3つのものがあるといいのですが、残念ながらこれしかありません。


*1:INTERNET WatchGoogle、サイト向け広告配信プログラム「AdSense」の日本提供を公式発表
*2:Google AdSense:コンテンツ向けAdSense概要
Comments [11] | Trackbacks [2]

Creative Commons License を適用します

February 20,2005 11:59 PM
Category:[Creative Commons]
Tag:[]
Permalink

クリエイティブ・コモンズ・ライセンスCreative Commons License(以下CCL) を適用することに致しました。対象はサイト全体ですが、テンプレートやプログラムに対する扱いについては別途検討する予定です。
画像をクリックすると条件が表示されます。この条件であれば記事を現状通り再利用および改変でき、またその行為について誤解を招かれることもないと考えています。


CCLの表示自体は昨年の秋頃から考えておりましたが、適用方法について理解不足のため保留にしていました。がここ最近、記事コピーの話題が浮上したことや、私自身他サイトで公開されているパッケージの改変に対する認識不足もあり、自分のサイトにも何らかのルールを設ける必要性を感じました。
どこかに「転載OK」と書いても良いのですが、とりあえず Movable Type がデフォルトで用意しているCCLの利用が妥当と判断致しました。


円滑なブログ運営のための手助けになればと思います。

Comments [12] | Trackbacks [4]

記事の引用・転載について

February 19,2005 10:15 PM
Category:[blog]
Tag:[]
Permalink

ブログ記事の引用・転載について個人的な見解を述べたいと思います。

まずは、発端となったご近所のサイトでの引用についての記事(下記)です。単なる羅列になってしまっていること、予めお詫び申し上げます。

Caramel*vanillablogの引用について/blogの引用について…波紋と再考
Stupid excuse!!コピペについて考えるという話
Nonsense?trackfeedとfeedmeterを設置
我楽track feed をつけてみる。
今日の覚え書きトラックバックについて思う事

あげあしとりで申し訳ありませんが、まず「記事の引用」については下記サイトにある説明の通りです。

絵文禄ことのは「引用」は無断でやるのが当たり前

ということで、以下「引用」は「転載」という解釈で話を進めたいと思います(私自身これまで「引用」という言葉を使ってましたので反省)。ケースとして本文の転載もあると思いますが、ここではMTタグやJavaScript,php等の転載に着目します。パッケージやパッケージに対する改変については別途エントリーしたいと思います。

ブログ、特にMovable Typeを使われている方はデフォルトテンプレートから何らかのカスタマイズを行って使われている方が少なくないと思います。そういう時は検索エンジンからカスタマイズ方法を探すことで自サイトのデザインや利便性を向上させていると思います。
そしてカスタマイズ内容の転載という行為は、ブログの普及率という観点から考えるとかなり貢献しているのではないかと思います。利用者の立場では、とにかく該当する記事が早くみつかればいい訳で、特に公開元のリンクが切れていたり異なる言語である場合は、公開元でない他のサイトの記事や翻訳されたサイトがあると助かります。
備忘録として掲載されている方も少なくないと思います。私も例外ではありません。

で現状ですが、私のカスタマイズを利用くださっている方は、クレジットの明示、つまりカスタマイズの出所が当サイトであることを明示くださっていますので、カスタマイズ内容を転載されることについて言及するようなことはありません(とはいってもリンクされていなければそもそも調べる手段がないのですが)。
またコメントやトラックバックについてはネットワークコミュニケーションの一手段という認識ですので、個人的には必須ではありません(もちろん頂けると嬉しいです)。厳密に言えばURLが自動検出される場合のトラックバックであればクレジットを表示くださっている可能性はありますが、結局そのサイトを拝見しなければ状況は判断できません。

結論としてはこれまで通り転載くださって構いません。なお、それを見られた方が(転載について)「問題」と思われないような対処は行いたいと考えています。新たな制限を設けるのではなく、転載を正当化させるための手段をこちらで用意したいということです。

その他、検索でみつけた記事です

電脳くおりあブログと引用について
Wired News人気ウェブログは頻繁に「無断引用」――ウェブログ間の情報の流れを解析
HOUTALネットJ「くらしの法律相談」バックナンバー
Present 日本新聞協会ネットワーク上の著作権について―新聞・通信社が発信する情報をご利用の皆様に

やっつけで書いたのと認識誤り等含め、内容については適宜変更する可能性あります。予めご容赦ください。

2005.02.20 追記
「カスタマイズのタグやスクリプトは著作物ではありません」というコメントに伴ってCCL利用に関する文章を削除しております。

Comments [9] | Trackbacks [6]

ファイルのアップロードで上書きを有効にする

February 18,2005 11:59 PM
Category:[管理画面]
Tag:[]
Permalink

Movable Type ではFTPツールを利用せずに、管理メニューの「ファイルのアップロード」からファイルをアップロードすることができです。ただしデフォルト状態で /tmp が存在しない環境ではファイルの上書きができない(アップロード画面でエラーとなります)ため、やや不便に感じます。
上書き可能にするためには /tmp ディレクトリを作成するか、あるいは mt.cfg の TempDir を有効にし、アップロードしたファイルを一時保存するためのディレクトリを設定します。後者の場合の設定方法は下記の通りです。

変更前

# When processing uploaded files, if Movable Type notices that the file you
# uploaded already exists, it will allow you to overwrite the original file,
# by first asking for your confirmation. To do this, MT needs to write the
# uploaded data to a temporary file. That temporary file is stored in the
# directory specified by the TempDir setting; the value defaults to /tmp.
#
# TempDir /tmp/
#

変更後

# When processing uploaded files, if Movable Type notices that the file you
# uploaded already exists, it will allow you to overwrite the original file,
# by first asking for your confirmation. To do this, MT needs to write the
# uploaded data to a temporary file. That temporary file is stored in the
# directory specified by the TempDir setting; the value defaults to /tmp.
#
TempDir /?/tmp/
#

"?"の部分にはファイルを一時保存するtmp ディレクトリまでの絶対パスを記述します(試していませんが相対パスも有効かもしれません)。また配置するための tmp ディレクトリも予め作成しておきます。例えばローカル・サイト・パス配下に tmp というディレクトリを作成し、そこを参照するようにするのが良いのではないでしょうか。

なお上書きされる場合は「上書きしますか」という確認画面が表示されるので、そこで「いいえ」を選択すれば誤って上書きされることはありません。

2005.02.19 追記
Linux や UNIX のレンタルサーバの場合、システムデフォルトで /tmp が存在するので、本設定は不要と思われます。

Comments [4] | Trackbacks [0]

テキストエリアのデータを1クリックで選択する

February 17,2005 11:55 PM
Category:[テンプレート]
Tag:[]
Permalink

テンプレート公開エントリー(3カラム固定/3カラム可変)にあるテキストエリアのデータをコピーするためには、先頭(または最後)からドラッグまたは「Ctrl+A」のいずれかで全てを選択する必要がありましたが、1クリックで全選択状態にできるように修正致しました。修正内容は下記の青色部分の追加です。

<textarea rows="10" readonly="readonly" onfocus="this.select()">
     :
</textarea>

これは巷で有名な「トラックバックURLを1クリックで選択状態にするカスタマイズ(例えば「今日の覚え書き」さんの記事)」の応用ですが、この部分へ適用できることに気がついていませんでした(バカ)。

以前、テンプレートのコピーが中途半端で表示に不具合が生じるというケースがありましたので、この改善でそういった事象が削減されることを期待しています。

Comments [2] | Trackbacks [1]

テンプレートの保存・再構築を同時に行うボタンを追加

February 16,2005 11:50 AM
Category:[3.151-ja, 管理画面]
Tag:[]
Permalink
保存&再構築ボタンの追加デフォルトの管理画面で修正したテンプレートを表示に反映させるには、一旦保存した後「再構築」ボタンをクリックしなければならないのですが、このボタンを追加することでテンプレートの保存・再構築を同時に行えるようになります。*1
これで再構築した結果が素早く確認できるようになります。精神衛生的にも良いでしょう。

参考サイトは下記です。ありがとうございました。

Magic WhiteMTでSaveとRebuildを同時に行うボタンを追加 MovalogSave & Rebuild(オリジナル)

ここでは上記のカスタマイズ内容からの差分のみを掲載しておきます。差分は「保存&再構築」ボタンを画像のように一番左へ配置したことと、フォームボタンおよびメッセージの日本語表示です。下記に示す該当のファイルに赤字部分を削除し、青字部分をそれぞれ追加してください。
なお対象となるテンプレートは「インデックス・テンプレート(メインページ・スタイルシート等)」です。

lib/MT/App/CMS.pm

764行目付近

       :
    $param{rebuild_me} = defined $obj->rebuild_me ?
        $obj->rebuild_me : 1;
    $param{sr} = 1 if($q->param('sr')) ;
} elsif ($type eq 'blog') {
       :

1177行目付近

sub save_object {
    my $sr = 0;
    my $app = shift;
    my $q = $app->{query};
    my $type = $q->param('_type');
    my $id = $q->param('id');
       :

1340行目付近

       :
    $obj->text($text);
    ## Save and Rebuild
    if($q->param('sr')){
        $sr = 1;
        $app->rebuild_indexes( BlogID => $obj->blog_id, Template => $obj, Force => 1 )
        or return;
    } 
} elsif ($type eq 'blog') {
    if ($q->param('cfg_screen')) {
       :

1550行目付近

       :
    } else {
        return $app->redirect($app->uri .
            '?__mode=view&_type=' . $type . '&id=' . $obj->id .
            '&blog_id=' . $blog_id . '&saved=1');
        if($sr == 1){
            return $app->redirect($app->uri .
                '?__mode=view&_type=' . $type . '&id=' . $obj->id .
                '&blog_id=' . $blog_id . '&sr=1');
            $sr = 0;
        } else {
            return $app->redirect($app->uri .
                '?__mode=view&_type=' . $type . '&id=' . $obj->id .
                '&blog_id=' . $blog_id . '&saved=1');
        }
    }
}
 
sub list_objects {
       :

tmpl/cms/edit_template.tmpl

45行目付近

<TMPL_IF NAME=SR>
<div class="message">
<MT_TRANS phrase="Your template changes have been saved and your template has been rebuilt.">
</div>
</TMPL_IF>
<form method="post" action="<TMPL_VAR NAME=SCRIPT_URL>">
<input type="hidden" name="id" value="<TMPL_VAR NAME=ID>" />
<input type="hidden" name="blog_id" value="<TMPL_VAR NAME=BLOG_ID>" />
<input type="hidden" name="type" value="<TMPL_VAR NAME=TYPE>" />
<input type="hidden" name="__mode" value="save" />
<input type="hidden" name="_type" value="template" />

tmpl/cms/edit_template.tmpl(フォームボタンの配置場所変更)

130行目付近

<TMPL_UNLESS NAME=NEW_OBJECT>
<TMPL_UNLESS NAME=BUILD_DYNAMIC>
<TMPL_IF NAME=HAS_REBUILD>
<input type="submit" name="sr" value="<MT_TRANS phrase="Save & Rebuild">" />
</TMPL_IF>
</TMPL_UNLESS>
</TMPL_UNLESS>
<input type="submit" value="<MT_TRANS phrase="Save">" />
<TMPL_UNLESS NAME=NEW_OBJECT>
<TMPL_UNLESS NAME=BUILD_DYNAMIC>
<TMPL_IF NAME=HAS_REBUILD>
<input type="button" onclick="doRebuildOne(<TMPL_VAR NAME=ID>)" value="<MT_TRANS phrase="Rebuild">" />
</TMPL_IF>
</TMPL_UNLESS>
</TMPL_UNLESS>

lib/MT/L10N/ja.pm(フォームボタン・メッセージの日本語化)

523行目付近


'Your template changes have been saved.' => '変更したテンプレートを保存しました。',
'Your template changes have been saved and your template has been rebuilt.' => '変更したテンプレートを保存・再構築しました。',

541行目付近

'Rebuild' => '再構築',
'Save & Rebuild' => '保存&再構築',

*1:スタイルシートについては再構築不要なカスタマイズが公開されています(下記)が、本カスタマイズで同様の効果が得られます。

Magic Whiteスタイルシートの変更簡単に
ARTIFACT ―人工事実―MTでのスタイルシート変更を楽に
the girlie matterslink that stylesheet(オリジナル)

2005.02.17 追記
インデックステンプレート以外のテンプレート編集画面で「保存&再構築」ボタンが表示される不具合を修正、および typo修正(いずれも tmpl/cms/edit_template.tmpl)。

2005.08.11 追記
元記事のカスタマイズ内容を追加しました。本記事のみで全てのカスタマイズを行うことができます。

Comments [26] | Trackbacks [12]

LinuxWorld 3月号に Movable Type 特集

February 15,2005 11:38 AM
Category:[書籍]
Tag:[]
Permalink
Linux World

先日本屋でPC雑誌を物色していたところ、「ブログサーバを立ち上げよう!」という、この雑誌の大きなタイトルが目にとびこんできて即買いしました。

特集ではブログの基本的な仕組みから Movable Type を利用したインストール?各機能について書かれており、40ページにわたって紙面が割かれています。カスタマイズまで踏み込んでいない分、基本的な動作についてはかなり詳細に説明されており、個人的には理解できていなかったディレクトリの配置が大変参考になりました。DBもBerkeley DB と MySQL での設定方法が解説されています。
雑誌自体は Linux ユーザ向けですが、Linux はレンタルサーバでよく使われているOSなので比較的馴染みやすい内容ではないかと思います。

ということで、これからブログを始められる方はもちろん、その他の方もMovable Typeの解説書として読めそうな特集です。左上の画像リンクをクリックして、真中辺りにある「月刊誌最新刊」の「Linux world」をクリックすれば(ちょっとだけですが)雑誌の紹介が表示されます。

Comments [3] | Trackbacks [0]

「テンプレートのページ」作成

February 14,2005 11:59 PM
Category:[3.151-ja, テンプレート]
Tag:[]
Permalink

公開中のテンプレートについては、エントリーと「このサイトについて」の一部でご紹介しておりましたが、テンプレートに関する利用方法やこれまでに頂いた質問等をまとめて専用のページを作成しました。ドラフト版ですがとりあえず公開致します。

Comments [6] | Trackbacks [0]

maketree.js 1.01 リリース

February 13,2005 8:00 PM
Category:[3.151-ja, ツリー化]
Tag:[, , ]
Permalink

ツリー化スクリプトの maketree.js をマイナーバージョンアップしました。
今回の修正はツリー状のリスト(ul-li-ul-liという構造)に対する対処です。1.00ではサブカテゴリーリストにしか対応していなかったため、これを他のツリー状リストに対応させるように修正致しました。端的に申し上げますとユーザー・マニュアルメニューリストに対する対処です。
ユーザー・マニュアルを表示していない、またはツリー化表示しない場合、アップグレードの必要はありません。またアップグレードされても既存の動作には影響ありません。

アップグレードされる場合は下記のリンクでスクリプトのページへジャンプし、そこからダウンロードしてください。

download

以下、ユーザー・マニュアルで利用する場合のカスタマイズ方法を記します。

1.id 属性の変更

ユーザー・マニュアル表示用タグの id 属性(赤字部分)を、同ページの他の id 属性と重複しない任意の文字列に修正してください。ここでは hogehoge という id 属性にした例です。

<div class="sidetitle" id="manualname">
Official User's Manual
</div>
 
<div class="side" id="manuallist">
<div id="categorieshogehoge">

2.スタイルシートの追加

サブカテゴリー用のスタイル定義をコピー&ペーストして同じスタイルシートの任意の位置に追加し、id 属性(赤字部分)を1項で付与した名称に変更します。

.side #categorieshogehoge ul {
    padding-left: 15px;
    margin: 0px;
    margin-bottom: 0px;
}
 
.side #categorieshogehoge ul ul {
    margin-bottom: 0px;
}
 
.side #categorieshogehoge li {
    margin-top: 0px;
    margin-bottom: 0px;
    list-style-type: circle;
}

3.maketree.js起動スクリプト追加

ユーザー・マニュアル表示用タグの下に下記を追加します。

<script type="text/javascript">
<!--
generateTreeForTreeStructure('hogehoge');
//-->
</script>

以上です。

2006.04.04 追記
リストから language 属性を削除しました(HTML4.01/XHTMLで非推奨あるいは廃止されているため)。

Comments [6] | Trackbacks [3]

Movable Type ワークショップ(ブログデザイン編)開催

February 12,2005 6:05 PM
Category:[blog]
Tag:[]
Permalink

Movable Type のサイトにニュースが出ていました。以下引用です。

みなさまよりご好評をいただいているMovable Type ワークショップの第 2 弾として、「ブログデザイン 1」を、来る 2 月 24 日に開催します(主催:ネオテニーベンチャー開発株式会社)。 このワークショップでは、多くの方から強いご要望をいただいている Movable Type のカスタマイズについて、テンプレートファイルの修正方法を具体的にご紹介します。講師は「Movable Type標準ハンドブック」(インプレス 2/28 発売) の著者の関根元和氏です。 実機を使った講習会ですので、この機会を逃さずに!!

テンプレートファイル修正方法ということで個人的には興味津々。お申し込みは先のページからです。

Comments [0] | Trackbacks [0]

「最近のエントリー」の日別表示

公開テンプレートの「Recent Entries(最近のエントリー)」というタイトルのメニューリストは、デフォルト状態では直近の10エントリーを単純に並べて表示するだけです。ここではこれを日別に分割して表示するためのカスタマイズをご紹介致します。

「最近のエントリー」の日別表示

カスタマイズ方法ですが、各テンプレートにある「Recent Entries」を表示するMTタグの該当部分について、下記のように青色部分を追加します。修正後のリストは元記事からの引用です。

<div class="sidetitle">
Recent Entries
</div>
 
<div class="side">
<MTEntries lastn="10">
<MTDateHeader>
<$MTEntryDate format="%m/%d"$><br />
</MTDateHeader>
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><br />
</MTEntries>
</div>

MTEntryDateのformat属性は "mm/dd"(例えば02/11)と表示されるように設定しています。この部分の修正で日付表示を変更することができます。フォーマットの詳細はユーザー・マニュアル:日付タグのフォーマットをごらんください。

先日投稿したサイドメニューのツリー化スクリプトに対応させる場合は下記をご利用ください。

<div class="sidetitle">
Recent Entries
</div>
 
<div class="side">
<MTEntries lastn="10">
<MTDateHeader>
<ul><$MTEntryDate format="%m/%d"$>
</MTDateHeader>
<li><a href="<$MTEntryPermalink$>" title="<$MTEntryTitle$>"><$MTEntryTitle$></a></li>
<MTDateFooter>
</ul>
</MTDateFooter>
</MTEntries>
</div>

最初のリストとの主な変更点を青色で示しています。リスト表示用HTMLタグへの変更と、同日の複数エントリーを構造化する時に利用するMTDateFooterタグを加えています。div タグの id 属性は必要に応じて適宜追加してください。

Comments [17] | Trackbacks [10]

カテゴリーリストをサブカテゴリー表示に切り替える

February 10,2005 4:35 PM
Category:[3.151-ja, カテゴリー, テンプレート]
Tag:[]
Permalink

公開テンプレートのサイドメニューのカテゴリーリストですが、デフォルト状態では一括表示するように設定しています。これをサブカテゴリー表示に変更する方法を本エントリーにて記します。

サブカテゴリー表示に変更する場合、サブカテゴリー表示にしたいテンプレートのカテゴリーリスト用MTタグを下記のいずれかの方法で変更します。
カテゴリーリスト表示用のMTタグは下記です。「Categories」で検索すると良いでしょう。

<div class="sidetitle">
Categories
</div>
 
<!-- 全カテゴリー用 -->
<div class="side">
<MTCategories>
<a href="<$MTCategoryArchiveLink$>">
<$MTCategoryLabel$></a>  [<$MTCategoryCount$>]<br />
</MTCategories>
</div>
<!-- 全カテゴリー用 -->
 
<!-- サブカテゴリー用
<div class="side">
<div id="categories">
<MTSubCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a> [<$MTCategoryCount$>]
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse max_depth="3">
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
</div>
</div>
     サブカテゴリー用 -->

なんとなくお分かりかと思いますが一番上がメニューリストのタイトルです。その下がメニューリスト表示用MTタグで、一括表示用の部分とサブカテゴリー表示用の部分に分かれています。デフォルトではサブカテゴリー表示部分を無効にしておりますので、これを有効にすればOKです。

一括表示のMTタグを残しておかなくて良い場合は赤線部分の行を単純に削除します。

<div class="sidetitle">
Categories
</div>
 
<!-- 全カテゴリー用 -->
<div class="side">
<MTCategories>
<a href="<$MTCategoryArchiveLink$>">
<$MTCategoryLabel$></a>  [<$MTCategoryCount$>]<br />
</MTCategories>
</div>
<!-- 全カテゴリー用 -->
 
<!-- サブカテゴリー用
<div class="side">
<div id="categories">
<MTSubCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a> [<$MTCategoryCount$>]
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse max_depth="3">
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
</div>
</div>
     サブカテゴリー用 -->

一括表示のMTタグを残しておきたい場合は下記の通り赤色部分を削除し、青色部分を追加します。これはHTMLの「コメントアウト」という機能を利用してMTタグの有効・無効を制御しています。

<div class="sidetitle">
Categories
</div>
 
<!-- 全カテゴリー用 -->
<div class="side">
<MTCategories>
<a href="<$MTCategoryArchiveLink$>">
<$MTCategoryLabel$></a>  [<$MTCategoryCount$>]<br />
</MTCategories>
</div>
<!-- 全カテゴリー用 -->
 
<!-- サブカテゴリー用 -->
<div class="side">
<div id="categories">
<MTSubCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a> [<$MTCategoryCount$>]
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse max_depth="3">
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
</div>
</div>
<!-- サブカテゴリー用 -->

なおリストをサブカテゴリー表示に変更した場合、上記のMTタグをデフォルト状態で使用するとカテゴリーアーカイブページにジャンプした時、カテゴリーリストには表示されているカテゴリー配下のカテゴリーしか表示されません。この問題を解消するためには下記のエントリーを参照ください。

カテゴリーアーカイブで全カテゴリーリストを表示

またインポート(管理メニューの「読み込み/書き出し」)を利用してエントリーを読み込んだ場合は以前のサブカテゴリー構成が解除されておりますので、管理メニューの「カテゴリー」をクリックした次のページで再度サブカテゴリ