MovableTypeからSMTP認証+SSLでメール送信

少々回りくどい表題だが、要するに「GmailのアドレスでMovableTypeからメールを送りたい!」という話。このプラグインを使うとできる。

The Tweezer’s Edge: Stories: SMTP Auth Plugin

http://tweezersedge.com/archives/stories/smtp_auth_plugin.html

依存モジュールのインストール

割とたくさんインストールする必要がある。

  • Sys::Hostname
  • Time::Local
  • MIME::Base64
  • Net::SMTP
  • Authen::SASL
  • Net::SMTP::SSL
  • Net::IDN::Encode
  • IO::Socket::SSL
  • Net::SSLeay

太字で書いたNet::IDN::Encodeはマニュアルに記載がないが、これがないとIO::Socket::SSLのインストールがうまく行かなかった。

Continue reading

IEがpタグにinnerHTMLできないのはバグ?

<p> タグの中に innerHTML プロパティを使って文字列を挿入するときに、それが不正なHTMLだとIEは無視してしまう。

Pieces Of Rakesh: IE’s Unknown Runtime Error When Using innerHTML

http://piecesofrakesh.blogspot.com/2007/02/ies-unknown-runtime-error-when-using.html

IE で innerHTML に変な HTML を入れるとエラーになる件 – *Trace Output*

http://d.hatena.ne.jp/miyamuko/20060320/p1

単純な文字列ならば問題ない。例えば次の文はちゃんと動くが、

document.getElementById( "some-id" ).innerHTML = "あいう<br />えお";

次の文はエラーになってしまう。なんというわかりにくさ。

document.getElementById( "some-id" ).innerHTML = "<div>あいうえお</div>";

もっとも、<p> タグの中にブロックレベル要素を入れてはいけない」というのは HTML の解説書には必ず書いてある決まり事ではある。Firefox や Google Chrome では問題ないのに、IE だけが規則に厳格なんて珍しいこともあるものだ。

以下はおまけ。

Continue reading

コメントできなくなってましたorz

スパム避けのための Captcha 画像が表示されず、コメントしようにもできなくなってました。コメントできなかった方、ごめんなさい。今は可能になっているはずです。Captcha 画像が表示されない方はリロードしてみてください。

Captcha 画像が表示されなかった原因は以下の 2 つ。

  1. mt-config.cgiCaptchaSourceImageBase が間違ってた
  2. <p> タグに関する innerHTML プロパティのバグ(IE 限定。仕様なのかな?)

1 番はどうしようもないミスなので論外だけど、2 番は初めて知ったので別記事にでも。

外部リンクを明示するMovableTypeプラグイン

MovableType の生成する HTML から余分な空行を除き、ついでに色々整形してくれる便利なプラグイン Source Code Cleanerを導入してみた。

Source Code Cleaner(ソースコード・クリーナー) – Movable Type プラグイン – かたつむりくんのWWW

http://www.tinybeans.net/blog/download/mt-plugin/source-code-cleaner.html

しかし、「外部リンクに class を追加する」機能がうまく働かない。外部どころか全てのリンクに class が追加されてしまうのだ。ソースを読んでみると、外部リンクを判定するときに、頭に「http」が付いたものを全て外部リンク認定していることがわかったので、(勝手に)改良してみますた。href 属性の前後に改行があるとうまく動かなかったので訂正。

差分

*** SourceCodeCleaner.pl.orig   2009-06-23 13:32:20.000000000 +0900
--- SourceCodeCleaner.pl        2010-02-27 04:17:25.000000000 +0900
***************
*** 2,7 ****
--- 2,8 ----

  use strict;
  use base qw( MT::Plugin );
+ use MT::Blog;

  my $plugin = MT::Plugin::SourceCodeCleaner->new({
      id          => 'sourcecodecleaner',
***************
*** 126,134 ****
                }

                # Attribute : external link class
                if ($option_exlink) {
!                       $$content_ref =~ s/<a[^>]*href="http[^"]*"[^>]*>/external_link($&)/ge;
!
                }

                # Element : pre - escape
--- 127,137 ----
                }

                # Attribute : external link class
