« 2006年2月19日 - 2006年2月25日 | トップページ | 2006年3月12日 - 2006年3月18日 »

2006年3月 4日 (土)

Navi2ch でインラインに画像を表示する (Referer もつける)

最近の Emacs は画像をインラインに表示できるが、Navi2ch そのものは掲示板の画像をインラインで見ることができない。しかし、《2chログ:Navi2ch for Emacs (Part 11)》の 888 の記事にインライン表示をする elisp とそれ用のシェルスクリプトが書いてあった。

それを Meadow と Cygwin の bash を使って走らせることにする。Cygwin の ImageMagickも使えるようにしておかねばならない。

続きを読む "Navi2ch でインラインに画像を表示する (Referer もつける)"

2006-03-04 06:44:26 (JST) in Cygwin, Emacs/Meadow | | コメント (2) | トラックバック (0)

2006年3月 2日 (木)

ココログプロで Google サイトマップインデックスを作る

なかなか Google がクロールしてくれないので、Google Sitemapの機能を試してみる。Google Sitemap には Atom 0.3 でも良いから当初はそうしていたのだが、2 週間ほどたっても音沙汰なしだったので Google Sitemap 専用の XML フォーマットを使うことにした。

すでに下記参考のようにいくつかのサイトで Movable Type や Type Pad のテンプレートを使って Sitemap を作る試みがなされている。しかし、それらのテンプレートはあくまで一つのブログを対象にしたものでしかない。このサイトは複数のブログを管理しており、一つ一つブログのサイトマップを登録することもできるのだが、Google Sitemap Index という形式を使えばよりスマートに Sitemap を作ることができそうだとわかった。

続きを読む "ココログプロで Google サイトマップインデックスを作る"

2006-03-02 03:12:23 (JST) in ウェブログ・ココログ関連 | | コメント (4) | トラックバック (1)

2006年3月 1日 (水)

DDwin.js をダブルクリックで呼べるようにする

Firefox の拡張に DictionaryTip があります。ダブルクリックすると goo 辞書などを引いてミニウィンドウを出してくれるものです。同じようなことを《DDwin.js》を用いてやるには、JSActions のスタートアップスクリプトを可能にして、そのスクリプト内で、イベントリスナーにダブルクリックに対して DDwin.js を呼ぶよう登録するだけです。

0.
すでに firefox_jsa/selection/DDwin.js があるとします。
1.
JSActions の設定で Enable Startup Script のチェックボックスを on にします。
2.
firefox_jsa/startup というフォルダを作ります。
3.
そこに次のような DDwin-by-Dblclick.js を置きます。


以上でできるようになるはずです。

// DDwin をダブルクリックで起動。
// firefox_jsa/selection/DDwin.js を呼ぶ。

if (document && "addEventListener" in document) {
    document
        .addEventListener("dblclick", function (e) {
            if (/* e.ctrlKey && */ e.button == 0) {
                var scrList = JsActions.getScriptList("selection");
                for (var i in scrList) {
                    var scr = scrList[i];
                    if (scr.path.match(/DDwin.*\.js$/i)) {
                        JsActions.execScript(scr.path, scr.uri, e);
                        e.stopPropagation();
                        break;
                    }
                }
            }
        }, true);
}


selection/DDwin.js がなく、Button/70_NL_DDwin.js のみがある場合は、もちろん、selection/DDwin.js を置くか、上の JsActions.getScriptList("selection") を JsActions.getScriptList("Button") に換えれば OK です。
更新: 06/03/01
初公開: 2006年03月01日 19:47:02
最新版: 2006年03月04日 07:49:55

2006-03-01 19:46:57 (JST) in Firefox | | コメント (0) | トラックバック (0)

2006年2月27日 (月)

DDwin を Firefox や Meadow から使うとき latin-1 のアクセント記号を抜くようにした。

Firefox について同じようなことをやってる人がいた。《chez sugi:firefox と DDWin》を参照すると、EPWING の規格上、独仏語だとアクセント文字がないほうが良いらしい。ちなみに latin-1 の文字列を sjis にencode しようとすると、アクセント記号と文字にわかれるのではなく、文字化けしてしまう。

そういったわけなので、アクセント付の文字をいちいちアクセントなしに変換する関数を書いた。私は独仏語辞典を持ってないから、Deja vu とかそのあたりの国語辞典に載ってる単語でしか確認できないけど。

ついでなので、《ddwin.el》のほうにも同じような関数を書いた。できたスクリプトについては《DDwin.js》へ。
更新: 06/02/27
初公開: 2006年02月27日 00:37:55
最新版: 2006年02月27日 10:01:42

2006-02-27 00:37:52 (JST) in Emacs/Meadow, Firefox, Windows アプリ | | コメント (0) | トラックバック (0)

2006年2月26日 (日)

Windows のコマンドライン cmd.exe 用のエスケープってどうやるの?

ActivePerl からパイプを使って GnuPG を起動しようとしたが、 perlipc に載ってる方法ではダメみたい。pipe の fileno で取ったファイルディスクリプタもうまく渡せないみたいだし。

それで次のようなことをしようとしたんだけど、pipe のコマンドの引数をリストでは渡せないっていわれる。

open(GPG, '-|', $GPG, '--list-keys') or die;


しょうがないので、コマンドラインを連結しましょうということになったのだが、Windows の cmd.exe の構文がわからない。

ググってみると《CMD.EXE TIPs》という Wiki に構文が書いてあった。そこの文章を参考にいろいろ試してみたけど、次みたいのでいいのかな?

sub quote_for_command {
  my $r = "";
  while (@_) {
    my $arg = shift;
    $arg =~ s/\%/^\%/gs;
    $arg =~ s/"/"""/gs;
    $r .= " " if $r ne "";
    $r .= "\"$arg\"";
  }
  return $r;
}


でもこういうのは需要あるはずだから探せば見つかりそうなものなのに、 Perl でやってるのを、ちょっと見つけられなかった。
更新: 06/02/26
初公開: 2006年02月26日 05:47:05
最新版: 2006年03月11日 03:58:07

2006-02-26 05:47:03 (JST) in Perl, Windows アプリ | | コメント (0) | トラックバック (0)

native2ascii.pl をいちおう作ってみた

Firefox の .xpi をいじろうとすると、locale の部分で .properties の拡張子を持ったファイルを JAVA で使える形式にしないとダメなんだそうだ。そのためのコマンドとして native2ascii というものが JDK に入っているらしい。

ただ、それだけのために JDK を入れるのもバカらしいので、Perl のスクリプトを書いてみた。native2ascii.pl がそのファイル。

ものすごいテキトー。フィルタらしく一行づつ処理せず、ファイル全部をいったん読んで、一気に処理してる。--encoding=japanese と指定すると自動判別するんだけど、guess_encoding も最初の n バイトとかじゃなくて、全部わたして guess させてる。

まぁ、自分が使えりゃそれでいいし、ダメだったら JDK をすなおにインストールすればいいし。

更新

2006-02-28
Surrogate Pair に対応。
Javaにおける文字/文字列の扱い方》を参考に \uuXXXX に対応。
2006-02-26
公開。
更新: 06/02/26,06/02/28
初公開: 2006年02月26日 05:31:34
最新版: 2006年02月28日 03:47:16

2006-02-26 05:31:33 (JST) in JRF 作成ソフトウェア, Perl, Windows アプリ | | コメント (1) | トラックバック (1)