̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

sb用“はてな風テキストフォーマット”の改造

sb用の「はてな風テキストフォーマット」という便利なプラグインを見つけたので早速利用させていただくことにしました。そして、二箇所ほど改造をしてみました。

スクリプトで一部おかしいところを発見して差し替えました。(2005/03/25 06:30)

  • サムネイルを貼ったときだけオリジナル画像へのリンクを張る
  • 脚注を付けたときに、本文中でもチップヘルプで内容を表示させる

サムネイルをクリックしてオリジナル画像が表示されたらいいなーと思い立ち、ちょっとだけ改造してみました。あと、このプラグインと出会うきっかけとなったblog*citronさんのサイトの記事のコメントに書かれていた、内容のチップヘルプ表示もやってみました。

実験したところでは何とか動いているようです。

一応、どこをどうしたか書いておきます。
まず、サムネイルにオリジナル画像へのリンクを付ける改造ですが、sbtext_format.plの280行目に、

while ($text =~ /\<img (.*?)\>/i) { # イメージタグ変換処理
my $img = &sbtxt_det($1);
$text =~ s/\&lt;img (.*?)\&gt;/<img $img>/i;
}

という部分がありますので、そこを以下のように書き換えます。行頭のタブは消えていると思うので必要であれば補ってください。なくても動きます。

while ($text =~ /\&lt;img (.*?)\&gt;/i) { # イメージタグ変換処理
my $img = &sbtxt_det($1);
if($img =~ /\/thm\d+_/){
my $img_org = $img;
$img_org =~ s/.+(s?https?:\/\/.+\/)thm(\d+_.+\.)(jpe?g|gif|png).+$/$1img$2$3/;
$text =~ s/\&lt;img (.*?)\&gt;/<a href=\"$img_org\" target=\"_blank\"><img $img><\/a>/i;
}else{
$text =~ s/\&lt;img (.*?)\&gt;/<img $img>/i;
}
}

これで、記事作成のときに、イメージ挿入で「サムネイル」と書かれたものを選択すれば、記事になるときにはオリジナル画像へのリンクが張られます。なお、上記内容を見れば明白ですが、問答無用で新しいウィンドウが開きます。(汗)

次に、脚注を付けたときに本文中の「*1」という部分*1にマウスカーソルを当てるとチップヘルプで内容を表示させる改造です。

130行目からの3行:
$foot .= $1 …
$foot .= $1 …
@note = split …

この3行を119行目(# 脚注リンク)の下(つまり120行目)に移動します。あるいは、130行目からの3行には行頭に#を入れておいて、120行目にコピーしてもいいでしょう。

すると、123行目と127行目にforから始まる行があるはずです。その中を少しばかりいじります。
それぞれ、「$body =~ 」と「$more =~ 」で始まっているはずですが、それを以下のようにします。要するに、title属性を追加するだけです。

$body =~ s/\&sbd;/<sup><a href=\"$url$cnt\" title=\"$note[$cnt-1]\">\*$cnt<\/a><\/sup>/;
$more =~ s/\&sbd;/<sup><a href=\"$url$cnt\" title=\"$note[$cnt-1]\">\*$cnt<\/a><\/sup>/;

これで終わりです。
おかしいところがあったら教えてください。m(_ _)m

  • *1 : こんなふうにチップヘルプとして表示されます。
jollyspace | sb(プラグイン) | コメント (0) | トラックバック (1)
Jolly Space Blog | 2005/03/29 10:57
こちらでちょっとお騒がせしてしまいましたので、罪滅ぼしも兼ねて(?)先日の改造に次ぐ第二弾。(改造の元になっているのは、そのお騒がせ...
∴page top