OSDN Git Service

8d7e725bc79fb9075a4cc39a61f05263882f376d
[fswiki/fswiki-lite.git] / docs / plugindev.html
1 <html>\r
2 <head>\r
3   <title>¥×¥é¥°¥¤¥ó³«È¯</title>\r
4   <link rel="stylesheet" type="text/css" href="default.css">\r
5 </head>\r
6 <body>\r
7 <h2>¥µ¥Ý¡¼¥È¤¹¤ë¥×¥é¥°¥¤¥ó</h2>\r
8 <p>FSWikiLite¤ÏFSWiki¤È¤Ï°ã¤¤¡¢Wiki¥Ú¡¼¥¸¤Ëµ­½Ò¤·¤Æ»ÈÍѤ¹¤ë¥¿¥¤¥×¤Î¥×¥é¥°¥¤¥ó¡Ê¥¤¥ó¥é¥¤¥ó¥×¥é¥°¥¤¥ó¤È¥Ñ¥é¥°¥é¥Õ¥×¥é¥°¥¤¥ó¡Ë¤·¤«¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¡£¤¿¤À¤·¡¢FSWiki¤Ç¥¢¥¯¥·¥ç¥ó¥×¥é¥°¥¤¥ó¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ¤ÏÊ̤ÎCGI¥¹¥¯¥ê¥×¥È¤òÍÑ°Õ¤¹¤ë¤³¤È¤ÇÂбþ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡ÊLite¤Îcategory.cgi¤Ê¤É¤¬¤³¤ì¤Ë¤¢¤¿¤ê¤Þ¤¹¡Ë¡£</p><p>¥×¥é¥°¥¤¥ó¤Ï¡Á.pl¤È¤¤¤¦Ì¾Á°¤òÉÕ¤±¤Æplugin¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤·¤Þ¤¹¡£¤½¤·¤Ælib/setup.pl¤Çrequire¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Îsetup.pl¤Ç¤Ïcore.pl¤Î¤ßÆɤ߹þ¤à¤è¤¦ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£</p><pre>require &quot;./plugin/core.pl&quot;;\r
9 </pre><h2>¥¤¥ó¥é¥¤¥ó¥×¥é¥°¥¤¥ó</h2>\r
10 <p>¥¤¥ó¥é¥¤¥ó¥×¥é¥°¥¤¥ó¤ÏWiki::Plugin¥Ñ¥Ã¥±¡¼¥¸¤ÇÄêµÁ¤µ¤ì¤¿Perl´Ø¿ô¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¤Ç¤¹¡£´Ø¿ô¤Î°ú¿ô¤Ë¤ÏWiki¥½¡¼¥¹¤Çµ­½Ò¤·¤¿°ú¿ô¤¬¤½¤Î¤Þ¤ÞÅϤµ¤ì¤Þ¤¹¡£´Ø¿ô¤ÏÌá¤êÃͤȤ·¤ÆHTML¤òÊÖ¤¹¤è¤¦¤Ë¼ÂÁõ¤·¤Þ¤¹¡£¤Þ¤¿¡¢¥¹¥¯¥ê¥×¥È¤ÎBEGINÀá¤Ç´Ø¿ô¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¤ò¥¤¥ó¥é¥¤¥ó¥×¥é¥°¥¤¥ó¤È¤·¤ÆÅÐÏ¿¤·¤Þ¤¹¡£</p><pre>package Wiki::Plugin;\r
11 BEGIN {\r
12   $main::I_PLUGIN-&gt;{hello} = \&amp;hello;\r
13 }\r
14 sub hello {\r
15   my $name = shift;\r
16   if($name eq ''){\r
17     return &quot;̾Á°¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£&quot;;\r
18   } else {\r
19     return &quot;¤³¤ó¤Ë¤Á¤Ï&quot;.&amp;Util::escapeHTML($name).&quot;¤µ¤ó&quot;;\r
20   }\r
21 }\r
22 1;\r
23 </pre><p>¥Ú¡¼¥¸ÊÔ½¸»þ¤Ë°Ê²¼¤Î½ñ¼°¤Ç»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£</p><pre>{{hello ¤¿¤í¤¦}}\r
24 </pre><h2>¥Ñ¥é¥°¥é¥Õ¥×¥é¥°¥¤¥ó</h2>\r
25 <p>¥Ñ¥é¥°¥é¥Õ¥×¥é¥°¥¤¥ó¤â¼ÂÁõÊýË¡¤Ï¥¤¥ó¥é¥¤¥ó¥×¥é¥°¥¤¥ó¤ÈƱÍͤǤ¹¡£¥Ö¥í¥Ã¥¯Í×ÁǤò´Þ¤àHTML¤òÊֵѤ¹¤ë¾ì¹ç¤Ë¤Ï¥Ñ¥é¥°¥é¥Õ¥×¥é¥°¥¤¥ó¤È¤·¤Æ¼ÂÁõ¤·¤Þ¤¹¡£BEGINÀá¤Ç¤ÎÅÐÏ¿ÊýË¡¤Î¤ß¤¬°Û¤Ê¤ê¤Þ¤¹¡£</p><pre>BEGIN {\r
26   $main::P_PLUGIN-&gt;{hello} = \&amp;hello;\r
27 }\r
28 </pre><h2>¥ê¥¯¥¨¥¹¥È¥Ñ¥é¥á¡¼¥¿¤Ø¤Î¥¢¥¯¥»¥¹</h2>\r
29 <p>¥×¥é¥°¥¤¥óÆâÉô¤«¤é¥ê¥¯¥¨¥¹¥È¥Ñ¥é¥á¡¼¥¿¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Ë¤Ï%main::in¤È¤¤¤¦ÊÑ¿ô¤òÍøÍѤ·¤Þ¤¹¡£¤³¤ì¤Ïcgi-lib.pl¤Ç¥Ñ¡¼¥¹¤µ¤ì¤¿¥ê¥¯¥¨¥¹¥È¥Ñ¥é¥á¡¼¥¿¤¬³ÊǼ¤µ¤ì¤¿Ï¢ÁÛÇÛÎó¤Ç¤¹¡£</p><pre># ¥Ú¡¼¥¸Ì¾¤ò¼èÆÀ\r
30 my $p = $main::in{'p'};\r
31 </pre><h2>¥×¥é¥°¥¤¥ó¤«¤éÍøÍѲÄǽ¤Ê¥æ¡¼¥Æ¥£¥ê¥Æ¥£</h2>\r
32 <p>¥×¥é¥°¥¤¥óÆâÉô¤Ç¤ÏUtil¥Ñ¥Ã¥±¡¼¥¸¤ËÄêµÁ¤µ¤ì¤¿¥æ¡¼¥Æ¥£¥ê¥Æ¥£´Ø¿ô¤ò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Util¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ê´Ø¿ô¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£</p><table>\r
33 <tr><th>´Ø¿ô̾</th><th>ÀâÌÀ</th></tr>\r
34 <tr><td>url_encode</td><td>URL¥¨¥ó¥³¡¼¥É¤·¤Þ¤¹¡£</td></tr>\r
35 <tr><td>url_decode</td><td>URL¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿Ê¸»úÎó¤ò¥Ç¥³¡¼¥É¤·¤Þ¤¹¡£</td></tr>\r
36 <tr><td>escapeHTML</td><td>HTML¤ò¥¨¥¹¥±¡¼¥×¤·¤Þ¤¹¡£</td></tr>\r
37 <tr><td>trim</td><td>ʸ»úÎó¤ÎÁ°¸å¤Î¶õÇò¤ò¼è¤ê½ü¤­¤Þ¤¹¡£</td></tr>\r
38 <tr><td>check_numeric</td><td>ʸ»úÎ󤬿ôÃͤ«¤É¤¦¤«¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£</td></tr>\r
39 <tr><td>handyphone</td><td>·ÈÂÓÅÅÏ䫤ɤ¦¤«¤òȽÃǤ·¤Þ¤¹¡£</td></tr>\r
40 </table>\r
41 <h2>¥¢¥¯¥·¥ç¥ó¥¹¥¯¥ê¥×¥È</h2>\r
42 <p>FSWiki¤Ç¥¢¥¯¥·¥ç¥ó¥×¥é¥°¥¤¥ó¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¥×¥é¥°¥¤¥ó¤ÏÊÌÅÓCGI¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë¤³¤È¤ÇÂбþ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£action¥Ñ¥é¥á¡¼¥¿¤ÎÂå¤ï¤ê¤Ë¤½¤ÎCGI¥¹¥¯¥ê¥×¥È¤ò¸Æ¤Ó½Ð¤¹¤è¤¦¤Ë¤·¤Þ¤¹¡£CGI¥¹¥¯¥ê¥×¥È¤«¤é¤Ïcommon.pl¤ËÄêµÁ¤µ¤ì¤¿´Ø¿ô·²¤ò»ÈÍѤ·¤Æ¥Ú¡¼¥¸¤Î¼èÆÀ¤äÊݸ¤Ê¤É¤ò¹Ô¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£</p><p>FSWikiLite¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Çedit.cgi¡Ê¥Ú¡¼¥¸¤ÎÊÔ½¸¡Ë¡¢download.cgi¡ÊźÉÕ¥Õ¥¡¥¤¥ë¤Î¥À¥¦¥ó¥í¡¼¥É¡Ë¡¢category.cgi¡Ê¥«¥Æ¥´¥êɽ¼¨¡Ë¤È¤¤¤¦£³¤Ä¤Î¥¢¥¯¥·¥ç¥ó¥¹¥¯¥ê¥×¥È¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤ì¤é¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£</p></body>\r
43 </html>\r