2007-02-04

vimを使ったシンタックス・ハイライト機能を追加

bloggerpost-0.0.9.tar.bz2

はてなダイアリーにはソースコードに色を付けて表示する機能がある。

ソースコードを色付けして記述する(シンタックス・ハイライト)

この対応しているファイルタイプというのを眺めて、ふと、これはひょっとしてvimのシンタックス・ハイライト機能を使っているのではないか、と思った。vimの豊富なハイライト機能は有名だ。自分のマシンの/usr/share/vim/vim70/syntaxを見てみたが、リストと同じくらいのシンタックスファイルがある。ほぼ間違いない。

ということは、bloggerpostでも真似できるのではないか、と調べてみると、/usr/share/vim/vim70/syntax/2html.vimというvimスクリプトを使えば、HTML を生成できることが分かった。ということで、この機能を使って、シンタックス・ハイライト機能を実装してみた。

preタグの中を

bpsyntax: ruby
class Foo
def bar'baz' # return baz
end
end

(:は半角の:を表している。RDでpreタグの中のエンティティをそのまま通す方法が分からない……。)

と言う風に記述すると、

class Foo
def bar'baz' # return baz
end
end

というように色がつくようになっている。

しかし、まだ調査不足で、vimのシンタックスの色を変更する方法が分からない。はてなはうまくspan要素とclass属性に変換できているようだ。多分、2html.vimに相当する部分を自作しているのだろう。ちょっと、この機能は改善の余地ありだな。

あと、前のエントリーに書いた更新と削除できない問題はANN: Blogger GData API changes, 1/30によると修正されたらしい。とりあえず、wwwをwww2に変更するTemporaryHackは削除。しかし、下のPostを見ると、まだ、なんかあやしいような気もするが。

0 件のコメント: