idxctx プラグインというのを作ってみました。

例えばエントリーアーカイブで、ブログ全体の最新コメントをサイドバーに表示させたい場合。 MTの仕様では難しい(出来ない?)んですよね。 該当のエントリーのコメントだけがMTCommentsの対象になるので。 例えば月別アーカイブで、ブログ全体の最新エントリーをサイドバーに表示させたい場合。 出来ないんですよね。該当の月のエントリーだけがMTEntriesの対象になるので。 そこで、MTIndexContext というコンテナ・タグを追加するプラグインを作りました。 indexcontext.zip このコンテナ・タグで囲んだ箇所は、一時的にインデックステンプレートと同じ振る舞いになります。 これは、なにげに便利なんじゃないかな、と思います。例えば、全てのアーカイブページでメイン・ページと同じサイドバーを表示させたい場合、WidgetManagerを使っているなら全てのアーカイブテンプレートに以下のような記述をするだけで済むようになります。 <MTIndexContext> <MTWidgetManager name="MyWidget"> </MTIndexContext> インストールは、zipを解凍して出てくる「indexcontext.pl」ファイルをpluginsディレクトリにアップロードするだけです。 早速このブログにも適用してみました。 カテゴリーアーカイブは使っていませんが、エントリーと月別のアーカイブで、メインと同じ出力が得られていますのでご確認ください。 Widgetの操作だけでメインページと全アーカイブのサイドバーが変更できるので、非常に楽チンです。 ただし。欠点。小一時間格闘したのですが、ダイナミック・パブリッシング用のPHPが出来てません。perlと根本的な仕様が違っていて、なかなか難しそう。ていうか今の僕には実現できそうにありません。だってPHPなんて触ったこと無いんだもの。 3月21日追記 あんちもん2.Labさんがダイナミック・パブリッシングに対応させてくださいました! すごい! あんちもん2.Lab: ダイナミック・パブリッシング対応 indexcontext プラグイン 感謝感激です。

February 5, 2007

エントリー書くのをサボっているとメールで警告してくれるプラグイン作りました。

今年こそ、毎日、とは言わないまでも、3 日毎にはブログを書こう、と目標を立ててはや一ヶ月。呑んだくれているとあっという間でした。 これじゃいかん。なんという意思の弱さ! というよりも、単に忘れているだけな事も多いですよね。 そこで、最後にエントリーしたときから一定時間が経過するとメールで教えてくれるプラグインを作りました。 AlertEntryInterval_20070204.tar.gz AlertEntryInterval_20070204.zip 追記: 2/4 01:22 時間計算が上手く行っていないようなので修正版(version 0.11)をアップしました。環境によって動作が違うようです。。。使ってみたけど時間がおかしい、という人はご報告ください。インストール: ダウンロードしたファイルを解凍すると、解凍先フォルダの中に「plugins」というフォルダが出来ると思います。その中の「AlertEntryInterval」フォルダを、お使いの MovableType の「plugins」ディレクトリにアップロードしてください。 設定: デフォルトではメール通知は有効にはならず、管理画面の何箇所かにうざいタイマーが表示されるだけです。 システム管理者でログインして、システム・メニューのプラグインから設定を行ってください。 設定内容については、まあ分かると思います。不明な点はどうぞこのエントリーのコメントにでも書いてくだされば180%お答えします(約二回返信する計算)。 注意点 1: 使っているサーバーで、mtからのメールの送信が可能かあらかじめ確認して置いてください。 また、現在の仕様では、お使いの MT の全ての投稿者が自動的に対象になります。複数人で運用されている場合、変なメアドを入れている人がいると、変なところに変なメールが飛んで余計なトラブルになるかもしれません。ご注意ください。 注意点 2: スケジュール・タスク機能を利用しているので、cron等で定期的にmtのスケジュール・タスクが実行されている必要があります。 ログフィードをBloglinesなどで取得しておくのが一番手っ取り早いのでは無いでしょうか。

February 4, 2007

FastCGI

