ruby で moblog
July 31st, 2003 | Published in Uncategorized
もうすぐサークルの夏合宿です.そこはケータイが届くか微妙な地帯であり,いわんやネットをや,という島です.でも,合宿に行かない人とを結ぶなんかないかなーと考えてて,写メールならなんとかなるかと思ったのです. で,はやりの moblog ですよ.ひらたさんのサービスでもいいんですが,せっかくだし自分でこしらえてみようと.早速やってみました. Ruby + Postfixです. こちら
流れとしては,
- あるアドレスに写メールを投げる
- Postfix -> .forward -> mail2entry.rb
- メールのヘッダ情報(From, Subjectなど)を取得,MIMEから本文と画像を取得
- 本文を画像を含むように修正
- XML-RPCに各パラメータをセットしてmt-xmlrpc.cgiに送る
たったこれだけ.なんて簡単なんでしょう.って言えるのは,Rubyのライブラリが充実してることに大きく起因します.ライブラリ制作者な方々に感謝.思いついてから仕様を調べ,実装してテストしてひととおり動くようになるまで2時間ほどでできました.いつもこれくらいのスピードでお仕事できればねぇ…
このアプリのいいとこは,誰でもある特定のメアドにメールを投げれば画像付きエントリができちゃうとこです.でもそれだけじゃ,ほんとに誰でも投稿できてしまうので,荒らし対策が0です.なので,本文にちょこっとパスワードみたいなのをしのびこませなければならないような仕様にしてみました.
さぁ,合宿でみんなで moblog だ~,と.そのためには啓蒙しなくちゃですが. 果たしてどうなることやら.
参考リンク:
Japanized Template Tag
July 9th, 2003 | Published in 翻訳
何度も書いている,Movable Type 取説ですが,ついに Template Tag の訳を終わらせました. サイトのカスタマイズをするときに,レファレンスとして重宝しそうです.まず自分が.
全体としては,あと半分くらいかな〜.
MT-comments rss
July 5th, 2003 | Published in Uncategorized
MovableTypeはサイト更新を通知するためにRSSというしくみをデフォルトで提供しているわけですが,新しいコメントを受け取ったときにはそこに反映されません.なので,サイト管理者以外は,新しいコメントが投稿されても分からないわけです.これは,議論やなにかを行うサイトの場合,自分のコメントに誰かがコメントをしてくれたのに気付かない,という状況を生みます.
というわけで,最新のコメントを通知するRSSを書いてみました.
やりかた:
MovableTypeの管理画面の「Templateの編集」 -> 「新しいIndex Templateを作る」に行きます.
で,Templateの名前は「RSS comments」とかにし, 出力ファイル名は「comments.rdf」, Index Templateを Rebuild するときに自動的にこの Template を Rebuild する はチェックをオンにしておきます. この Template をリンクするファイルは空のまま, Template の中身には,以下をコピペします.
>
<channel rdf:about="<$MTBlogURL$>">
<title><$MTBlogName encode_xml="1"$> - Comments</title>
<link><$MTBlogURL$></link>
<description><$MTBlogDescription encode_xml="1"$></description>
<dc:language>ja</dc:language>
<dc:creator></dc:creator>
<dc:date><MTComments lastn="1"><$MTCommentDate format="%Y-%m-%dT%H:%M:%S" language="en"$><$MTBlogTimezone$></MTComments></dc:date>
<admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=<$MTVersion$>" />
<MTBlogIfCCLicense>
<cc:license rdf:resource="<$MTBlogCCLicenseURL$>" />
</MTBlogIfCCLicense>
<items>
<rdf:Seq><MTComments lastn="15" sort_order="descend">
<rdf:li rdf:resource="<MTCommentEntry><$MTEntryPermalink encode_xml="1"$></MTCommentEntry>" />
</MTComments></rdf:Seq>
</items>
</channel>
<MTComments lastn="15" sort_order="descend">
<item rdf:about="<MTCommentEntry><$MTEntryPermalink encode_xml="1"$></MTCommentEntry>">
<title><MTCommentEntry><$MTEntryTitle encode_xml="1"$></MTCommentEntry></title>
<link><MTCommentEntry><$MTEntryPermalink encode_xml="1"$></MTCommentEntry></link>
<description><$MTCommentBody encode_xml="1"$></description>
<dc:subject><MTCommentEntry><$MTEntryCategory encode_xml="1"$></MTCommentEntry></dc:subject>
<dc:creator><$MTCommentAuthor encode_xml="1"$></dc:creator>
<dc:date><$MTCommentDate format="%Y-%m-%dT%H:%M:%S" language="en"$><$MTBlogTimezone$></dc:date>
</item>
</MTComments>
これで Saveし,Index を Rebuild したら完成です. コメント通知のURLは,[http://サイトのURL/comments.rdf] になります. おしまい.
MT取説 半分くらい?
July 1st, 2003 | Published in 翻訳
細々と続けている,MovableTypeマニュアル日本語訳ですが,なんとか Template Tag のところを半分くらい終えました. ここが一番量多いのよね.そして一番レファレンスとして見るとこなのよね. というわけでがんがってやっております. ここさえ終われば,あとはちょいちょいちょいのはずなのです.