2006-02-24 アーカイブ

http://hxxk.jp/2006/02/24/

Movable Type で「本のような」サイトを作る試み

記事データ

投稿者

望月真琴

投稿日時

2006-02-24T23:41+09:00

タグ
概要

Movable Type を使用するにあたってのチュートリアルを、 Movable Type を CMS っぽく使って作っていこうと思いますというお知らせ。

リプライ

2 件のリプライがあります。

記事本文

CMS らしく Movable Type を使う

Movable Type は、 Publishing Platform の名が示す通り、コンテンツを公開するための基盤を提供するソフトです。 weblog ツールであるという認識も間違いではありませんが、 weblog という形態にこだわらずにサイトを作成することも可能です。 ( そうなると「 weblog の定義とは何だ」という話になっていきますが、ここではシンプルに 時系列に沿って web 上に記録されていくコンテンツということにします。 )

一つ前の記事であるCut First Char を Movable Type 3.2x で使う場合の注意点で言っていた ちょっと新たなコンテンツ はこのことを指していたのですが、 Movable Type を使用するにあたってのチュートリアルを、時系列に拠らない形で作っていこうと考えています。 weblog のように時系列でコンテンツを書いていくなら、最初に何を書くかを細かく考え、計画し、それに沿って書いていかないといけません。 しかし、今回考えているサイトでは「あ、このことも説明しておかなくちゃ」とふっと思い出すということがあっても、任意の順番のところに記事を配置することができるようにしています。

テンプレートや更新手順についてはほとんど固まりましたが、まだ CSS が出来ていませんし、コンテンツ自体がまだまだ空欄が多いために堂々と公開はしませんが、ある程度充実したら公開しますのでお楽しみに ! ( 既に何名かにはこっそり見せていますが。 )

挿絵ってあった方が良いよね

チュートリアルって言うと何だか堅苦しい解説がずらずらと並んでいるイメージなんですよね。 実際、私は分かりやすく簡潔に解説するっていうことができないので、絶対にそうなると思います。 となると、視覚的なところで堅苦しさをマイルドに中和するのが妥当であると思いますが、じゃあ視覚的にマイルドにするって何 ? っていうと、それは挿絵が入っているということ。 いや、 CSS をほんわかしたものにしてしまえば充分マイルドになるんじゃっていう意見もあるかもしれませんが、ここは挿絵が良いのっと主張しておきたい。

チュートリアルを作る目的が、もちろん前項のような CMS 的な使い方の実践というのもありますが、それに加えて、私がチュートリアルを書くことで Movable Type いじりの楽しさというか中毒性に皆を引きずり込みたいというのもあります。 単なる Movable Type のユーザを増やしたいとは思っていません。 Movable Type をいじりまくる人を増やしたいのです。 そして、どうせそういった活動を展開するなら自分自身も楽しみたいっ、昔は自分の書いた文章が本になることを夢見ていたなあ、でも絵が描けないから漫画という選択肢は早々に潰えたしかと言って小説を書くほどに熱を上げていたわけでもないし。 それなら、こうして web というフィールドを手に入れた今、「本のような」サイトを作ってみよう、そして好きなイラストレータに依頼して挿絵を描いてもらおう ! というのが 2006 年の hxxk.jp の活動の目的です。 今決めた。

あとは、その挿絵を描いてもらいたいイラストレータなんですが、実はもう考えています。 この計画を出した勢いでその名前を出しても良いのですが、いきなりの話だとびっくりするでしょうし、堂々と依頼したら断り辛いかなあとも思うので、メールを送ってみようと思います。 イラスト関係のお仕事を随時募集ということなので、けんもほろろに断られることは無いだろうと思っていますが。 まずは、この自分趣味全開の企画に、自分はいくらくらい注ぎ込むのだろうか見積もらないとなあ。 そもそもイラストの単価の相場を良く知らないため、見積もった後に目玉が飛び出てしまうかもしれませんが。