Movable Type が3.34でFastCGIに対応したということで、自宅Ubuntuで試してみた。 結果。 滅茶苦茶はええええくなった。なんだこりゃ。 SQLiteで試したのだが、エントリーの投稿とか全然違う。 なんにせよ、導入が楽な上効果抜群のようなので、超おすすめです。 以下、Ubuntu Serverでの導入で苦労した点の個人メモ。 ・FastCGIのインストール aptitude searchで見つかる「fcgid」は別物。MTは対応していないようだ。 aptで入れる場合のパッケージ名は「libapache2-mod-fastcgi」です。 見つからない場合は、適当に/etc/apt/source.listにリポジトリを追加すること。 で、 sudo a2enmod fastcgi sudo /etc/init.d/apache2 restart とすればFastCGIが有効な状態でApach2が起動する。 ・MT実行時のapacheの設定 以下参考。 Running Movable Type Under FastCGI 要するに、.htaccessか、/etc/apache2/sites-available/defaultなどのhttpd.conf系ファイルで、cgiファイルをfastcgiで実行するように指定してやればよい。それだけで問題なく動くみたい。 #AddHandler cgi-script .cgi AddHandler fastcgi-script .cgi

January 26, 2007

PSP買った

昨日、中古で14900円で購入。やや画面に汚れがあったが問題なし。 で、ゲーム屋ではメモリースティックが馬鹿高い。32Mしか売ってない。 狙いは2Gのもの。新宿ヨドバシでも高かったので、昨日は購入は諦め、今日改めて秋葉まで。 S師の教えに従い、指示通りの店までいったところ、ヨドバシ比で3000円安く購入できた。 アキバスゲー。今まで馬鹿にしていたよ。今度から毎週通おうと思います。...

January 20, 2007

CustomEditorButton 0.1

MT4に対応したCustomEditorButton2を公開しました! Movable Type のエントリー編集画面に、自由にボタンを追加できるプラグインです。3.3 専用です。 CustomEditorButton0.1.tar.gz CustomEditorButton0.1.zip システムメニューの「ボタン」からボタンの追加、編集が行えます。

January 11, 2007

UbuntuServerにImage::Magickが入らない!

スタート時の状況はこう aptitude searchではperlmagickが見つからない cpanからインストールしても動かない 以下を行い何とかインストールできた。 cpanで入れたImage::Magickを前回のエントリーの1,2の方法でアンインストール /etc/apt/sources.listに以下の行を追加 deb http://ubuntu.mithril-linux.org/archives/ edgy main universe aptitudeのパッケージリストを更新 sudo aptitude update aptitudeでインストール...

January 6, 2007

aptitude で libxml-sax-perl が入らない!

こんな感じのエラーが発生する。 libxml-sax-perl (0.12-5) を設定しています ... Can't locate object method "save_parsers_debian" via package "XML::SAX" at /usr/bin/update-perl-sax-parsers line 90. dpkg: libxml-sax-perl の処理中にエラーが発生しました (--configure): サブプロセス post-installation script はエラー終了ステータス 255 を返しました これは、エラーメッセージにもあるようにdebian特有の問題らしい。家のUbuntu サーバーでも発生した。以下解決ページ http://bugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=229178 aptitudeでインストールする前にcpanでXML::SAXをインストールするとハマルらしい。 解決するには以下の方法で。 perlモジュールをアンインストールするスクリプトを用意。http://www.cpan.org/misc/cpan-faq.html#How_delete_Perl_modulesのスクリプトをコピーして、remove.plとして貼り付け保存。冒頭のパスは「/usr/bin/perl」に変えておく。 スクリプトを実行。sudo ./remove.pl XML::SAX aptitude から入れなおす。sudo aptitude install libxml-sax-perl

December 31, 2006

携帯からテスト - 携帯からテスト

携帯からテスト 今度はどうなるでしょうか

December 25, 2006

moblogのテスト - moblogのテスト

moblogのテスト plaggerを利用して、moblogできる仕組みを作ってみます。 (といいつつこのメールはThunderbirdで書いていたりする・・・) このネタをあまり聞いたこと無いのは、moblogのためにplaggerまわしっぱなし にするのはちょっと大袈裟だからでしょうか。 yamlはこんな感じ。 <pre class="code"> global: assets_path: /usr/share/plagger/assets timezone: Asia/Tokyo plugins: - module: CustomFeed::POP3 config: host: exapmle.com username: moblog@example.com password: base64::koudesuka? ssl: 1 delete: 1 - module: Publish::MT config: rsd: http://blog.aklaswad.com/rsd.xml username: mtuser password: base64::wakarimasen>< blog_id: 1 </pre> 果たして上手く行くでしょうか!?

