はてなスタイルで問題が

はてなスタイルを使うようにしたことによって簡単に日記を移し替えることができたのだけど、今日、一部の日記を開くと

Plugin Error

Errors in plugins? Retry to Update or Configure.

ArgumentError
malformed format string - %=

というエラーが発生してしまうのに気づいた。共通点を調べてみたところ、どうも、「ASIN」を使っているところで問題があるようだ。hatena_style.rb の 881 行目、

      sprintf('<%%=isbn "%s", ""%%>' % @str) # %=

のところがエラーの原因らしい。Ruby はあまりよく知らないので、なにが原因なのかわからないのだけど、エラーメッセージからすると、「%=」がフォーマット文字列として正しくないということのようだ。実際には、「%%」としてあるからこれは単なる「%」をあらわすということになるはずなのではないかと思うのだが……。
とりあえず、わからないなりに、この行を

      '<%=isbn ' + sprintf('"%s", "ASIN:%s"' , @str , @str) + ' %>'

というように書き換えてみたところ、エラーは発生しなくなったが、表示がおかしい。ASIN を使ったところより前の部分が丸ごと消えてしまう。また、A タグの中で使用した場合にも上記の置き換えが起こり、タグの対応がおかしくなってしまった。ソースを見ると、タグの中かどうかを確認しているようにも見えるのだが、謎だ。
あれこれいじってみたけれど、やはりそもそも Ruby がわかっていないところがネックとなり、原因究明には至らず。まあ、問題が起こるのは一部だけなので、その部分を amazon.rb の書式に変更してしまえば問題はないわけだけど。