この件に関するいくつかの雑文

  • 今回の件とはまた別プロジェクトである数名の方に依頼している件は、もし良かったらこのチュートリアルや、 Web Standards with MT ver.3.2 Strict テンプレートの配布ページに使わせてもらおうかと思っています。今まで言っていませんでしたが。
  • Azrael: MT3.2へアップグレード&エラーメモそれにしてもMTいじりは一回始めると楽しいですな(・ω・)のように、 Movable Type いじりを楽しめるのは私だけじゃないんです。少なくともひとりじゃないっ。
  • イラストレータは、最初は候補を 2 人考えていたんですよね。どちらのイラストも大好きなのですが、今回お願いしようと思っている方は Movable Type ユーザであったというのが決め手。もう一方の方も何かの折に依頼をしたいところです。
  • Project-P Books の PHP CRACKS のように、技術系同人誌にするっていう手もあったなあ。しまった。後から紙の本になっても読めるような文章にしようかな ?

リプライ

2 件のリプライが送られています。 この記事に対するご意見やご質問、ご感想などありましたら個別記事ページの送信フォームからお送り下さい。

2006-02-27T02:40+09:00 - wing

こんにちは。Azraelの管理人のwingと申します。…こちらのサイトに書き込むのは初めてかもしれません。いつも記事をのぞき見させてもらっています。 MTいじり…そうなんです。MTいじりは一旦始めると止まらないんです。取り組み始めるまでが大変ですけど(笑)。自分だけじゃなかったんですね。安心しました。 やわらかいチュートリアル、是非頑張って下さい。応援しております。

2006-03-02T23:26+09:00 - 真琴

どうも、いつぞやのパッチの件ではお世話になりました :) MT いじりの魔力にみんな (誰) を引き込もうと画策しているので、のんびり見守っていてください。

Cut First Char を Movable Type 3.2x で使う場合の注意点

記事データ

投稿者

望月真琴

投稿日時

2006-02-24T20:54+09:00

タグ
概要

「ブログ自由自在 Movable Type 上級カスタマイズ術」に書かれている Cut First Char プラグインは、カテゴリを任意の順番で並べる際に重宝しますが、書籍のソースだと Movable Type 3.2x 以降では動作しません。

リプライ

リプライはまだありません。

記事本文

Cut First Char は Movable Type 3.2-ja-2 では使えない ?

以前、 Movable Type のカテゴリ名の冒頭に通し番号を付け、実際の weblog 上で表示する部分についてはカテゴリ名をトリミングするという方法で、カテゴリの名前に関わらず任意の順番で並べるということが実現できると書きました。

このとき ( 2005 年 11 月 ) に紹介したプラグインは、 2005 年 7 月に一度試しに使っていただけで、紹介した時はプラグインの配布元へのリンクを書くだけで済ませていました。 今回、ちょっと新たなコンテンツを作ろうと思い立って、このプラグインを採用することにしたのですが、プラグインが正常に働きません。 2005 年 7 月に試した時と何が違うかって言ったら Movable Type のバージョンくらいしかありません。 当時は 3.171-ja で、現在は 3.2-ja-2 。

Cut First Char 0.02 ?

プラグインのソースを見比べてみると、実は The blog of H.Fujimoto:カテゴリを任意の順番に並べ替えるに現在置かれているソースと、ブログ自由自在 Movable Type 上級カスタマイズ術の 204 ページに書かれてあるソースは違うものになっています。

package MT::Plugin::CutFirstChar;
use strict;

use MT;
use MT::Template::Context;
use MT::Plugin;
use MT::I18N;

# show plugin information to main menu
my $plugin = MT::Plugin->new;
$plugin->name('Cut First Char 0.01');
$plugin->description('Cut first n char from string.');
$plugin->doc_link('http://www.my-mt.com/cutfirstchar.html');
MT->add_plugin($plugin);

