Namazu-win32-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: mknmzrcの$META_TAGS設定に関して
寺西です。
Tadamasa Teranishi wrote:
>
> ・NMZ.filed.author を生成するバグを取り除く
> ・$META_TAGS, --meta を指定しなくても、
> META タグの author はデフォルトで NMZ.field.from に入れるものとする。
> この場合、META タグの author を LINK や ADDRESS より優先する。
> ・$META_TAGS で authro が指定されても無視する。
> という対応を行うのが良いかと思います。
という対策と、
> > 2. $META_TAGSにdc.titleのようにピリオドを含む記述をすると、
> > 『mknmz: フィールド検索用のインデックスが開けませんでした』となる
の対策を施した stable-2-0 の差分を示します。
(Namazu 2.0.12 との差分でなくて申し訳ない。)
Index: filter/html.pl
===================================================================
RCS file: /storage/cvsroot/namazu/filter/html.pl,v
retrieving revision 1.32.4.8
diff -r1.32.4.8 html.pl
146a147
> # <META NAME="AUTHOR" CONTENT="author">
149c150,152
< if ($$contref =~ m!<LINK\s[^>]*?HREF=([\"\'])mailto:(.*?)\1\s*>!i)
{ #"
---
> if ($$contref =~ m!<META\s[^>]*?NAME=([\"\']?)AUTHOR\1\s[^>]*?CONTENT=([\"\']?)(.*?)\2\s*>!is) {
> $fields->{'author'} = $3;
> } elsif ($$contref =~ m!<LINK\s[^>]*?HREF=([\"\']?)mailto:(.*?)\1\s*>!i) {
201,207c204,213
< while ($$contref =~ /<meta\s+name\s*=\s*([\'\"]?)$key #"
< \1\s+[^>]*content\s*=\s*([\'\"]?)([^>]*?)\2[^>]*>/gix)
< {
< $fields->{$key} .= $3 . " ";
< }
< util::dprint("meta: $key: $fields->{$key}\n")
< if defined $fields->{$key};
---
> if ($key !~ m/^author$/i) {
> my $quotekey = quotemeta($key);
> while ($$contref =~ /<meta\s+name\s*=\s*([\'\"]?)$quotekey #"
> \1\s+[^>]*content\s*=\s*([\'\"]?)([^>]*?)\2[^>]*>/gix)
> {
> $fields->{$key} .= $3 . " ";
> }
> util::dprint("meta: $key: $fields->{$key}\n")
> if defined $fields->{$key};
> }
Index: scripts/mknmz.in
===================================================================
RCS file: /storage/cvsroot/namazu/scripts/mknmz.in,v
retrieving revision 1.85.4.41
diff -r1.85.4.41 mknmz.in
674c674,680
< push @keys, (split '\|', $conf::META_TAGS);
---
> my @meta = split '\|', $conf::META_TAGS;
> while (my $meta = shift(@meta)) {
> $meta = $conf::FIELD_ALIASES{$meta}
> if (defined $conf::FIELD_ALIASES{$meta});
>
> push @keys, $meta;
> }
1807c1813
< if ($tmp =~ m!((^.*/NMZ\.field\.[^\.]+(?:\.i)?)\.tmp)!) {
---
> if ($tmp =~ m!((^.*/NMZ\.field\..+?(?:\.i)?)\.tmp$)!) {
Index: nmz/field.h
===================================================================
RCS file: /storage/cvsroot/namazu/nmz/field.h,v
retrieving revision 1.9.8.1
diff -r1.9.8.1 field.h
4c4
< #define FIELD_SAFE_CHARS
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
---
> #define FIELD_SAFE_CHARS "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_."
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E