MovableTypeをバージョンアップ

最初にMovableTypeでブログを構築してから2年、バージョンはセキュリティホールの残る「3.121」でした。以前ホスティングサーバで「3.2」にバージョンアップしようと試みたが、あえなく失敗。それ以来のバージョンアップ挑戦です。
バージョンアップは以前より簡単になっているようです。手順どおりに進めると難なくバージョンアップできました。
管理画面へ・・・
オーッ!!!前々画面が違います。使いやすいかはよくわかりません。
しかし、ブログのバージョン番号が変わらない??
何てことはない。再構築してないだけでした。

MovableTypeをLinuxからWindowsへ引越し

レンタルサーバーから自社サーバーに移動しました。同時にLinuxからWindowsに引越しです。記事が数百になると、再構築ができなくなってしまい難儀しました。これからいつでも再構築できます。
苦労しました。文字化けがなかなか解消しない!!!
MovableType+MySQLでは「UTF8」でないと表示に不具合があるようなのですが、うまく表示しないのです。MySQLはバージョン5です。プログラム本体の再インストールやテキストの文字エンコードの変更など結果2日間で10時間以上を費やしてしまいました。
参考に、文字化けしない移行方法を書いておきます。
1.WindowsにMySQLバージョン5をインストールします。
2.MySQLのインストールフォルダ内にある「my.ini」を編集し、
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
skip-character-set-client-handshake
 この最終行をサイトで見つけるまでに時間がかかりました。
 MySQL 5.0.12-rc以上ではこの1行で文字化けが解消されます。
3.Windowsにデータベースを作成します。
4.Linuxのデータベースのテーブル構造をsql文でテキスト化します。Drop文を追加しておくと後で便利です。
5.Linuxのデータベースのデータをcsvでテキスト化します。カンマ区切り「,」、ダブルクォーテーション「”」付きでエクスポートします。
6.Windowsで4のsql文を実行しテーブルを用意します。
7.5のテキストの文字コードを確認します。「UTF8」に合わせますが、「UTF8N」でも問題ないようです。
8.通常のInsert文では日本語が混ざるとエラーが出るので、csv形式でファイルデータを挿入します。
 LOAD DATA INFILE “(CSVファイルの絶対パス)” INTO TABLE (テーブル名)
 FIELDS TERMINATED BY “,” ENCLOSED BY ‘”‘
 LINES TERMINATED BY “\r\n”IGNORE 1 LINES;
この構文の注意点は、
・ファイルの絶対パスの階層区切りを「\」ではなく「/」で記述する。
・ENCLOSED BYはフィールド単位を示すものですが、日本語が混ざるとCSVにこれがないとなぜかエラーが続出する。
・IGNORE 1 LINESはインポートで1行飛ばすという意味で先頭行が項目行の場合に必要です。
MySQLのインストール方法や操作の仕方については他のサイトを参考にして下さい。それにしても、WindwosではphpMyAdminがうまく動作しない。おそらく設定方法がまたどこか間違っているのだろうが、仕方がないので、上記移行手順はすべてコマンドで実行した。

Movable Typeのカスタマイズ(13)
-トラックバックの表示-

今日も続けて13回目である。参考にするのは今回も、「ブログ自由自在 MovableType 上級カスタマイズ術」(技術評論社)である。
※表示するためHTMLタグの<>を[]に変換している。
コメントを表示できるようにしたので、トラックバックも表示できるようにする。
[h2]最新のトラックバック[/h2]
[ul]
[MTPings lastn=”10″ sort_order=”descend”]
[li][a href=”[$MTPingURL$]” target=”_blank”][$MTPingTitle$]
<[$MTPingBlogName$]>([$MTPingDate format=”%m/%d”$])[/a][/li]
[/MTPings]
[/ul]
しかしながら、これではトラックバックの一覧にしかならない。コメントのように、トラックバックの付いた記事を表示して、それに対するトラックバックをツリー状に表示したいのだが、標準機能ではないようです。プラグインで実現可能なようですが、今回はここまでにしておきます。どんどん続く・・・予定。