# add global filter
MT::Template::Context->add_global_filter(cutfirstchar => \&cutfirstchar);

# main
sub cutfirstchar {
    my ($text, $arg, $ctx) = @_;

    $text = MT::I18N::substr_text($text, $arg, 0);
    $text;
}
 
1;

書籍の方ではこのようなソースになっているのに対し、 The blog of H.Fujimoto:カテゴリを任意の順番に並べ替えるのソースでは次のようになっています。

package MT::Plugin::CutFirstChar;
use strict;

use MT;
use MT::Template::Context;
use MT::Plugin;

my $plugin = MT::Plugin->new;
$plugin->name("Cut First Char 0.01");
$plugin->description('Cut first n char from MTtag.');
MT->add_plugin($plugin);

MT::Template::Context->add_global_filter(cutfirstchar => \&cutfirstchar);
 
sub cutfirstchar {
    my ($text, $arg, $ctx) = @_;

    $text = substr $text, $arg;
    $text;
}
 
1;

The blog of H.Fujimoto:「上級カスタマイズ術」掲載のcutfirstcharプラグインの不具合によると、 Movable Type 3.2 になって日本語処理のモジュール ( MT::I18N パッケージ ) が変わり、書籍掲載のものはそれに対応していないために、プラグインが正しく働かないようです。 よって、 The blog of H.Fujimoto:カテゴリを任意の順番に並べ替えるのソースでは日本語を考慮しないようにして対応しているとのこと。

最初はこれに気付かずに The blog of H.Fujimoto:カテゴリを任意の順番に並べ替えるのソースだけをずっと見ていたので、 1 時間くらいハマってしまいました。 バージョン 0.02 と書いてあったらそんなにハマらなかったのになあ ( 言い訳 ) 。

リプライ

リプライはまだ送られていないか、管理者の承認待ち状態です。 この記事に対するご意見やご質問、ご感想などありましたら個別記事ページの送信フォームからお送り下さい。

新着ブックマークを手軽にチェックするブックマークレット

記事データ

投稿者

望月真琴

投稿日時

2006-02-24T00:30+09:00

タグ
概要

はてなブックマークに、新着ブックマークを表示する機能が実装されました。この機能を手軽に利用することができるブックマークレットを作ってみました。

リプライ

リプライはまだありません。

記事本文

実装されないだろうなと思っていたものが実装された

はてなダイアリー日記 - 新着ブックマーク一覧機能の追加について(はてなブックマーク)や、はてなブックマーク日記 - はてなブックマークの新機能追加についてにて、新着ブックマークの一覧機能の実装がアナウンスされました。 被はてなブックマーク状況を新着順で知りたい被はてなブックマーク状況を新着順で知りたい (2) で触れていましたが、これまでの「 http://example.com/ の新着エントリー」 ( http://b.hatena.ne.jp/entrylist?sort=eid&url=http://example.com/ ) では、「過去にブックマークされた記事が再びブックマークされた時」に新着として扱われず、ブックマーク数の増加のチェックやブックマークコメントのチェックを行い辛いという問題がありました。

そこで、「今見ているページ」の被はてなブックマーク状況を知りたいのようなブックマークレットを用いたり、いぬビーム - 全てのサイトをはてブ化するのような Greasemonkey スクリプトを用いたりしてチェックするという方法が出てきましたが、今回実装された機能を使えば、ブックマーク数の増加や新しいブックマークコメントのチェックも手軽にできそうです。

ただ、この機能は実装されるとは思っていませんでした。 過去のブックマーク記事が再度ブックマークされた際に分かり辛いので改善して欲しいというアイデアをはてなアイデアに出していたのですが、却下されたもので……。

早速ブックマークレットを作ってみた

