Blogの最近のブログ記事

2007年4月の浦和カップ以降、同じ年の9月にエントリーを1つ上げただけで、不本意ながらこのBlogは放置状態となっていた。このたび再開するにあたって、Movable Type(以下MT)も新しくなっていることであるし、アップグレードをすることにした。

ついては例によって以下のようなサイトを参考にさせていただいた。

手順にのっとって、ファイルやDBのバックアップを取り、ダウンロードしたMT4.23をサーバにアップロード、実行した。
最初にうまくいかなかったのは、cgiファイルの属性の設定を忘れるという初歩的なミスのため。
次に引っかかったのはこういうエラー。

Can't locate object method "lowercase_jcode" via package "MT::I18N::default" (perhaps you forgot to load "MT::I18N::default"?)

エラーメッセージの中に「forgot to load(上げ忘れた)」という言葉があって、確かにftpソフトがアップロード中に何度か不正終了していたので、そのせいかと該当しそうなファイルを何度もアップロードしなおしてみるも、うまくいかない。そこでエラーメッセージをそのまま検索窓に投入してみると以下のようなQ&Aが出てきた。

Q. エラー「Can't locate object method "lowercase_jcode"」

インストール中の画面で文字化けが発生しました。また、インストール完了後、以下のエラーが発生し管理画面にログインできません。

Can't locate object method "lowercase_jcode" via package "MT::I18N::default" (perhaps you forgot to load "MT::I18N::default"?)at lib/MT/I18N/default.pm line 110.

A.

ご利用環境の Perl のバージョンに依存して発生する現象となります。Perl 5.6.1 の環境において、Movable Type 4.2 以降のバージョンへのアップグレード、または新規インストールを行った場合に発生します。下記のリンクから、ファイルをダウンロードし適用することで、問題を回避することができます。

そこで上記のページにあったリンクからファイルを適用してみると見事に解決した。
これでとりあえずMT4.23のダッシュボード(入力画面みたいなもの)にたどり着いたが、ページのレイアウトが滅茶苦茶になっている。どうやらテンプレートをMT4.23基準のものに初期化しなければいけないらしい。しかしこの「テンプレートの初期化」プログラムがうまく動かない。
あまり引っかかったりするところではないらしく、検索をしてもそれらしいものは引っかからない。とりあえずおかしくない程度に整えるか、と手作業でスタイルシートなどをいじってみたものの、昔の自分がどういう意図で書式を設定したのかがよくわからなかったりしてなかなか進まない。
半ばあきらめかけたころにふと思いついて、件の「テンプレートの初期化」プログラムをそれまでFirefox3.0.6で作業していたのを、IE7で動かしてみることにしてみた。JavascriptなどでまれにFirefoxではうまく動かないものがあったことを思い出したからだ。
するとプログラムは何の問題もなかったかのように動き、テンプレートは更新された。いったい何のために苦労をしたのか...。

さて、それからスタイルシートやウィジェットの設定を進めた。
過去に上げたエントリーが意図どおりに見えるようにするためだ。実はこれは2007年3月にStyleCatcherを導入したときから引っかかっていたことで、それ以降は過去のエントリーが正しい(中の人にとって)見た目をなしていなかったのだ。
StyleCatcherはMT4.23では「スタイル」という名前になっているが、要は外部のデザインを自分のBlogに取り込む仕組みという基本は変わっていない。そうするとスタイルシートは以下のような無味乾燥なものになってしまう(以下はMT3.3の例)。