Movable Typeのカスタマイズ(12)
-コメント表示を修正-

今日も続けて12回目である。参考にするのは今回も、「ブログ自由自在 MovableType 上級カスタマイズ術」(技術評論社)である。
※表示するためHTMLタグの<>を[]に変換している。
以前コメントの一覧表示については一度書いているが、もう少し体裁よく見えるように修正を加える。
[h2]最近のコメント[/h2]
[ul]
[MTEntries recently_commented_on=”10″ sort_order=”ascend”]
[li][a href=”[$MTEntryPermalink$]#”][$MTEntryTitle$][/a][/li]
[ul]
[MTComments lastn=”5″ sort_order=”descend”]
[li]└[a href=”[$MTEntryPermalink$]#[$MTCommentID$]”]
[$MTCommentAuthor$]([$MTCommentDate format=”%m/%d”$])[/a][/li]
[/MTComments]
[/ul]
[/MTEntries]
[/ul]
「sort_order」とは並び順である。「ascend」を指定すると日付の古い順に、「descend」を指定すると日付の新しい順に表示される。コメントの元エントリーの表示数については「recently_commented_on」で数を制御できる。コメントの表示数は「lastn」で制御できる。コメントの著者だけではなく、並べて書き込みの日付も表示するように修正した。
ついでに、月別カテゴリーも増えてきたので「lastn」で表示数を減らしてみた。どんどん続く・・・予定。

Movable Typeのカスタマイズ(11)
-カテゴリーをツリー状に-

さて、続けて11回目である。参考にするのは、「ブログ自由自在 MovableType 上級カスタマイズ術」(技術評論社)である。
※表示するためHTMLタグの<>を[]に変換している。
カテゴリーの登録は階層を設定できるのに、表示するときはすべて同じ階層というが納得できないと思ったことはないだろうか。解決策がここにある。
変更前のコードである。
[h2]カテゴリー[/h2]
[ul]
[MTArchiveList archive_type=”Category”]
[li][a href=”[$MTArchiveLink$]”][$MTArchiveTitle$]([$MTArchiveCount$]件)[/a][/li]
[/MTArchiveList]
[/ul]
次に変更後のコードである。
[h2]カテゴリー[/h2]
[MTSubCategories]
[MTSubCatIsFirst]
[ul]
[/MTSubCatIsFirst]
[MTIfNonZero tag=”MTCategoryCount”]
[li][a href=”[$MTCategoryArchiveLink$]”][$MTCategoryLabel$]([$MTCategoryCount$]件)[/a][/li]
[MTElse]
[li][$MTCategoryLabel$][/li]
[/MTElse]
[/MTIZfNonZero]
[MTSubCatsRecurse]
[MTSubCatIsLast]
[/ul]
[/MTSubCatIsLast]
[/MTSubCategories]
残念だが、これだけではうまく表示されない。ツリー状にするためにはスタイルシートの該当部分を以下のように変更する。margin-leftの設定により階層が階段状になる。
.sidebar ul {
padding-left: 0px;
margin: 0px;
margin-left: 10px;
margin-bottom: 10px;
}
どんどん続く・・・予定。

Movable Typeのカスタマイズ(10)
-月別カテゴリーに件数表示-

かなり時間が空いたが、10回目である。今回から参考にするのは、「ブログ自由自在 MovableType 上級カスタマイズ術」(技術評論社)である。
※表示するためHTMLタグの<>を[]に変換している。
カテゴリーには標準で件数が表示されているのに、月別カテゴリーには件数がないのはなぜ?と思ったことはないだろうか。これから紹介するテクニックにより月別カテゴリーに件数を表示することができる。
[h2]月別過去の記事[/h2]
[ul]
[MTArchiveList archive_type=”Monthly”]
[li][a href=”[$MTArchiveLink$]”][$MTArchiveTitle$]([$MTArchiveCount$]件)[/a][/li]
[/MTArchiveList]
[/ul]
追加したのは ([$MTArchiveCount$]件) ←この部分です。
カテゴリーのタグからコピーしてきます。今回の変更から「件」という単位も表示するようにしました。
久しぶりのカスタマイズでしたが、どんどん続く・・・予定。

Movable Typeのカスタマイズ(9)
-タイトルの装飾-

さて、9回目である。引き続き参考にしたのは、「即実践!ブログ徹底カスタマイズ術」(技術評論社)である。
今回は、メインページのエントリーのタイトルと両サイドの見出しをカッコよくする。スタイルシートのみの変更でよさそうだ。
○両サイド
変更前
.sidebar h2 {
color: #666666;
font-family: Verdana, Arial, sans-serif;
font-size: small;
text-align: center;
font-weight: bold;
text-transform: uppercase;
letter-spacing: .3em;
}
変更後
.sidebar h2 {
color: #FFFFFF;
font-family: Verdana, Arial, sans-serif;
font-size: small;
text-align: center;
font-weight: bold;
text-transform: uppercase;
letter-spacing: .3em;
background-color: #000000;
}
バックカラーを黒色に、フォントを白色に変更する。
○エントリー
変更前
#center h1 {
font-size: x-large;
}
変更後
#center h1 {
font-size: large;
border-width: 5px;
border-color: #E7AA5C;
border-top-style: hidden;
border-right-style: hidden;
border-left-style: solid;
border-bottom-style: solid;
padding: 5px;
}
エントリーのタイトルは少し凝ってみる。フォントサイズを少し小さくする。タイトルの周りを線で囲み、左と下のみ表示する。枠線とタイトル文字の間を5px空ける。
これまでのカスタマイズで最初と比べかなり違う外見となってきた。しかしまだまだ続く・・・予定。

