42 |
@Formatting: |
@Formatting: |
43 |
__ATTRTEXT:%query__; |
__ATTRTEXT:%query__; |
44 |
$p->{query} ||= ($o->{wiki}->{input} ? |
$p->{query} ||= ($o->{wiki}->{input} ? |
45 |
$o->{wiki}->{input}->parameter ('search__query') : undef) |
$o->{wiki}->{input}->parameter ('search__query') : undef); |
46 |
|| $o->{wiki}->{var}->{page}->stringify (wiki => $o->{wiki}); |
unless (defined $p->{query} or length $p->{query}) { |
47 |
|
$p->{query} = join ' ', |
48 |
|
map {my $s = length $_ > 2 ? '*'.$_.'*' : $_; |
49 |
|
$s =~ s/^\*\*+//; $s =~ s/\*\*+$/*/; $s} |
50 |
|
@{$o->{wiki}->{var}->{page}}; |
51 |
|
} |
52 |
my $list = $p->{-parent}->append_new_node |
my $list = $p->{-parent}->append_new_node |
53 |
(type => '#element', |
(type => '#element', |
54 |
namespace_uri => $NS_XHTML1, |
namespace_uri => $NS_XHTML1, |
63 |
sortMethod => NMZ_SORTBYSCORE, |
sortMethod => NMZ_SORTBYSCORE, |
64 |
sortOrder => NMZ_ASCENDSORT, |
sortOrder => NMZ_ASCENDSORT, |
65 |
lang => 'ja'); |
lang => 'ja'); |
66 |
|
unless (@result) { |
67 |
|
$p->{query} =~ tr/\*/ /; |
68 |
|
\ @result = Search::Namazu::Search |
69 |
|
(index => $o->{wiki}->{config}->{path_to}->{namazu__index_dir}, |
70 |
|
query => $p->{query}, |
71 |
|
sortMethod => NMZ_SORTBYSCORE, |
72 |
|
sortOrder => NMZ_ASCENDSORT, |
73 |
|
lang => 'ja'); |
74 |
|
} |
75 |
__ATTRTEXT:%start__;__ATTRTEXT:%number__; |
__ATTRTEXT:%start__;__ATTRTEXT:%number__; |
76 |
my $start = length $p->{start} ? $p->{start} : |
my $start = length $p->{start} ? $p->{start} : |
77 |
$o->{wiki}->{input}->parameter ('search--range-start') || 0; |
$o->{wiki}->{input}->parameter ('search--range-start') || 0; |
88 |
end => $end, |
end => $end, |
89 |
number => $p->{number} || 30, |
number => $p->{number} || 30, |
90 |
query => $p->{query}, |
query => $p->{query}, |
91 |
|
param_prefix => 'search', |
92 |
}; |
}; |
93 |
for my $result (@result[$start..$end]) { |
for my $result (@result[$start..$end]) { |
94 |
next unless $result; |
next unless $result; |
135 |
link-to-resource |
link-to-resource |
136 |
@Name: nmz--title |
@Name: nmz--title |
137 |
@Formatting: |
@Formatting: |
138 |
$p->{-parent}->append_text ($o->{link}->{dest}->{nmz__result}->title); |
# $p->{-parent}->append_text ($o->{link}->{dest}->{nmz__result}->title); |
139 |
|
|
140 |
|
## TODO: Remove this code after SuikaWiki/0.9 filter for Namazu available |
141 |
|
my $title = $o->{link}->{dest}->{nmz__result}->title; |
142 |
|
$title =~ s/([0-9A-F][0-9A-F])/pack 'C', hex $1/ge and $title =~ s/\.txt$// |
143 |
|
if $title =~ /^(?:[0-9A-F][0-9A-F])+\.txt$/; |
144 |
|
$p->{-parent}->append_text ($title); |
145 |
|
|
146 |
FormattingRule: |
FormattingRule: |
147 |
@Category[list]: |
@Category[list]: |