/* This is the StyleCatcher theme addition. Do not remove this block. */
@import url(http://xxxx.xx/xx/themes/base-weblog.css);
@import url(http://xxxx.xx/xx/themes/theme-vicksburg_red/theme-vicksburg_red.css);
/* end StyleCatcher imports */

そこでいろいろ調べてみると、こんなものが見つかった。

要するに「styles-site.cssの下の空いている部分に好きなスタイルをどんどん追加すればいいだけ」なんです!!

これは「スタイルシートは一番最後に読み込まれたものが適用される」という原理を利用したものです。

ということで、StyleCatcherで適用されたデザインの大部分は生かしつつ、過去に使ったデザインを付け加えて適用することができた。
苦労はしたが、積年の引っ掛かりも解消、悪くない気分だ。

MovableType 3.2以降では、プラグインとしてStyleCatcherが添付されています。
これが何かというと、簡単に言えばボタン一つでBlogの見た目を変更するツールなわけですが今までは使い方がよくわかっていませんでした(表示が変になってもいやだし)。

StyleCatcher
StyleCatcherは、Movable Type 3.2以降のバージョンの標準テンプレートを適用しているブログのスタイルを、簡単に変更できるプラグインです。ブログに反映するスタイル・テーマは、Style Libraryサイトで一元的に管理されており、HTTPプロトコルで、特定のパスに複製した後にブログに反映します。

StyleCatcherは、Sixapart(MovableTypeの製造元)が提供する標準テンプレートを使用している場合に、Sixapartから提供されているスタイル・テーマにそのブログの見た目を変更するツールであるわけ(スタイル・テーマ自体はSixapart以外からも配布されているようです)ですが、それによって、簡単にどこかのブログと同じ見た目を作ることができるわけです。たぶんいわゆる、ブログサービスというサービスで提供されているシステムでは従来からあったものなのではないかと思います。
ただし、わざわざ自分でサーバを借りて立ち上げ、デザインもお仕着せのものではなく、細かく変更できるMovableTypeの場合、そのデザインを作った人のブログと、あるいは同じようにそのデザインを貰って使っている誰かのブログと、敢えて同じデザイン、スタイルにする意味がどれだけあるのだろうかと思っていました(今も思ってますが)。

が、しかし、やってみると面白いもんですね。すぐ飽きるかもしれませんけど。
ここ2~3日にこのページをご覧になった方は、その度に見た目が変わっているかもしれません。

で、このStyleCatcherの適用には、(少なくともSixaprt提供のデザインを使用する場合は)標準テンプレートの使用が前提です。
そこで、ブログのデザインを標準テンプレートに準じて変えてみました。
本当の標準テンプレートで用意されているトップページには、左側には「検索」、「最近のエントリー」、「カテゴリー」、「アーカイブ」に、「クリエイティブ・コモンズ」、「MovableTypeのバージョン表示」しか用意されていないわけですが、これに「リンク」と一番下に「カウンタ」を追加したのです。
これらには、MovableTypeの3.3からプラグインとして標準添付されるようになったWidget Managerを利用しました。

Widget Manager
ブログのサイドバーによく表示されている、最新のエントリーやカレンダーなどの要素(※これらをWidget=ウィジェットと呼ぶ)を、ドラッグ&ドロップで管理することができるようになります。

これを以下のサイトで紹介されている手順を参考にさせていただいたのです。

いままでのモジュールを Widget 化する
というわけでいままでのモジュールを Widget 化してみます。

MovableType 3.3では、「検索」だの「最近の投稿」だのといったモジュールは既にWidget化されて用意されているわけですが、標準テンプレートのトップページには使われていません。
そのため、「リンク」と「カウンタ」のみWidget化して「検索」とか「最近の投稿」とかとまとめて、標準テンプレートのトップページと似たような形で表示されるようにトップページのソースを変更しました。
これでStyleCatcherでデザインを変更しても違和感はありません。

また、各エントリーのページについては、好みでトップページと同じようなデザインになるように変更しました。
以前からデザインは余計なものが増えてごてごてしてきたので、変えようかとは思っていましたが、これですっきりしました。

検索フォームに日本語(2バイト文字)が使えなかったり(1バイト文字でも時々引っかかる)、まだ不具合はあるんですけどね。

あと、標準テンプレートのスタイルシートを利用しているために適用できなくなっている独自デザインがあります。
このブログで言うなら、画像の配置の仕方や、テーブルの配色、引用部分の修飾などがそれに当たります。
それらは、標準テンプレートの中には用意されていないので、追加したとしても、StyleCatcherでデザインを変更すると恐らく消えてしまうのです(文字の大きさや色、背景やらが定義されているので、デザインを変更すると合わなくなるものもありますし)。
それをどうしたものかとは思っています。

また、新規にエントリーを投稿したり、サイトを再構築した際にデザインが元に戻ってしまうんですよね。その度にStyleCatcherの画面を出してデザインを変えてたり。
自分のサイト用にStyleCatcher用のデータを作って適用できるようにするかなど、考えてはいますが…。
まぁしばらくは遊んでみます。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちBlogカテゴリに属しているものが含まれています。

次のカテゴリはDialyです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。