/[pub]/suikawiki/script/misc/plugins/link/namazu.wp2
Suika

Contents of /suikawiki/script/misc/plugins/link/namazu.wp2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Fri Mar 19 03:42:06 2004 UTC (21 years, 4 months ago) by wakaba
Branch: MAIN
New module

1 wakaba 1.1 #?SuikaWikiConfig/2.0
2    
3     Plugin:
4     @Name: Namazu
5     @Description:
6     @@@:
7     Namazu interface
8     @@lang:en
9     @License: %%Perl%%
10     @Author:
11     @@Name:
12     @@@@: Wakaba
13     @@@lang:ja
14     @@@script:Latn
15     @@Mail[list]: w@suika.fam.cx
16     @Date.RCS:
17     $Date: 2004/01/16 07:49:41 $
18     @RequiredModule[list]:
19     Search::Namazu
20     @RequiredPlugin[list]:
21     WikiLinking
22     @Use:
23     use Search::Namazu;
24     use Message::Util::Error;
25     my $WIKILINKING;
26     my $WIKIRESOURCE;
27    
28     PluginConst:
29     @NS_XHTML1:
30     http://www.w3.org/1999/xhtml
31     @WIKILINKING:
32     {($WIKILINKING ||= SuikaWiki::Plugin->module_package ('WikiLinking'))}
33     @WIKIRESOURCE:
34     {($WIKIRESOURCE ||= SuikaWiki::Plugin->module_package ('WikiResource'))}
35    
36     FormattingRule:
37     @Category[list]:
38     view
39     view-resource
40     form-input
41     @Name: namazu-search
42     @Formatting:
43     __ATTRTEXT:%query__;
44     $p->{query} ||= ($o->{wiki}->{input} ?
45     $o->{wiki}->{input}->parameter ('search__query') : undef)
46     || $o->{wiki}->{var}->{page}->stringify (wiki => $o->{wiki});
47     my $list = $p->{-parent}->append_new_node
48     (type => '#element',
49     namespace_uri => $NS_XHTML1,
50     local_name => 'ol');
51     my $template = $p->{template} ||
52     $WIKIRESOURCE->get_text
53     (name => 'Namazu:Result:Item:Template',
54     o => $o, wiki => $o->{wiki});
55     my @result = Search::Namazu::Search
56     (index => $o->{wiki}->{config}->{path_to}->{namazu__index_dir},
57     query => $p->{query},
58     sortMethod => NMZ_SORTBYSCORE,
59     sortOrder => NMZ_ASCENDSORT);
60     __ATTRTEXT:%start__;__ATTRTEXT:%number__;
61     my $start = length $p->{start} ? $p->{start} :
62     $o->{wiki}->{input}->parameter ('search--range-start') || 0;
63     $p->{number} = $o->{wiki}->{input}->parameter ('search--range-number')
64     unless length $p->{number};
65     my $end = $p->{number} ? $start + $p->{number} - 1 : $start + 29;
66     $start = 0 if $start > $#result or $start < 0;
67     $end = $#result if $end < $start or $end > $#result;
68     $end = $start + 255 if $end > $start + 255;
69     local $o->{var}->{search__result} = {
70     min => 0,
71     max => $#result,
72     start => $start,
73     end => $end,
74     number => $p->{number} || 30,
75     query => $p->{query},
76     };
77     for my $result (@result[$start..$end]) {
78     next unless $result;
79     $WIKILINKING->to_resource_by_uri_in_html ({
80     label => $template,
81     } => {
82     uri => $o->{wiki}->{config}->{nmz__uri_to_uri}->($result->uri, o => $o),
83     nmz__result => $result,
84     }, {
85     o => $o,
86     parent => $list->append_new_node
87     (type => '#element',
88     namespace_uri => $NS_XHTML1,
89     local_name => 'li'),
90     nmz__query => $p->{query},
91     });
92     }
93     if ($list->count) {
94     $list->set_attribute (start => $start + 1);
95     __ATTRNODE:%post_list->{$p->{-parent}}__;
96     } else {
97     $p->{-parent}->remove_child_node ($list);
98     }
99    
100     FormattingRule:
101     @Category[list]:
102     link-to-resource
103     @Name: nmz--rank
104     @Formatting:
105     $p->{-parent}->append_text ($o->{link}->{dest}->{nmz__result}->rank + 0);
106    
107     FormattingRule:
108     @Category[list]:
109     link-to-resource
110     @Name: nmz--score
111     @Formatting:
112     $p->{-parent}->append_text ($o->{link}->{dest}->{nmz__result}->score + 0);
113    
114     FormattingRule:
115     @Category[list]:
116     link-to-resource
117     @Name: nmz--title
118     @Formatting:
119     $p->{-parent}->append_text ($o->{link}->{dest}->{nmz__result}->title);
120    
121     FormattingRule:
122     @Category[list]:
123     link-to-resource
124     @Name: nmz--uri
125     @Formatting:
126     $p->{-parent}->append_text ($o->{link}->{dest}->{nmz__result}->uri);
127    
128     FormattingRule:
129     @Category[list]:
130     link-to-resource
131     @Name: nmz--summary
132     @Formatting:
133     $p->{-parent}->append_text ($o->{link}->{dest}->{nmz__result}->summary);
134    
135     Resource:
136     @Namazu:Result:Item:Template:
137     %line (content => {
138     {%nmz--score;}
139     %link-to-it (
140     label => {%nmz--title;}p,
141     description => {%nmz--title; <%uri-reference;>}p,
142     );
143     }p);
144     %line (content => {%nmz--summary;}p);
145    
146    
147    
148    
149    
150    
151    

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24