Movable Type

スタイルシートで、#000 とか #333 とか #666 とか #CCC とか #FFF とかの意味は?

これ、間違っていたら誰か指摘して欲しいのだけれど、スタイルシートで #666 とか #CCC とか #999 とか #09F とか3文字でカラーコードが指定されてるときはそれぞれ、#666666、#CCCCCC、#999999、#0099FF となるらしい。つまり、#RGB と指定したときには #RRGGBB となるということ。

続きを読む

Movable Type 3.35 を、Drupal 5.3 に移行する。

Druapl は2007年に入り 5.1 にバージョンアップし、製品も顔負けのものとなった。そしてブログ製品の雄、Movable Type は 4 でオープンソース化し、バージョンアップ(ベータテスト)中。そんな中で Drupal はもうバージョン 6 がリリース予定。このエントリーを書いている時点でコードフリーズ、2~3週間後に本リリースされるだろう。そろそろ Movable Type から Drupal の移行のタイミングじゃないだろうか、というかこのエントリーを書いている今が絶好の移行のタイミングだと思うのだ(Perl Tips はなぜ移行しないのかって?そのうち必ず移行します!200エントリー超えでカテゴリ再構築がもはやこのサイトのホスティング環境ではできなくなってきていることがわかった)。

さて、それにはどうしたらいいかというと、実はブラウザとマウスだけで・・・と、残念ながら簡単にはいかない。特に日本語環境では。しかしあきらめてはならない。私がやった手順を公開するので、その通りにやれば必ずできる。ネットを探してみると、http://scotthiggins.com/node/64で、先人、いや賢人が移行スクリプトを作っていらっしゃるではないか。彼は Movable Type 2.xx の時代からずっとメンテがされていなかった Movable Type → Drupal の移行スクリプトを Fix したもよう。結果、このスクリプトでうまくいく。いくら感謝しても足りないくらいだ。以下、手順を示す。

続きを読む

Movable Type で、角丸枠をスタイルシートで設定する方法

残念ながらこの方法は Mozilla (Firefox) 独自の仕様なので、それにしか使えないが、-moz-border-radius の値に角丸の大きさを指定してやるとブラウザが角丸枠を描いてくれる。ドットの線(border: 1px dotted...)は無視されてしまうようだ。

#blockquote {
    <strong>-moz-border-radius: 10px;</strong>
    border: 1px dotted #a3b8cc;
}
続きを読む

Movable Type で、「トラックバックは失敗しました: HTTP error: 403 Throttled」エラーが出たときの対処方法

自サイトでもエントリー間でリンクを貼りあうことは SEO 対策として有効である。各ページが相互に関連し合ったサイトとみなされるからである。

さて、上の方針を元に自サイト内のエントリーにトラックバックを Movable Type で送り合っていると、途中で

http://…/mt-tb.cgi/xxx」へのトラックバックは失敗しました: HTTP error: 403 Throttled

なるエラーがログに記録されていて、トラックバックができなくなってしまうことがある。この場合は、

続きを読む

Amazon アソシエイトで、Movable Type を使ったアフィリエイトを簡単にする方法

このブログのトップページや個別エントリーのページにあるように、Amazon アソシエイトの商品を出すには、今まで紹介してきたような方法を使ってシコシコ手で入力したり、ほとんどワンクリックでリンクを入力する方法(ASIN コードの入力をラクにする方法)もあるが、これらリンクを Movable Type のテンプレートに組み込んでもう少し自動化する方法はないのだろうか?

その方法は、ズバリ MTAmazon という Movable Type 用のプラグインを使うことである。MTAmazon のページからモジュールをダウンロードして、plugins というディレクトリに放り込めば、テンプレートで Amazon アソシエイト用のタグが使えるようになる。各国のアマゾンに対応している(もちろん日本も!)ので、試してみて欲しい。

続きを読む

