MT4にしてから、デザインをあちこちいじっているのですが、右にあるアーカイブリストを修正してみました。今年については月別のアーカイブリスト、それ以前は年別アーカイブリストに。
年別アーカイブは、「デザイン」→「テンプレート」→「アーカイブテンプレート」で「ブログ記事リスト」作成をして、テンプレートにHTMLを記述したあとに、「新しいアーカイブマッピングを作成」→「年別」です。その後、パスを作成して保存すれば、年別アーカイブ(のページ)を生成するようになります。ぼくは「%Y.html」としましたので、〜/mt/archives/2007.htmlのようになります。
MovableTypeを4にしました。ずっとここも放置してたのだけれど、これを機会にちょっとデザインを変更してみた。タイトル画像を変えただけでも、ぐっと印象がかわるものですな。前よりもきれいにまとまってきたので、もう少しカスタマイズしてみましょう。
nDiaryで長らく日記をほそぼそとかいてましたが、nboardにコメントスパムが入るようになり、放置してもえんえんと入れられ続けてたのでいやになり、nboadをはずして日記の更新もやる気がうせてましたが、ちょっと気分が復活。Movable Typeにしてみようかと、地道に日記をうつしかえ中。
MTのほうがコメントスパムはじきやすいかとおもって・・・
この間フォトログ用のプラグインを入れたらエントリーが1件しか表示されなくなってしまいました。ちゃんと最新の7件表示するって設定のままなのに。おかしいのはプラグインを削除しても元通りにならないことだ。しょうがないから12件くらいに水増しして設定したら見かけ上は変じゃなくなったんだけど、なんもいじってないのに今日見てみたらまた1件だけの表示になっていた。とさかにきちゃうね。
小粋空間を見てサイドメニューを折りたたむべく導入してみた。バージョンアップのたびに修正版のエントリーが増えていくのは当然なのですが、自分はv5のエントリーからさかのぼるように読みつつ導入していったので、すんなりと導入には至りませんでした。
が、無事導入。ちょっぴり疲れた。
オンライン書店(Amazonもしくはbk1)のMT用プラグインを探したのですが、mt-bk1.plは作者の方がTypepadに移られててリンク切れ。aws.plは敷居が高そうなのでちょっと遠慮したい感じでした。
いろいろ検索してみたら、G-toolでタグを生成してそれをコピペでエントリー画面にもっていく方法にしました。nDiaryみたく書誌情報をひっぱってこれたらいいのに。
カテゴリーアーカイブのページのカスタマイズ。
<MTEntries>~</MTEntries>を<MTEntriesWithSubCategories>~</MTEntriesWithSubCategories>のように変えただけ。
MT3.2でのエントリー画面のカスタマイズ。1年前につかっていたMTとはエントリー画面のテンプレートの中身がだいぶ違っていたのでとまどいましたが、なんとかなりました。
/mt/tmpl/edit-entry.tmplというファイルに
write('<a title="<MT_TRANS phrase="Cite">" href="#" onclick="return insertCite(document.entry_form.text, \'cite\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-cite.gif" alt="<MT_TRANS phrase="Quote">" width="22" height="16" /></a>');
次に、/mt/mt-static/mt-ja.jsというファイルに上述にあるinsertCiteというのを追加するのですが
function insertCite(e, v) {
if (!canFormat) return;
var str = getSelected(e);
var my_link = prompt('Enter URL:', 'http://')
var my_title = prompt('Enter Title:', '')
if (my_link != null){
setSelection(e, '<blockquote>' + '<' + v + '>' + '<a title="' + my_title + '" href="' + my_link + '">' + my_title + '</a></' + v + '><p>' + str + '</p></blockquote>');
}
return false;
}
上記2ファイルを元のおいてあったところにアップします。ここまで書いておいてなんですが、元ファイルのバックアップはあらかじめしておきましょう。なんかあったときに戻せるように。まぁ、バックアップしてなくても上述の対象行を削除するだけでいいんですが。
それから上述のとおり、cite用の「C」というボタンの画像を用意しておく必要があります。これは、/mt/mt-static/images/にアップします。
以上でカスタマイズ終了。これを応用すればフォントの色をかえたりってのもできますね。
とっても久しぶりなのでテンプレートの記述の仕方を忘れていて、おもったようにカスタマイズできない。とりあえず、Blogtimeとfootnoteは削除しておいた。それはまたの機会に導入するとして、いまはレイアウトを整えようといじっている真っ最中です。
20日に記事をエントリーして以来、ちょっとエントリーが途絶えておりまして、今日久しぶりに書き込むか〜なんて思ってmt.cgiにアクセスしようとしたら、script errorってでちゃいました。もちろん20日から今日までmt関係のファイルは一切いじってないので(アップロードもそのフォルダにはしていない)原因はボクにはないことがはっきりしている。
こういう場合の定法として、.htaccessにAddHandler cgi-script-debug .cgiに書き込んでアップロードしてエラーを探る。よくメッセージを見てみると、blogtimesで要求しているGDというファイルのバージョンがあいませんよっていう風なメッセージが確認できましたので、とりあえずプラグインからblogtime.plを削除して、再度アクセスしたら直りました。どうやらサーバ側で該当ファイルのバージョンがあがったのではないかと推測されます。大変迷惑ですね。知らんうちにエラーの原因が発生してるとなると、こちらとしては把握しきれん。エラーが出てから対処ってのも、自分に原因がないってわかってるし、腹立たしい。
この間、mt-bk1.plを参考にしつつでっちあげた、amazon用プラグイン。あくまでもアソシエイトとして使用することを前提にしているつもりだが、そんな対処はしてないので誰でも使えてしまう。そんなわけで、まぁこのサイトを見ている方もそんなにいないだろうし、希望もないと思われるのでとりあえずは公開なんぞしない方向でいってみよう。
mt-bk1.plというプラグインがある。これはエントリーの本文中にISBNもしくはbibidにつづけて所定のコードを記述するとプラグインが書影をひっぱってきて文を置き換えてくれるという便利なプラグインだ。
amazonのMT用プラグインはいくつかあるようだけども、エントリー注にISBNを書いておくだけで書影に置き換えてくれて、日本語でできるってのは見当たらなかったためそれをみながらamazon用は作れないものかと、昨日一日がんばってみたが、下記の情報がせいいっぱいでした。
Perlの記述はボクは全然勉強してなかったので
とりあえずこれでよしとしましょう。
ISBN:4-06-363347-0
こちらを参考に、脚注を挿入するプラグインを導入してみる。
確認画面では脚注は表示されなかったのでちょっと心配でしたが、公開して確認してみあら、なんのことはない、ちゃんと導入ができていました。エントリー編集画面のテンプレートに脚注用のタグを挿入するボタンをいれておかなきゃ。
MTをやっている方ならば必ずやるであろう、エントリー画面のカスタマイズ。HTMLタグを自動挿入するものです。うちでは、Strong、Cite、Link、pを挿入するようにしています。
TEXT → <strong>TEXT</strong> TEXT → <blockquote><p><cite>title:TITLE<a title="TITLE" href="http://URL"></a></cite><div>TEXT</div></blockquote> TEXT → <a href="http://URL">TEXT</a> TEXT → <p>TEXT</p>
Citeについては選択したテキストの前後に前述のようなタグで囲むだけではなく、引用元のURLとタイトルを聞くようにして、入力すれば前述のように挿入されるといった具合です。Java scriptの書き方なんぞしらなかったのでちょっと苦労しましたがなんとかなりました。これならばaタグにtitleを入れるのも可能です。うまく記述してやれば、divで囲むだけでなくidやclassも自由に挿入できるようになります。ちなみに一部抜粋してCiteボタンの場合は以下のように書いてあります。
function insertCite() {
var s = document.forms['entry_form'].text
var s1 = (s.value).substring(0,getSelectStart(s))
var s2 = (s.value).substring(getSelectEnd(s),getTextLength(s))
var my_link = prompt('Enter URL:', 'http://')
var my_title = prompt('Enter Title:', '')
if (my_link != null)
s.value = s1 + '<blockquote><p><cite>title:<a title="' + my_title + '" href="' + my_link + '">' + my_title + '</a></cite><div>' + getMozSelection(s) + '</div></blockquote>' + s2
}
プロが教えるMovable Typeの構造デザインをみて、エントリー用のテンプレートを修正。よくMTの情報サイトで見かける、エントリーをする際にpとかのタグを貼ってくれるボタンをつけるってヤツです。いくつかサイトを見て回って、リンクの挿入(hrefとtitleをウィンドウで入力してやるとaタグでくくるようにした)とかblockquoteの挿入(これもtitleとhrefを挿入するとblockquoteでくくるようにした)をするように書き換えました。