|
Namazu for hns による簡易全文検索 詳しくは 詳細指定/ヘルプを参照して下さい |
||||||||||||||||||||||||||||||||||||||||||||
2008年06月14日(土) 旧暦 [n年日記] [更新:"2008/06/15 02:19:28"]#1 [Namazu] (File::MMagic) $magic->addMagicEntry の設定方法
恥ずかしながら、
実は namazu に filter を追加する時の
addMagicEntry の意味が良く分っていなかった。
sub add_magic ($) {
my ($magic) = @_;
# See perldoc File::MMagic or man 5 magic for the syntax of following line.
# If the first line starts with <HTML or <html, it will be recognaized as
# text/html; x-type=hoge
$magic->addMagicEntry("1\tstring/c\tHTML\ttext/html; x-type=hoge");
return;
}
これは上の注に書いたように File::MMagic の説明を perldoc File::MMagic で見る
か、更にその中に書いてある man 5 magic をすれば分る話で、
offset type (pattern) messageを" の場合には \t" か TAB で、また 'の場合なら TAB で' 区切って書く、というもの だということがやっと分った。もっともずうっと昔に mhonarch の例を見て、 見よう見真似で書いていたことはあるのだけれど。 上に示した例だと、<HTML あるいは <html と書いてあることを期待しているもので、 offset 1 なので二文字目から、 /c が付いているので大小文字の区別なく、 HTML という文字があれば(全て) text/html; x-type=hoge という文字を表示する(返す)、 という意味になる。実はこの場合には、全ての HTML 形式は x-type=hoge という形で 処理をしたい、ということ。追加した filter に、次のように書いておくと、 この magic 判定に合った場合には、ここに来るようになる。
sub mediatype() {
return ('text/html; x-type=hoge');
}
( つっこみ )
|
最近の日記 2025年11月22日 ・crash dump 2025年10月25日 ・recover from disk error 2025年10月23日 ・dd does not duplicate Windows 11 boot disk ? 2025年10月13日 ・missing package 2025年10月04日 ・pkgin search pkgname segfaults | ||