/[pub]/suikawiki/script/misc/plugins/plugin-info.wp2
Suika

Contents of /suikawiki/script/misc/plugins/plugin-info.wp2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Sat Feb 14 10:53:13 2004 UTC (20 years, 8 months ago) by wakaba
Branch: MAIN
CVS Tags: suikawiki3-redirect, release-3-0-0, HEAD
Branch point for: paragraph-200404, helowiki, helowiki-2005
New

1 #?SuikaWikiConfig/2.0
2
3 Plugin:
4 @Name: WikiPluginInfo
5 @Description:
6 @@@: WikiPlugin information
7 @@lang:en
8 @License: %%Perl%%
9 @Author:
10 @@Name:
11 @@@@: Wakaba
12 @@@lang:ja
13 @@@script:Latn
14 @@Mail[list]: w@suika.fam.cx
15 @Date.RCS:
16 $Date: 2004/01/16 07:54:22 $
17 @RequiredPlugin[list]:
18 WikiStruct
19 @Use:
20 my $WIKIRESOURCE;
21 use Message::Util::Error;
22
23 PluginConst:
24 @NS_XHTML1:
25 http://www.w3.org/1999/xhtml
26 @WIKIRESOURCE:
27 {($WIKIRESOURCE ||= SuikaWiki::Plugin->module_package ('WikiResource'))}
28
29 FormattingRule:
30 @Category[list]:
31 view
32 view-resource
33 form-input
34 @Name: wpi--for-each-plugin
35 @Description:
36 @@@: Apply template for each WikiPlugin module
37 @@lang: en
38 @Parameter:
39 @@Name: template
40 @@Type: template
41 @@Default: #REQUIRED
42 @@Description:
43 @@@@:
44 Template to be applied for each module
45 @@lang: en
46 @Formatting:
47 __ATTRTEXT:%template__;
48 $p->{template} ||= $WIKIRESOURCE->get
49 (name => 'WikiPluginInfo:ForEachPlugin:Template',
50 o => $o, wiki => $o->{wiki});
51 my $formatter = SuikaWiki::Plugin->formatter ('view_resource');
52 for (sort keys %SuikaWiki::Plugin::Registry::Info) {
53 local $o->{var}->{wpi__plugin_module} = $_;
54 try {
55 $formatter->replace ($p->{template},
56 param => $o,
57 -parent => $p->{-parent});
58 } catch Message::Util::Formatter::error with {
59 my $err = shift;
60 if ($err->{-object}->{-category_name} eq 'view_resource') {
61 my $wiki = $err->{option}->{param}->{wiki};
62 SuikaWiki::Plugin->module_package ('Error')
63 ->reporting_formatting_template_error
64 ($err, $wiki,
65 template => $p->{template});
66 undef;
67 } else {
68 $err->throw;
69 }
70 };
71 }
72
73 FormattingRule:
74 @Category[list]:
75 view
76 view-resource
77 form-input
78 @Name: wpi--for-each-formatting-category
79 @Description:
80 @@@: Apply template for each formatting caregory
81 @@lang: en
82 @Parameter:
83 @@Name: template
84 @@Type: template
85 @@Default: #REQUIRED
86 @@Description:
87 @@@@:
88 Template to be applied for each module
89 @@lang: en
90 @Formatting:
91 __ATTRTEXT:%template__;
92 $p->{template} ||= $WIKIRESOURCE->get
93 (name => 'WikiPluginInfo:ForEachCategory:Template',
94 o => $o, wiki => $o->{wiki});
95 my $formatter = SuikaWiki::Plugin->formatter ('view_resource');
96 for (sort keys %SuikaWiki::Plugin::Rule) {
97 local $o->{var}->{wpi__formatting_category} = $_;
98 try {
99 $formatter->replace ($p->{template},
100 param => $o,
101 -parent => $p->{-parent});
102 } catch Message::Util::Formatter::error with {
103 my $err = shift;
104 if ($err->{-object}->{-category_name} eq 'view_resource') {
105 my $wiki = $err->{option}->{param}->{wiki};
106 SuikaWiki::Plugin->module_package ('Error')
107 ->reporting_formatting_template_error
108 ($err, $wiki,
109 template => $p->{template});
110 undef;
111 } else {
112 $err->throw;
113 }
114 };
115 }
116
117 FormattingRule:
118 @Category[list]:
119 view
120 view-resource
121 form-input
122 @Name: wpi--for-each-formatting-rule
123 @Description:
124 @@@: Apply template for each formatting rule
125 @@lang: en
126 @Parameter:
127 @@Name: category
128 @@Type: text
129 @@Default: (auto)
130 @@Description:
131 @@@@: Formatting category to which rule belongs
132 @@@lang: en
133 @Parameter:
134 @@Name: template
135 @@Type: template
136 @@Default: #REQUIRED
137 @@Description:
138 @@@@:
139 Template to be applied for each module
140 @@lang: en
141 @Formatting:
142 my $category = $p->{category} || $o->{var}->{wpi__formatting_category};
143 __ATTRTEXT:%template__;
144 $p->{template} ||= $WIKIRESOURCE->get
145 (name => 'WikiPluginInfo:ForEachRule:Template',
146 o => $o, wiki => $o->{wiki});
147 my $formatter = SuikaWiki::Plugin->formatter ('view_resource');
148 for (sort keys %{$SuikaWiki::Plugin::Rule{$category}}) {
149 local $o->{var}->{wpi__formatting_rule} = $_;
150 try {
151 $formatter->replace ($p->{template},
152 param => $o,
153 -parent => $p->{-parent});
154 } catch Message::Util::Formatter::error with {
155 my $err = shift;
156 if ($err->{-object}->{-category_name} eq 'view_resource') {
157 my $wiki = $err->{option}->{param}->{wiki};
158 SuikaWiki::Plugin->module_package ('Error')
159 ->reporting_formatting_template_error
160 ($err, $wiki,
161 template => $p->{template});
162 undef;
163 } else {
164 $err->throw;
165 }
166 };
167 }
168
169 FormattingRule:
170 @Category[list]:
171 view
172 view-resource
173 form-input
174 @Name: wpi--plugin-name
175 @Description:
176 @@@: WikiPlugin module name
177 @@lang: en
178 @Parameter:
179 @@Name: module
180 @@Type: text
181 @@Default: (auto)
182 @@Description:
183 @@@@: WikiPlugin module name
184 @@@lang: en
185 @Formatting:
186 my $module = $p->{module} || $o->{var}->{wpi__plugin_module};
187 $p->{-parent}->append_text (
188 ($SuikaWiki::Plugin::Registry::Info{ $module } || {})
189 ->{Name}
190 );
191
192 FormattingRule:
193 @Category[list]:
194 view
195 view-resource
196 form-input
197 @Name: wpi--plugin-version
198 @Description:
199 @@@: WikiPlugin module version
200 @@lang: en
201 @Parameter:
202 @@Name: module
203 @@Type: text
204 @@Default: (auto)
205 @@Description:
206 @@@@: WikiPlugin module name
207 @@@lang: en
208 @Formatting:
209 my $module = $p->{module} || $o->{var}->{wpi__plugin_module};
210 $p->{-parent}->append_text (
211 ($SuikaWiki::Plugin::Registry::Info{ $module } || {})
212 ->{Version}
213 );
214
215 FormattingRule:
216 @Category[list]:
217 view
218 view-resource
219 form-input
220 @Name: wpi--plugin-version-rcs-date
221 @Description:
222 @@@: WikiPlugin module version as RCS date-time
223 @@lang: en
224 @Parameter:
225 @@Name: module
226 @@Type: text
227 @@Default: (auto)
228 @@Description:
229 @@@@: WikiPlugin module name
230 @@@lang: en
231 @Formatting:
232 my $module = $p->{module} || $o->{var}->{wpi__plugin_module};
233 $p->{-parent}->append_text (
234 ($SuikaWiki::Plugin::Registry::Info{ $module } || {})
235 ->{'Date.RCS'}
236 );
237
238 FormattingRule:
239 @Category[list]:
240 view
241 view-resource
242 form-input
243 @Name: wpi--plugin-interface-version
244 @Description:
245 @@@: WikiPlugin interface version implemented by the WikiPlugin module
246 @@lang: en
247 @Parameter:
248 @@Name: module
249 @@Type: text
250 @@Default: (auto)
251 @@Description:
252 @@@@: WikiPlugin module name
253 @@@lang: en
254 @Formatting:
255 my $module = $p->{module} || $o->{var}->{wpi__plugin_module};
256 $p->{-parent}->append_text (
257 ($SuikaWiki::Plugin::Registry::Info{ $module } || {})
258 ->{InterfaceVersion}
259 );
260
261 FormattingRule:
262 @Category[list]:
263 view
264 view-resource
265 form-input
266 @Name: wpi--plugin-mkplugin-version
267 @Description:
268 @@@: Version of mkplugin that genearted the WikiPlugin module
269 @@lang: en
270 @Parameter:
271 @@Name: module
272 @@Type: text
273 @@Default: (auto)
274 @@Description:
275 @@@@: WikiPlugin module name
276 @@@lang: en
277 @Formatting:
278 my $module = $p->{module} || $o->{var}->{wpi__plugin_module};
279 $p->{-parent}->append_text (
280 ($SuikaWiki::Plugin::Registry::Info{ $module } || {})
281 ->{mkpluginVersion}
282 );
283
284 FormattingRule:
285 @Category[list]:
286 view
287 view-resource
288 form-input
289 @Name: wpi--plugin-license
290 @Description:
291 @@@: WikiPlugin module license
292 @@lang: en
293 @Parameter:
294 @@Name: module
295 @@Type: text
296 @@Default: (auto)
297 @@Description:
298 @@@@: WikiPlugin module name
299 @@@lang: en
300 @Formatting:
301 my $module = $p->{module} || $o->{var}->{wpi__plugin_module};
302 my $license = $WIKIRESOURCE->temp_get_language_resource_from_array
303 (source => ($SuikaWiki::Plugin::Registry::Info{ $module } || {})
304 ->{License}, o => $o)->[0];
305 $license =~ s{ %%([A-Za-z0-9_.+-]+)%%
306 | ((?:(?!%%).)+)}
307 {$1 ? $WIKIRESOURCE->get_op
308 ('WikiPluginInfo:License:'.$1, $o, $p->{-parent})
309 : $p->{-parent}->append_text ($2); ''}gex;
310
311 FormattingRule:
312 @Category[list]:
313 view
314 view-resource
315 form-input
316 @Name: wpi--plugin-description
317 @Description:
318 @@@: WikiPlugin module description
319 @@lang: en
320 @Parameter:
321 @@Name: module
322 @@Type: text
323 @@Default: (auto)
324 @@Description:
325 @@@@: WikiPlugin module name
326 @@@lang: en
327 @Formatting:
328 my $module = $p->{module} || $o->{var}->{wpi__plugin_module};
329 $p->{-parent}->append_text (
330 ($WIKIRESOURCE->temp_get_language_resource_from_array
331 (source => ($SuikaWiki::Plugin::Registry::Info{ $module } || {})
332 ->{Description},
333 o => $o) || [])->[0],
334 );
335
336 FormattingRule:
337 @Category[list]:
338 view
339 view-resource
340 form-input
341 @Name: wpi--plugin-required-plugins
342 @Description:
343 @@@: WikiPlugin modules required by this WikiPlugin module
344 @@lang: en
345 @Parameter:
346 @@Name: module
347 @@Type: text
348 @@Default: (auto)
349 @@Description:
350 @@@@: WikiPlugin module name
351 @@@lang: en
352 @Formatting:
353 my $module = $p->{module} || $o->{var}->{wpi__plugin_module};
354 my $list = ($SuikaWiki::Plugin::Registry::Info{ $module } || {})
355 ->{RequiredPlugin} || [];
356 return unless @$list;
357 my $ul = $p->{-parent}->append_new_node
358 (type => '#element',
359 namespace_uri => $NS_XHTML1,
360 local_name => 'ul');
361 for (sort @$list) {
362 $ul->append_new_node (type => '#element',
363 namespace_uri => $NS_XHTML1,
364 local_name => 'li')
365 ->append_text ($_);
366 ## TODO: Should be template aware
367 }
368
369 FormattingRule:
370 @Category[list]:
371 view
372 view-resource
373 form-input
374 @Name: wpi--plugin-required-modules
375 @Description:
376 @@@: Perl modules required by this WikiPlugin module
377 @@lang: en
378 @Parameter:
379 @@Name: module
380 @@Type: text
381 @@Default: (auto)
382 @@Description:
383 @@@@: WikiPlugin module name
384 @@@lang: en
385 @Formatting:
386 my $module = $p->{module} || $o->{var}->{wpi__plugin_module};
387 my $list = ($SuikaWiki::Plugin::Registry::Info{ $module } || {})
388 ->{RequiredModule} || [];
389 return unless @$list;
390 my $ul = $p->{-parent}->append_new_node
391 (type => '#element',
392 namespace_uri => $NS_XHTML1,
393 local_name => 'ul');
394 for (sort @$list) {
395 $ul->append_new_node (type => '#element',
396 namespace_uri => $NS_XHTML1,
397 local_name => 'li')
398 ->append_text ($_);
399 ## TODO: Should be template aware
400 }
401
402 FormattingRule:
403 @Category[list]:
404 view
405 view-resource
406 form-input
407 @Name: wpi--formatting-category-name
408 @Description:
409 @@@: Formatting category name
410 @@lang: en
411 @Parameter:
412 @@Name: category
413 @@Type: text
414 @@Default: (auto)
415 @@Description:
416 @@@@: Formatting category
417 @@@lang: en
418 @Formatting:
419 my $name = $p->{category} || $o->{var}->{wpi__formatting_category};
420 $name =~ s/(?<=.)_/-/g;
421 $p->{-parent}->append_text ($name);
422
423 FormattingRule:
424 @Category[list]:
425 view
426 view-resource
427 form-input
428 @Name: wpi--formatting-rule-name
429 @Description:
430 @@@: Formatting rule name
431 @@lang: en
432 @Parameter:
433 @@Name: rule
434 @@Type: text
435 @@Default: (auto)
436 @@Description:
437 @@@@: Formatting rule
438 @@@lang: en
439 @Formatting:
440 my $name = $p->{rule} || $o->{var}->{wpi__formatting_rule};
441 $name =~ s/(?<=.)_/-/g;
442 $p->{-parent}->append_text ($name);
443
444 FormattingRule:
445 @Category[list]:
446 view
447 view-resource
448 form-input
449 @Name: wpi--formatting-rule-description
450 @Description:
451 @@@: FormattingRule description
452 @@lang: en
453 @Parameter:
454 @@Name: category
455 @@Type: text
456 @@Default: (auto)
457 @@Description:
458 @@@@: Formatting category
459 @@@lang: en
460 @Parameter:
461 @@Name: rule
462 @@Type: text
463 @@Default: (auto)
464 @@Description:
465 @@@@: Formatting rule
466 @@@lang: en
467 @Formatting:
468 my $category = $p->{category} || $o->{var}->{wpi__formatting_category};
469 my $rule = $p->{rule} || $o->{var}->{wpi__formatting_rule};
470 $category =~ s/(?=.)-/_/ if $p->{category};
471 $rule =~ s/(?=.)-/_/ if $p->{rule};
472 $p->{-parent}->append_text (
473 ($WIKIRESOURCE->temp_get_language_resource_from_array
474 (source => (($SuikaWiki::Plugin::Rule{ $category } || {})
475 ->{ $rule } || {})
476 ->{Description},
477 o => $o) || [])->[0]
478 );
479
480 Resource:
481 @WikiPluginInfo:Description:
482 @@@: Description
483 @@lang: en
484 @WikiPluginInfo:ForEachCategory:Template:
485 %section (
486 title => {%wpi--formatting-category-name;}p, heading,
487 content => {%wpi--for-each-formatting-rule;}p,
488 );
489 @WikiPluginInfo:ForEachPlugin:Template:
490 %section (
491 title => {%wpi--plugin-name;}p, heading,
492 content => {
493 %list (
494 {%res (name => {WikiPluginInfo:Description});}p =>
495 {%wpi--plugin-description;}p,
496 {%res (name => {WikiPluginInfo:Version});}p =>
497 {%wpi--plugin-version; (%wpi--plugin-version-rcs-date;)}p,
498 {%res (name => {WikiPluginInfo:InterfaceVersion});}p =>
499 {%wpi--plugin-interface-version;}p,
500 {%res (name => {WikiPluginInfo:mkpluginVersion});}p =>
501 {%wpi--plugin-mkplugin-version;}p,
502 {%res (name => {WikiPluginInfo:License});}p =>
503 {%wpi--plugin-license;}p,
504 {%res (name => {WikiPluginInfo:RequiredPlugins});}p =>
505 {%wpi--plugin-required-plugins;}p,
506 {%res (name => {WikiPluginInfo:RequiredModules});}p =>
507 {%wpi--plugin-required-modules;}p,
508 );
509 }p,
510 );
511 @WikiPluginInfo:ForEachRule:Template:
512 %section (
513 title => {%wpi--formatting-rule-name;}p, heading,
514 content => {
515 %list (
516 {%res (name => {WikiPluginInfo:Rule:Name});}p =>
517 {%wpi--formatting-category-name;/%wpi--formatting-rule-name;}p,
518 {%res (name => {WikiPluginInfo:Description});}p =>
519 {%wpi--formatting-rule-description;}p,
520 );
521 }p,
522 );
523 @WikiPluginInfo:InterfaceVersion:
524 @@@: WikiPlugin interface implemented by this module
525 @@lang: en
526 @WikiPluginInfo:License:
527 @@@: License of this module
528 @@lang: en
529 @WikiPluginInfo:License:GPL:
530 @@@:
531 %paragraph (content =>
532 {This program is free software; you can redistribute it and/or
533 modify it under the terms of the %link-to-resource (
534 label => {%link-to-it (label => {GNU General Public License});},
535 uri => {http://www.gnu.org/copyleft/gpl.html},
536 ); as published by the %link-to-resource (
537 label => {%link-to-it (label => {Free Software Foundation});},
538 uri => {http://www.fsf.org/},
539 ); either version 2
540 of the License, or (at your option) any later version.}p);
541
542 %paragraph (content =>
543 {This program is distributed in the hope that it will be useful,
544 but %em (content => {WITHOUT ANY WARRANTY});;
545 without even the implied warranty of
546 %em (content => {MERCHANTABILITY}); or
547 %em (content => {FITNESS FOR A PARTICULAR PURPOSE});. See the
548 GNU General Public License for more details.}p);
549
550 %paragraph (content =>
551 {You should have received a copy of the GNU General Public License
552 along with this program; if not, write to the Free Software
553 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
554 USA.});
555 @@lang: en
556 @WikiPluginInfo:License:Mozilla:
557 @@@:
558 Version: MPL 1.1/GPL 2.0/LGPL 2.1
559
560 %paragraph (content => {The contents of this file are subject to
561 the Mozilla Public License Version 1.1 (the "License"); you may
562 not use this file except in compliance with
563 the License. You may obtain a copy of the License at
564 <%link-to-resource (
565 label => {%link-to-it (label => {http://www.mozilla.org/MPL/});},
566 uri => {http://www.mozilla.org/MPL/});>}p);
567
568 %paragraph (content => {Software distributed under the License is
569 distributed on an "%em (content => {AS IS});" basis,
570 %em (content => {WITHOUT WARRANTY OF ANY KIND});,
571 either express or implied. See the License
572 for the specific language governing rights and limitations under the
573 License.}p);
574
575 # The Original Code is something code.
576
577 #The Initial Developer of the Original Code is
578 #Someone <some@one.example>.
579 #Portions created by the Initial Developer are Copyright (C) yyyy
580 #the Initial Developer. All Rights Reserved.
581
582 #Contributor(s):
583 # Somwone <some@one.example> (original author)
584
585 %paragraph (content => {Alternatively, the contents of this file may
586 be used under the terms of
587 either the %link-to-resource (
588 label => {%link-to-it (label => {GNU General Public License});},
589 uri => {http://www.gnu.org/copyleft/gpl.html},
590 ); Version 2 or later (the "GPL"), or
591 the %link-to-resource (
592 label => {%link-to-it (label => {GNU Lesser General Public License});},
593 uri => {http://www.gnu.org/copyleft/lesser.html},
594 ); Version 2.1 or later (the "LGPL"),
595 in which case the provisions of the GPL or the LGPL are applicable instead
596 of those above. If you wish to allow use of your version of this file only
597 under the terms of either the GPL or the LGPL, and not to allow others to
598 use your version of this file under the terms of the MPL, indicate your
599 decision by deleting the provisions above and replace them with the notice
600 and other provisions required by the GPL or the LGPL. If you do not delete
601 the provisions above, a recipient may use your version of this file under
602 the terms of any one of the MPL, the GPL or the LGPL.}p);
603 @@lang: en
604 @WikiPluginInfo:License:Perl:
605 @@@:
606 %paragraph (content =>
607 {This program is free software; you can redistribute it and/or
608 modify it under the same terms as Perl itself.});
609 @@lang: en
610 @WikiPluginInfo:mkpluginVersion:
611 @@@: Version of mkplugin that generated this module
612 @@lang: en
613 @WikiPluginInfo:RequiredModules:
614 @@@: Perl modules required by this module
615 @@lang: en
616 @WikiPluginInfo:RequiredPlugins:
617 @@@: WikiPlugin modules required by this module
618 @@lang: en
619 @WikiPluginInfo:Rule:Name:
620 @@@: Formatting rule name
621 @@lang: en
622 @WikiPluginInfo:Version:
623 @@@: Version
624 @@lang: en
625

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24