ruby-aws を Ruby 1.8.5 でも使うためのパッチ

May 6th, 2009

Amazon アソシエイトに登録して早速アサマシろうとしたら上手くいかなかった。

ruby-aws が Ruby 1.8.6 から導入された instance_variable_defined? を使ってるせいのようだ (このサーバーに入ってる Ruby は 1.8.5) 。

--- aws.rb.org	2009-03-29 08:04:23.000000000 +0900
+++ aws.rb	2009-05-06 12:42:22.000000000 +0900
@@ -314,10 +314,10 @@
 
 
       def to_s	# :nodoc:
-	if instance_variable_defined?( :@__val__ )
+	#if instance_variable_defined?( :@__val__ )
 	  return @__val__ if @__val__.is_a?( String )
-	  remove_val
-	end
+	#  remove_val
+	#end
 
 	string = ''

で、とりあえず動いた。

Ekfloras のプラグインを github に公開した

March 22th, 2009

自分の他に ekfloras を使っている人というと snj14 さんしか知らないのだけれど、とりあえず公開しておく。

ekfloras.rb も含め元のものからはいろいろ手を加えているので注意。

一応、自分で書いたプラグインに関しては簡単に説明を。

Archives
月別アーカイブ
Auth
はてなと flickr の認証 API に対応。Comment プラグインはこれのログイン情報を使うよう変更した
Categories
カテゴリーと記事数をリスト
Diary
ekfloras.rb からエントリを path_info でフィルタリングする部分を切り出してきたもの。あと、/yyyy/mm/entry-title/ みたいな WordPress 風のパーマリンクも使えるようにしている
EntriesKache
blosxom の entries_kache にちなんで。記事ファイルから時刻を読んで Entry#time に設定する
Gentime
X-Runtime をはく
NotFound
エントリがなかったら 404 Not Found を返す
XREA
XREA の標準エラー出力が標準出力と一緒に出力されるというよくわからない仕様に対処するためもの

Diary プラグインについて少し補足。これを書いたのは、Archives のようなプラグインでフィルタリングされる前のエントリのデータが欲しいのに filter フックの前に ekfloras がフィルタリングしてしまって困るので、この部分をプラグイン化して順序は priority で調整しようと思ったため。そういうわけで ekfloras.rb からはフィルタリング部を削除している。

Ekfloras に移行した

February 24th, 2009

WordPress もそんなに悪くないんだけど、内部でどのように動作しているの理解しておらずちょっといじりづらい (そして、ソースを読む気もない) ので、cho45 さん作の blosxom clone Ekfloras を使ってみることにした。

本体はわずか 200 行程度で実装されたツールながら、ちゃんとしたプラグイン機構があり、また本家 blosxom と違ってテンプレートを eRuby で書けるので使い勝手がいい。

移行に伴い本来ならエントリやフィードの URL が変わってしまうところだが、plugin を書いたり、mod_rewrite で書き変えたりして、元の URL でアクセスできるようにしている。

« ‹ 1 › »