今回の機能は、「 http://example.com/ の新着ブックマーク」という形で、 http://b.hatena.ne.jp/bookmarklist?url=http://example.com/ という URI でチェックすることができます。 http://b.hatena.ne.jp/bookmarklist?url= にあるフォームにチェックしたいサイトの URI を入力したり、直接 http://b.hatena.ne.jp/bookmarklist?url=http://example.com/ という URI にアクセスしたりすることでそのチェックができますが、折角なのでブックマークレットでもっと手軽にチェックすることにしましょう。

被はてなブックマーク状況を新着順で知りたいで紹介した hb_siteentry.js を応用して、 hb_bookmarklist.js を作ってみました。

var sites = new Array(
    "blog.excite.co.jp",
    "blog.goo.ne.jp",
    "blog.livedoor.jp",
    "blog.naver.co.jp",
    "blog.drecom.jp",
    "blogs.yahoo.co.jp",
    "a.hatena.ne.jp",
    "b.hatena.ne.jp",
    "d.hatena.ne.jp",
    "f.hatena.ne.jp",
    "g.hatena.ne.jp",
    "graph.hatena.ne.jp",
    "i.hatena.ne.jp",
    "map.hatena.ne.jp",
    "r.hatena.ne.jp",
    "ring.hatena.ne.jp",
    "my.casty.jp",
    "plaza.rakuten.co.jp",
    "ameblo.jp",
    "yaplog.jp"
  );


var url = location.href;

var isDeep = false;
for(var i=0; i<sites.length; i++){
  if(url.indexOf(sites[i])!=-1){
    isDeep = true;
    break;
  }
}

if(isDeep){
  url = url.match(/http:\/\/[^\/]*\/[^\/]*/g);
}else{
  url = url.match(/http:\/\/[^\/]*/g);
}


location.href='http://b.hatena.ne.jp/bookmarklist?url=' + url;

という、「今見ているページの URI の先頭に http://b.hatena.ne.jp/bookmarklist?url= を付与する」というもので、これを javascript: スキームで読み込ませてブックマークレットとして登録することで、ワンクリックで新着ブックマーク状況を知ることができます。 また、はてなダイアリーのように「サービスのドメイン名 + ユーザ ID 」という URI になっているサービスは、各ユーザごとに新着ブックマーク状況をチェックできるようになっています。

例えば Firefox ですと、 javascript:(function(){var s=document.createElement("script");s.charset="UTF-8";s.src="http://hxxk.jp/common/js/hb_bookmarklist.js";document.body.appendChild(s)})(); を補助クリックして「このリンクをブックマーク」でブックマークレットとして登録することができます。 ( Firefox 以外のブラウザでも、「このリンクをブックマーク」という表現ではないだけで、ほぼ同じ操作で登録できます。) 登録後、ブラウザのブックマークを開く要領で、新着ブックマーク状況を知りたいページを開いた上でブックマークレットを開くことで新着ブックマーク状況を知ることができます。

なお、「 http://example.com/ の新着ブックマーク」は RSS 形式でのチェックもできますので、特定のサイトの新着ブックマーク状況をチェックするにはそちらの方が良いでしょう。 このブックマークレットは、不特定のサイトの新着ブックマーク状況を手軽に知りたいという時が使い所だと思います。

トラックバック送信先

はてなダイアリー日記 - 新着ブックマーク一覧機能の追加について(はてなブックマーク)

新着ブックマークをブックマークレットでチェックする方法を紹介しています。

はてなブックマーク日記 - はてなブックマークの新機能追加について

新着ブックマークをブックマークレットでチェックする方法を紹介しています。

デジモノに埋もれる日々: はてなブックマークで、自分のブログの「被ブクマ新着RSS」が欲しい

欲しがっていた機能が実装されました。併せて、ブックマークレットで手軽にチェックする方法を紹介します。

リプライ

リプライはまだ送られていないか、管理者の承認待ち状態です。 この記事に対するご意見やご質問、ご感想などありましたら個別記事ページの送信フォームからお送り下さい。

補足情報

著作、講演、制作実績など