Movable Typeのカスタマイズ(8)
-フッターの追加-

さて、8回目である。今回は独自の追加を試みる。
今回は、メインページのヘッダーを参考にして、一番下にコピーライトを記載したフッターを追加する。
※表示するためHTMLタグの<>を[]に変換している。
スタイルシートにフッターを追加する。ヘッダーである#bannerを参考にして、#footerと#footer h2を作成する。挿入する位置は#centerの直前とする。
#footer {
font-family: Verdana, Arial, sans-serif;
color: #FFFFFF;
background-color: #E7AA5C;
text-align: center;
padding: 1px;
height: 10px;
}
#footer h2 {
font-size: x-small
}
次に最後の[/div]の前に、フッター部分を追加する。
[div id=”footer”]
[h3]Copyright(c) 2004-2005 フリー・スタイル/北陸城郭プロジェクト All Right Reserved.[/h3]
[/div]
そうすると、ヘッダーとフッターに挟まれるようなスタイルになる。どんどん続く・・・予定。

Movable Typeのカスタマイズ(7)
-余白の調整-

Movable Typeのカスタマイズ(7)
-余白の調整-
さて7回目である。引き続き参考にしたのは、「即実践!ブログ徹底カスタマイズ術」(技術評論社)である。
前回の右に偏った月移動可能なカレンダーを調整しましょう。スタイルシートのいろいろな余白を調整したらどこを直したのかわからなくなりました。とりあえず、次の2箇所を修正します。marginとpaddingはともに余白の設定ですが、上、左、下、右の順となります。
body { margin: 0px 0px 20px 0px; }
.sidebar { padding: 0px 5px; }
カレンダーの表示幅を90%にします。
#calendar table { width: 90%; }
そして左サイドと右サイドのコンテンツを整理しました。どんどん続く・・・予定。

Movable Typeのカスタマイズ(6)
-月移動可能なカレンダー-