+         ( my $base = MT::Blog->load( $blog_id )->site_url ) =~ s!https?://!!;
+         $base =~ s!(?=\.)!\\!g;
+         my $a_tag_re = qr+<a[^>]*href\s*=\s*"(?:ht|f)tps?://(?!$base)[^"]*"[^>]*>+;
                if ($option_exlink) {
!                       $$content_ref =~ s/$a_tag_re/external_link($&)/ge;
                }

                # Element : pre - escape

Continue reading

リニューアルしました

before

before.png

after

after.png

なんだかもっさりしたMTデフォルトのテーマを離れてmt.Vicunaを導入してみた。MT5に対応した暫定版mt.Vicuna Theme 2.2.1bis2をしばらくいじった後で、最新版の2.3に気づいたのだが時已に遅し。テーマのエクスポートが正確にできない不具合はあるものの、一応使えてるみたいだからしばらくは2.2.1bis2でいいかな……?

mt.VicunaをMT5テーマ化 – WolaWola

http://www.zelazny.mydns.jp/pub/plugins/mtvicuna-for-mt5.php

SyntaxHighlighter

100225-0003.png

SyntaxHighlighterの色合いもテーマに応じて変えてみた。これで少しはカコヨクなっただろうか。

後は、過去の記事でレイアウトがおかしくなってるものを直さないといけない。それができたら最新版の導入を考えよう。

しかしホント、これだけカッコ良くて動作も軽い、完成度の高いテーマを無料で配布してくれるのだから頭が下がる。いくら感謝してもしきれません。

MovableType + Memcached @ Mac OS X

MovableTypeにmemcachedを組み込んでみた日記。次のリンクが参考になる。

Running Movable Type with memcached | MovableType.org – Home of the MT Community

http://www.movabletype.org/documentation/administrator/maintenance/memcached.html

[memcached] memcached導入手順 – Life with IT

http://l-w-i.net/t/memcached/0install_001.txt

memcachedのインストール

リンク先ではソースからコンパイルしてるが、ここはお手軽にMacPortsで行ってみる。

$ sudo port install memcached

するとLaunchdの設定ファイルが/Library/LaunchDaemons/org.macports.memcached.plistに作成される。次のコマンドで自動起動と最初の起動が行われる。

$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.memcached.plist

実際の起動スクリプトは/opt/local/etc/LaunchDaemons/org.macports.memcached/memcached.wrapperにあるようだ。必要ならこのファイルを編集して起動オプションを書き換えよう。

動作確認にはtelnetを使う。statsで統計情報を表示し、quitで終了する。

$ telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is '^]'.
stats
STAT pid 64143
STAT uptime 40868
STAT time 1266977732

~省略~

quit
Connection closed by foreign host.

Continue reading

Last.fmウィジェットはどこに行った?

この情報は古いです。現在は Flash を使わないウィジェットが推奨されています。詳しくはこちら → jQuery 版 Last.FM ウィジェットを導入してみた


しばらく前からLast.fmを利用している。SNSと言うより、自分の音楽嗜好を記録し、まだ見ぬ(聴かぬ)名曲を探すツールとして使うとおもしろい。

で、せっかくブログ始めたからには前々から気になってたウィジェットを貼ろうとしたのだが、これが妙なことになっている。Last.fmからウィジェット紹介のページが消えてるのだ1

Last FM Widget ? What Happened – Web Site Support – Last.fm
http://www.lastfm.jp/forum/21713/_/579208

どうやら去年の11月から何かおかしかったらしい。「最近ほったらかしだったし、メンテめんどいからもうやめるね! 今度からはサードパーティのアプリ使ってよ」(スタッフ談、超意訳)と書いてある。どこにもそんなアプリ見つからないんだけど……。

途方に暮れていたのだが更にググってみると、ウィジェットのHTMLソースを整形して解説してあるサイトを見つけた。これをいじって自分のところに貼っちゃえばいいのだ。

Last.fmウィジェットのコード整形 – 最遅メンヘル研究会
http://d.hatena.ne.jp/kageroh_/20080606/1212706200

Last.fmのWidgetを設置。 – fujii-t:blog(フジイブログ)
http://www.hitohen.com/fujii-t/2007/12/last-fm.html

今更ですがLast.fmがおもしろい | ブルマンぶるぶる
http://www.bluesman.nbworks.co.jp/2010/02/16/715/

上記のようなリンクを参考にして次のコードを書いた。

Continue reading