December 25, 2006

EntryFullText - SoccerUndergroundBlog

サッカー関連サイト用EFT第二弾。こんな雑なつくりで良いのかしらん。 assets/plugins/Filter-EntryFullText/soccer_UG_blog.yaml author: aklaswad handle: http://soccerunderground\.com/blog/.* extract: <div class="blogbody">.*?</div></h3>(.*?)<div class="posted"> extract_capture: body

December 23, 2006

Filter::EntryFullText WorldSoccerPlus

これは待っていても誰も作らないだろうということで、見よう見まねで作ってみた。 author: aklaswad handle: http://wsp\.sponichi\.co\.jp/.* extract: <div id="etbody">(.*?)</div>\n<div id="etmore">(.*?)</div> extract_capture: body_1 body_2 extract_after_hook: | $data->{body} = "<p>".$data->{body_1}."</p><p>".$data->{body_2}."</p>";

December 19, 2006

FaviconManager 0.1

Movable Typeの管理画面からFaviconを設定できるプラグインを作りました。 FaviconManager0.1.tar.gz FaviconManager0.1.zip 一般的には、ブログにFaviconを埋め込む場合、テンプレートをカスタマイズして実現していたと思います。 ですがその場合、あっちもこっちもテンプレートを弄らなければならず、煩雑な作業が必要でした。 そこで、このプラグインでは新規にブログを作成する際に自動的にテンプレートを書き換えるように設計しました。 前々回エントリーのMovable Type の管理画面にfaviconを設定するプラグインの機能も引き継いでいます。 インストール方法 ファイルを解凍して、「FaviconManager」ディレクトリを丸ごと、Movable Type の「plugins」ディレクトリにアップロードしてください。 準備 あらかじめ、faviconとして利用できる画像ファイルを、ftpやMovable Typeの「ファイルのアップロード」などを使用してサーバーにアップロードしてください。 テンプレートにfaviconのリンクを挿入 新規ブログを作成する場合は、自動的にテンプレートにfaviconへのリンクが挿入されます。 既存のブログにfaviconへのリンクを挿入することもできます。 システム・メニュー内、ブログ一覧の「その他の操作」に「テンプレートにfaviconを追加」というメニューが追加されているので、リンクを追加したいブログを選択して「テンプレートにfaviconを追加」を実行してください。 ※テンプレートをカスタマイズされている場合、ブログのテンプレート書き換えの際に、書き換えに失敗する可能性もあります。その場合は、全てのHTMLファイルを出力するテンプレートのhead内に以下のテンプレートを挿入してください。 <MTHasFavicon><link rel="shortcut icon" href="<$MTFaviconURL$>" /></MTHasFavicon> faviconを登録 システム、あるいは各ブログの「プラグイン」メニューからFaviconManagerの「設定を表示」を選び、faviconの画像ファイルのURLアドレスを指定してください。 ブログのメニューでは、各ブログで使用するfaviconを指定できます。 システムのメニューでは、各ブログでの指定がない場合に使用するfaviconと、管理画面のfaviconを指定できます。 ブログのfaviconを設定、変更した場合、ブログ全体の再構築を行ってください。...

December 13, 2006

I am G1 winner!

ついにG1勝てました。 われらが期待の6歳馬チャンジャフイタ号が爆発的な末脚を発揮し、スーパーマイルステークスを制しました! サントリーのキャンペーンサイト bossvegas で遊べる競馬ゲームです。...

December 3, 2006

Movable Type の管理画面にfaviconを設定するプラグイン

cmsfavicon.zip Movable Type の管理画面にfaviconを設定するtransformerプラグインです。3.3系でしか動作しないはずです。 pluginsディレクトリに展開したら、システム・メニューのプラグインからfaviconのURLを指定してください。上手く行けば、即座に反映されるはずです。Firefox2.0で動作を確認しました。

October 30, 2006

色々弄った