Amazon アソシエイトで、ASIN コードの入力をラクにする方法

  1. まず、/mt-static/images に amazon.gif ←の画像をアップロード /mt-static/mt_ja.js に以下のコードを追加 function AmazonLink(e) { if (!canFormat) return; var associate_id = 'twinklexxx'; // 自分のアソシエイト ID に変更 var xslt = 'http://aws.twinkle.cc/amazon.xsl'; // 自分の XSLT のアドレスに変更 var access_key = '152ZP71KPB47XM09CS02'; // 自分の Web サービス Access Key ID に変更 var str = getSelected(e); var asin = prompt('Enter Amazon ASIN',''); var country = prompt('Enter Country (us or jp)', 'us'); if (asin != null && country != null) {
    if (str == '') {
      if(country == 'jp') {
        code = '-22';
      } else if(country == 'us') {
        code = '-20';
      }
      setSelection(e, '<iframe src="http://xml-' + country + '.amznxslt.com/onca/xml?Service=AWSECommerceService&ItemId=' + asin + '&AssociateTag=' + associate_id + code + '&AWSAccessKeyId=' + access_key + '&Operation=ItemLookup&IdType=ASIN&ContentType=text%2Fhtml&Version=2006-03-08&Page=1&ResponseGroup=ItemAttributes,Images,Offers&Style=' + xslt + '" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" height="175"></iframe>\n');
    } else {
      setSelection(e, '<iframe src="http://xml-' + country + '.amznxslt.com/onca/xml?Service=AWSECommerceService&ItemId=' + asin + '&AssociateTag=' + associate_id + code + '&AWSAccessKeyId=' + access_key + '&Operation=ItemLookup&IdType=ASIN&ContentType=text%2Fhtml&Version=2006-03-08&Page=1&ResponseGroup=ItemAttributes,Images,Offers&Style=' + xslt + '" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" height="175"></iframe>\n');
    }
    
    } return false; }
  2. 次に、/tmpl/cms/edit_entry.tmpl 583 と 642 行目あたりに以下のコードをそれぞれ追加(通常のエントリー書き込み部分と「続きを読む」用に、2ヶ所修正が必要)
        write('<img title="<MT_TRANS phrase="Quote">" onclick="return formatStr(document.entry_form.text, \'blockquote\')" src="<TMPL_VAR NAME=STATIC_URI>images/formatting-icons/quote.gif" alt="<MT_TRANS phrase="Quote">" width="26" height="19" />');
        <strong>write('<a title="<MT_TRANS phrase="AmazonLink">" href="#" onclick="return AmazonLink(document.entry_form.text)"><img src="<TMPL_VAR NAME=STATIC_URI>images/amazon.gif" alt="<MT_TRANS phrase="AmazonLink">" width="26" height="19" /></a>');</strong>
    
        write('<img title="<MT_TRANS phrase="Quote">" onclick="return formatStr(document.entry_form.text_more, \'blockquote\')" src="<TMPL_VAR NAME=STATIC_URI>images/formatting-icons/quote.gif" alt="<MT_TRANS phrase="Quote">" width="26" height="19" />');
        write('<a title="<MT_TRANS phrase="AmazonLink">" href="#" onclick="return AmazonLink(document.entry_form.text_more)"><img src="<TMPL_VAR NAME=STATIC_URI>images/amazon.gif" alt="<MT_TRANS phrase="AmazonLink">" width="26" height="19" /></a>');
    
  3. 最後に、/tmpl/cms/bm_entry.tmpl 334 と 373 行目あたりに以下のコードをそれぞれ追加(同様に通常のエントリー書き込み部分と「続きを読む」用に、2ヶ所修正が必要)
        write('<a title="<MT_TRANS phrase="Quote">" href="#" onclick="return formatStr(document.entry_form.text, \'blockquote\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-quote.gif" alt="<MT_TRANS phrase="Quote">" width="22" height="16" /></a>');
    
    write('<a title="<MT_TRANS phrase="AmazonLink">" href="#" onclick="return AmazonLink(document.entry_form.text)">images/amazon.gif" alt="" width="26" height="19" />');
        write('<a title="<MT_TRANS phrase="Quote">" href="#" onclick="return formatStr(document.entry_form.text_more, \'blockquote\')"><img src="<TMPL_VAR NAME=STATIC_URI>images/html-quote.gif" alt="<MT_TRANS phrase="Quote">" width="22" height="16" /></a>');
        <strong>write('<a title="<MT_TRANS phrase="AmazonLink">" href="#" onclick="return AmazonLink(document.entry_form.text_more)"><img src="<TMPL_VAR NAME=STATIC_URI>images/amazon.gif" alt="<MT_TRANS phrase="AmazonLink">" width="26" height="19" /></a>');</strong>
    

