OSDN Git Service

memoプラグインで名前を書けるようにした。
[fswiki/sandbox.git] / takezoe / plugin / book / Memo.pm
1 ################################################################################
2 #
3 # <p>¥Ú¡¼¥¸¤Ë¥á¥â¤òµ­½Ò¤¹¤ë¤¿¤á¤Î¥¤¥ó¥é¥¤¥ó¥×¥é¥°¥¤¥ó¤Ç¤¹¡£</p>
4 # <pre>
5 # {{memo ¤³¤³¤Ë¥á¥â¤òµ­½Ò¤·¤Þ¤¹¡£}}
6 # </pre>
7 # <p>
8 #   µ­½Ò¤·¤¿¥á¥â¤Ï¶¯Ä´¤µ¤ì¤Æɽ¼¨¤µ¤ì¤Þ¤¹¡£
9 #   ¤Þ¤¿¡¢memolist¥×¥é¥°¥¤¥ó¤ò»ÈÍѤ·¤Æ°ìÍ÷ɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
10 # </p>
11 #
12 ################################################################################
13 package plugin::book::Memo;
14 #==============================================================================
15 # ¥³¥ó¥¹¥È¥é¥¯¥¿
16 #==============================================================================
17 sub new {
18         my $class = shift;
19         my $self = {};
20         $self->{'todo'} = [];
21         return bless $self,$class;
22 }
23
24 #==============================================================================
25 # ¥Ñ¥é¥°¥é¥Õ¥á¥½¥Ã¥É
26 #==============================================================================
27 sub inline {
28         my $self = shift;
29         my $wiki = shift;
30         my $name = shift;
31         my $text = shift;
32         
33         if($text eq ''){
34                 $text = $name;
35                 $name = '';
36         }
37         
38         if($name ne ''){
39                 push(@{$self->{'memolist'}}, "[comment]".$name." - ".$text);
40         } else {
41                 push(@{$self->{'memolist'}}, "[comment]".$text);
42         }
43         my @list = @{$self->{'memolist'}};
44         
45         if($name ne ''){
46                 return '<span class="memo '.Util::escapeHTML($name).'"><a name="todo-'.($#list + 1).'"></a><b>'.Util::escapeHTML($name).'</b> - '.Util::escapeHTML($text).'</span>';
47         } else {
48                 return '<span class="memo"><a name="todo-'.($#list + 1).'"></a>'.Util::escapeHTML($text).'</span>';
49         }
50 }
51
52 1;