久しぶりに色々やってました。 mt3.33にアップグレード(今更) dbのアップグレードも無いので、特に苦労なし。 個人的な備忘録用にmtをインストール 自宅鯖にインスコ。サクサク書ける様に、Text::HatenaでMTプラグイン。 (ささやかなる実験場の開発室):を参考にはてな記法に対応してみる。 my $entry = $ctx->stash('entry');ココが上手く動かない。どうやら$ctxが渡されていないみたい。なぜぇ。 とりあえず、$ctxが空のときはpermalinkを指定しないことで回避。 これで記事の書きやすさが200%にアップした。約2倍書く計算。 まあ、はてな記法を使ったことは無いわけだが。 Firefoxについて色々調べた 自宅ノートを2.0にあぷぐれど。 アドオンの仕様についてざっと調べる。 アドレスバーに「about:config」で設定編集が出来る。初めて知った。スゲー。 同様に「about:cache」なんてのも便利。 ブックマークを整理 普段あまり使わないブックマークって、実際問題必要ないよね。 ということで、日常的に使わないものはブックマークツールバーからすべて退避。 そして、Favicon Pickerを使って、日常的に使うものをアイコンのみの状態でツールバーに並べていく。ツールバーがすっきりしてかなり良い感じです。 FaviconPicker は気づいたらfirefox2.0に対応したようですが、こちらは未確認。 アイコンの画像はbookmarks.htmlに埋め込まれているので、そのまま他のクライアントに移植可能。 bookmarkはインポート・エキスポートで移動すると却って混乱するので、直接bookmarks.htmlを挿げ替える。firefoxが起動している状態だと上手く行かないので、終了させてからファイルを入れ替えること。 フィードを整理 Bloglinesのフィードをフォルダに整理。 Plaggerではまる しげふみメモ:PlaggerでBloglinesのフォルダ別にGmailへ送る:...

October 29, 2006

TagCloudPlus

mt3.3標準のプラグイン、WidgetManager用のWidgetを作ってみました。 といっても標準のタグクラウドに毛が生えたようなものですが。 sizeとcolorの「+」「-」をクリックすると、それぞれフォントサイズと色の濃淡を動的に変更できます。 もうちょっと使い勝手を良くしたいですね。 また、少しアニメーションを入れてみたら面白いかもしれません。 使い方 ・使いたいブログのテンプレート編集画面で「テンプレート・モジュール」を開く ・「モジュールを新規作成」をクリック ・テンプレート名に「Widget: タグ クラウド プラス」を入力(名前は何でも良いのですが、「Widget: 」の部分を変えると動きません) ・モジュールの内容に以下のコードを貼り付けて「保存」 <!-- name: TagCloudPlus author: Akira Sawada version: 0.3 --> <div class="module-tagcloud module"> <h2 class="module-header">Tag cloud Plus</h2> <div class="module-content" id="tag_cloud_plus_info"> </div> <div class="module-content"> <a href="javascript:void(0)" onclick="sizeDown()"> << </a> size : <span id="tag_cloud_plus_size_info"></span> <a href="javascript:void(0)" onclick="sizeUp()"> >> </a><br /> <a href="javascript:void(0)" onclick="sizeBaseDown()"> << </a> basesize : <span id="tag_cloud_plus_size_base_info"></span> <a href="javascript:void(0)" onclick="sizeBaseUp()"> >> </a><br /> <a href="javascript:void(0)" onclick="colorDown()"> << </a> color : <span id="...

July 29, 2006

StyleRepositoryToolKit

現在、StyleCatcher用の、リポジトリ公開ツールキットを作成中です。 上手く行けば、リポジトリ公開をmt上で行えるので、手間が大分削減されるはずです。 ダウンロード概要 StyleRepositoryToolKitプラグインは、StyleCatcherのスタイルリポジトリの公開を簡便化することを目的としたMovableType用プラグインです。 このプラグインを使用することにより、サーバー上に設置されたスタイルリポジトリのスタイルの一覧や、スタイルの詳細な情報ページを、MovableTypeのテンプレートとして設計することが出来ます。 スタイルリポジトリの作成方法については、以下のsixapartサイトのページに説明があります。 http://www.sixapart.jp/pronet/developers/movabletype/stylelib.html コンテナタグ MTSrtkStyles 指定されたディレクトリでcssファイルを検索して、見つかった数だけループするコンテナタグです。 localpath リポジトリのサーバー内でのパスを指定します。 webpath リポジトリが公開されるURLを指定します。 変数タグ 以下のタグは、コンテナタグ「MTSrtkStyles」の内部でのみ使用できます。 MTSrtkStyleURL cssファイルへのurlを表示します。 MTSrtkFileName cssのファイル名を表示します。 MTSrtkLinkTag リポジトリ作成用のlinkタグを表示します。 MTSrtkLargeImageURL サムネイル大へのurlを表示します。 MTSrtkSmallImageURL サムネイル小へのurlを表示します。 MTSrtkMetadata cssに埋め込まれたメタデータを表示します。 name メタデータのキーを指定します。

July 26, 2006

mod_proxy

友達に借りた本に、「簡単な道と難しい道があったら、難しいほうを選べ。」とか書いてあった。 といっても、茫漠とした人生論では無い。単純に技術系ベンチャーでの製品開発の心構えとして、競合に対してアドバンテージを得るために、習得が困難でもより強力な方法を(文中では「プログラム言語を」)選択しろ、ということだ。 最初の2章程は、なんだか、何故学校でオタクがいじめられるのかをひたすら弁解していて、嫌になったが、後半のテクニカルな話になると俄然面白くなってくる。コンピューター言語の歴史みたいなことに興味があって、Lispはどのような経緯で実装されたか、なんて話で興奮できる奇特な人にはお奨め。 現在、我が家のデスクトップ上ではApacheが2つ起動している。 windows上のapache1.3と、debianで動作しているapache2だ。(ちなみにdebianはVMWareで動いてます。) 都合上、コンテンツをまとめることは出来ないが、ルータ越しにはどちらかにしかアクセスを振り分けることが出来ない。 コレを回避するために色々考えてみた。 考えられる方法はふたつ。 ・片方のポートを変更する 利点 : 設定が簡単。 欠点 : アドレスがかっこ悪くなる。 ・内部proxy + mod_rewriteを使う。 利点 ; アドレスがスマートになる。 欠点 : 設定が難しそう。 ということで、本にコロッと影響されて、apacheを弄ることにした。 apache2のパッケージに全て入っていたので、再コンパイルも必要なし。 ココなどを参考にして、さくっと設定できました。 #a2enmod proxy #a2enmod rewrite で、/etc/apache2/mods-enabled/proxy.confを修正して、RewriteRuleを[P]オプションつきで指定すれば完了。...

July 17, 2006

ネット止められてました

下のエントリーでtracを偉そうに公開したのも束の間、料金不払いで半日ほどネット止められてました。うほ。 IP変わっちゃったので、まだ繋がらない場合もあるかもしれません。

July 16, 2006

trac

trac をインストールしてみた。

July 15, 2006

MTIfSearchIncludeBlogs 1.0

Movable Type で検索を行う場合に、あるブログが検索対象となっているかで処理を変更する条件タグ「MTIfSearchIncludeBlogs」を追加するpluginです。 MTIfSearchIncludeBlogs.zip 考えられる主な使い方は以下の二つ。 ・複数ブログの検索フォームで、値を引き継ぐ ・特定のブログでの検索をされたくないときに、ごっそりテンプレートを切り替える。 使い方はこんな感じ。 <MTIfSearchIncludeBlogs value="1"> hogehoge </MTIfSearchIncludeBlogs> アトリビュート:valueに判定したいブログのIDを入れる。複数のブログIDをカンマ区切りで指定できる。 追記 16,jul 06: 最新版はこの辺から。...

July 15, 2006

Vista beta2 + word 2007 beta からテスト

Test なぜword はこんなに重いのですか

June 17, 2006

どうにも困難が多いvista