さて6回目である。引き続き参考にしたのは、「即実践!ブログ徹底カスタマイズ術」(技術評論社)である。
今回は、カレンダーを月移動可能なカレンダーを設置する。書籍と書籍にも紹介されているsukesamさんのホームページを参考に作成してみたが、どうもうまくいかない。そこで、スタイルシートはそのまま使えるように変更してみた。
※表示するためHTMLタグの<>を[]に変換している。
まず、以下のテンプレートを「新しいアーカイブ・テンプレートを作る」から「calendar」というテンプレート名で保存します。
[!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”]
[html xmlns=”http://www.w3.org/1999/xhtml”]
[head]
[meta http-equiv=”Content-Type” content=”text/html; charset=[$MTPublishCharset$]” /]
[title][$MTBlogName$][/title]
[link rel=”stylesheet” href=”[$MTBlogURL$]styles-site.css” type=”text/css” /]
[MTBlogIfCCLicense]
[$MTCCLicenseRDF$]
[/MTBlogIfCCLicense]
[/head]
[body]
[div id=”container”]
[div id=”left-side”]
[div class=”sidebar”]
[div align=”center” id=”calendar”]
[table summary=”記事のリンク付き月間カレンダー” border=”1″]

[MTArchivePrevious]
[a href=”[MTBlogURL]archives/[MTArchiveDate format=”%Y_%m”].html” title=”« [MTArchiveDate format=”%B %Y”]” onmouseover=”window.
status='[MTArchiveDate format=”%B %Y”]’; return true” onmouseout=”window.status=”;return true”]«[/a]
[/MTArchivePrevious]
[$MTArchiveDate format=”%B %Y”$]
[MTArchiveNext]
[a href=”[MTBlogURL]archives/[MTArchiveDate format=”%Y_%m”].html” title=”» [MTArchiveDate format=”%B %Y”]” onmouseover=”window.
status='[MTArchiveDate format=”%B %Y”]’; return true” onmouseout=”window.status=”;return true”]»[/a]
[/MTArchiveNext]

[tr]
[th abbr=”日曜日”]日[/th]
[th abbr=”月曜日”]月[/th]
[th abbr=”火曜日”]火[/th]
[th abbr=”水曜日”]水[/th]
[th abbr=”木曜日”]木[/th]
[th abbr=”金曜日”]金[/th]
[th abbr=”土曜日”]土[/th]
[/tr]
[MTCalendar month=”this”]
[MTCalendarWeekHeader][tr][/MTCalendarWeekHeader]
[td align=”center”]
[MTCalendarIfEntries]
[MTEntries lastn=”1″][a href=”[$MTEntryPermalink$]” target=”_top”]
[$MTCalendarDay$][/a][/MTEntries][/MTCalendarIfEntries]
[MTCalendarIfNoEntries]
[$MTCalendarDay$][/MTCalendarIfNoEntries]
[MTCalendarIfBlank] [/MTCalendarIfBlank][/td]
[MTCalendarWeekFooter][/tr][/MTCalendarWeekFooter][/MTCalendar]
[/table]
[/div]
[/div]
[/div]
[/div]
[/body]
[/html]
次はアーカイブの設定です。「ウェブログの設定」画面で、「新しく、テンプレートとアーカイブを関連付ける」という欄で、アーカイブの種類を「月別」、テンプレートを「calendar」を指定して追加します。追加された月別のcalendarテンプレートの右のテキストボックスに
[$MTArchiveDate format=”%Y_%m.html”$]
を入力して、変更を保存します。スタイルシートは標準のものを利用します。
メインページの左サイドの最後にインラインフレームでcalendarテンプレートを設定します。
[h2]高機能カレンダー[br /](月移動可能)[/h2]
[iframe name=”cal-iframe” src=”[MTBlogURL]archives/[MTDate format=”%Y_%m”].html” frameborder=”0″ marginwidth=”0″ marginheight=”0″ width=”200″ height=”180″ scrolling=”no”][/iframe]
なんか少し右(中央)にずれています。文字のサイズを大きくすると明らかに標準のカレンダーとは違う表示である。あと一歩というところか。標準のカレンダーと入れ替えようかと思ったが、諦めた。まだまだ続く・・・予定。