Updated: 2007/04/21
Created: 2007/07/01

続きを読む

Movable Type で、印刷用ページのスタイルシートを指定する方法。

要は、印刷用のスタイルシート(例えば、styles-print.css)を用意して、テンプレートから通常のものと一緒に指定する。以下の手順で設定する。

  1. Movable Type の管理画面の各ページのテンプレートで、以下の部分を探す。
  2. 以下の青字の部分を追記する(行を分けて書いているが、それぞれ 1行でもよい)。
  3. Movable Type の管理画面の、テンプレート→インデックスタブ→テンプレートを新規作成で、印刷用スタイルシートを作成する。
    • テンプレート名:スタイルシート(印刷用)
    • ファイル名:styles-print.css
    • このテンプレートにリンクするファイル:空白のまま

それでは styles-print.css に何を書くのか?基本的には、styles-site.css の内容をそのままコピペする。そしてカスタマイズしていけばいいのだが、そのまま印刷プレビューしてみるとすぐにわかることがある。ページをまたがるエントリーや、ウェブページが、うまく表示されないのだ。これは styles-site.css の中にある、

overflow: hidden;

と書いてある部分のいたずらである。styles-site.css のスタイルシートの中には数ヶ所この記述が散らばっているのだが、styles-print.css の中ではこれをすべて /* … */ でコメントアウトすればよい。

Movable Type 3.2 であれば、styles-print.css の最後に、とりあえず以下を追記しておけば、サイドバー(Movable Type デフォルトテンプレート右側の部分)や、コメント、トラックバックが印刷時には印刷されなくできる。

#beta, #comments, .content-nav, .trackbacks, {
display: none;
}
続きを読む

サイトのリンク切れの検出チェックをするには?

checkbot を利用するといいだろう。

これは Perl ベースのコマンドラインツールで、実行するとリンク切れをチェックして HTML を出力する。その HTML に書き出された検出結果をブラウザから見るという使い方。

この checkbot、UTF-8 で書かれたサイトを指定してて実行すると、

Parsing of undecoded UTF-8 will give garbage when decoding entities at /usr/lib/perl5/site_perl/5.8.7/LWP/Protocol.pm line XXX, line 1.

などのエラーが出るが、気にしないでよい。実行例としては、

./checkbot --url http://perltips.twinkle.cc/ --internal-only --ignore "\.js|hatena\.ne\.jp|\.ico" ※本当は全部 1行

のような感じで、上の例だと、http://perltips.twinkle.cc/ (このサイト)を対象にして、JavaScript のリンク (.js)、hatena.ne.jp、アイコンファイル (.ico) を無視し、サイト内だけリンク切れをチェックする、という設定である。

続きを読む

Movable Type で、カテゴリーのディレクトリ名を指定する方法

Movable Type 日本語版は、カテゴリー名に英数字が入っていた場合はそれを利用してディレクトリ名を作成しようとするが、日本語のみのカテゴリー名を付けた場合には、Movable Type が cat72 などと勝手なディレクトリ名をつけてしまう。

カテゴリー名はそのままブログのパーマリンクの URL の一部となる。URL の一部ということは SEO の観点からいうとキーワードの一部であるため、これはできればせめてキーワードに関連した英単語などにしたい。

その方法だが、

  1. カテゴリー名をつけときに、まずは

    &lt;自分の指定したいディレクトリ名&gt;日本語のカテゴリー名 とする。

  2. 次に、テンプレート中の や の部分を、

    <$MTCategoryLabel decode_html="1" remove_html="1"$> <$MTArchiveTitle decode_html="1" remove_html="1"$> に置き換える。

  3. 最後に再構築する。
続きを読む
Movable Type を購読