インストールまでは、えらい苦労しました。 まず、ベータに応募してプロダクトキーを貰うためにmicrosoftのサイトに諸事項を記入してメールを受け取る必要があるのだが、なぜかメールが届かない。 (これは、メールサーバ側でのスパムフィルタに引っかかっていたことが原因だと思われる。) 次に、ダウンロード自体、うまく始まらず、「今ビジーなのごめんね」とのページに飛ばされまくり、日本語版がどうしてもダウンロードできない。 仕方なしに英語32bit版を落とし始めた。 ハードディスクの奥から、ほとんど使ったことのないダウンロードツールを引っ張り出して使ってみたのだが、S氏の予言どおり、見事に失敗していた。一日放置して落ちていたのは、件の「今ビジーなのごめんね」ページであった。 次に、microsoft推奨のダウンロードツール「akamai」を使用して落とすことにした。 (これもインターネットオプションの設定を弄らないと動かなかった。) そしてやっと英語32bit版のisoを入手。dvdに焼いて早速インストール。失敗。パリーン。なぜぇ? インストール途中でエラーが発生して、だめでした。 ダウンロードかdvdのライティングかでファイルが破損したかハードとの相性なのか、何が悪かったのかは結局わからないが、たぶん俺のラブゲイツが足りなかったのだろうと思い、しばしamazonで桜玉吉「ゲイツちゃん」について検索したりする。 増幅されたラブゲイツのおかげか、その後2chで「日本語版が落とせない場合は、キャッシュを削除するといいお」との情報を得て、日本語64bit版を入手。終にvistaのインストールに成功する。i got it! しばしその美しいguiと戯れた後、IISをインストールしてMTのベータを動かして「ゲイツ様の最新OSで表示がおかしいとはどういうことでしか!!!」などとsixapartにいちゃもんをつけてやろうと思い立ち、まずはperlでも入れようとActiveStateのサイトに行ってみると、こっちでもダウンロードサーバが落ちてやがる。...

June 11, 2006

windows vista beta2

windows vista beta2 をインストールしてみた。見た目がきれい。それだけで満足ですよ。ええ。 私は CUI でゴリゴリハックするような人にはなれません。

June 11, 2006

MT-3.3-b1

ベータが出ていたので、取り敢えずアップグレードしてみる。 デザインも問題なく移行できたが、動作を見てみたかったのでデフォルトに戻す。 タギング機能が追加されたのが、目玉かな。 過去のエントリー数も少なめだったので、一通りタグ付けしてみる。 すでに全てのエントリーがカテゴリーに分けられているので、 エントリー一覧からカテゴリーごとにフィルタリングしてビシバシとタグをつけていく。 なかなか便利。 「Movable Typeの新しいバージョンについて」では、タグクラウドも実現できるように書いてあったので、システムテンプレート中の「検索結果のテンプレート」にあったタギング関係のタグを参考に適当にサイドバーにでっち上げてみる。ぐちゃぐちゃだ。 うまく調整する方法も用意されているかもしれないが、ドキュメントはまだ出ていないようなので、よく分からん。 <MTTags><font size="<$MTTagCount$>"><a href="<$MTTagSearchLink$>"><$MTTagName> </a></font>, </MTTags>

June 3, 2006

from feedpath

feedpathから初テスト投稿。 feedpath tags: mt  generated by feedpath なかなか良くできている感じ。

May 23, 2006

perlオブジェクト、リファレンス、モジュール

東京医科歯科大の患者さんに付き合ってもらって、昨日買った、この本。 評判通りの良書なのですが。ひとつ。 あちこちで言われていたような気もするのですが。 「@ISA」というキーワードがperlにはあるそうで。 あるファイルの識別子は、別の識別子と等価の関係 「A is a B」 である、という意味の命名なのですが。 このテクストの中では一貫して、(ある種類の動物)は、動物だ、という文脈を例文として当てはめているのですよ。 例えばこんな感じ。 (the dog) is a (Animal)...

May 21, 2006

大掃除作戦:その後

あの壮絶な戦いから2週間が経った。 この一週間、毎朝ごみだめのような混沌とした部屋で目を覚ます自分がいる。...

May 20, 2006

ベーシック認証 on windows apache

ウチのwin機のウェブサーバに、.htaccessファイルを置いてベーシック認証をかけようとしたのだが、何故か上手くいかない。色々調べた結果、以下のことについて分かった。 ・パスにスペースが含まれる場合などの必要な場合、apacheのdirectiveではダブルクォートで文字列をまとめることが出来る。基本的なことだが、ふと上手くいかなかったときに不安になるのでメモ。 ・windows版のapacheでは、AuthUserFileで指定したファイルに含まれるパスワードの暗号化にはcrypt()ではなく、MD5を使用する。...

May 20, 2006

perl学習のtimeline

今、漸く一冊目が読み終わったところ。先は長い。金が持たない。オライリーばっかし。

May 16, 2006