1 ###############################################################################
\r
5 ###############################################################################
\r
6 package plugin::info::OutlineParser;
\r
9 use Wiki::HTMLParser;
\r
11 @ISA = qw(Wiki::HTMLParser);
\r
13 #==============================================================================
\r
15 #==============================================================================
\r
18 my $self = Wiki::HTMLParser->new(shift);
\r
19 $self->{outline_html} = "";
\r
20 $self->{outline_level} = 0;
\r
21 $self->{outline_cnt} = 0;
\r
22 return bless $self,$class;
\r
25 #==============================================================================
\r
26 # ¥Ø¥Ã¥É¥é¥¤¥ó¤Î¤ßÃê½Ð
\r
27 #==============================================================================
\r
32 my $text = &Util::delete_tag(join("",@$obj));
\r
34 if($level > $self->{outline_level}){
\r
35 while($level!=$self->{outline_level}){
\r
36 $self->{outline_html} .= "<ul>\n";
\r
37 $self->{outline_level}++;
\r
39 } elsif($level < $self->{outline_level}){
\r
40 while($level!=$self->{outline_level}){
\r
41 $self->{outline_html} .= "</li></ul>\n";
\r
42 $self->{outline_level}--;
\r
45 $self->{outline_html} .= "</li>\n";
\r
47 $self->{outline_html} .= "<li><a href=\"#p".$self->{outline_cnt}."\">$text</a>";
\r
48 $self->{outline_cnt}++;
\r
51 #==============================================================================
\r
52 # ¥¢¥¦¥È¥é¥¤¥óɽ¼¨ÍÑHTML¤Î¼èÆÀ
\r
53 #==============================================================================
\r
57 $self->parse($source);
\r
59 while($self->{outline_level}!=0){
\r
60 $self->{outline_html} .= "</li></ul>\n";
\r
61 $self->{outline_level}--;
\r
64 return $self->{outline_html};
\r
67 #==============================================================================
\r
68 # ¥×¥é¥°¥¤¥ó¤Î²òÀϤò¹Ô¤¦¤È̵¸Â¥ë¡¼¥×¤·¤Æ¤·¤Þ¤¦¤¿¤á
\r
69 #==============================================================================
\r
72 #==============================================================================
\r
73 # ¥×¥é¥°¥¤¥ó¤Î²òÀϤò¹Ô¤¦¤È̵¸Â¥ë¡¼¥×¤·¤Æ¤·¤Þ¤¦¤¿¤á
\r
74 #==============================================================================
\r
79 # outline°Ê³°¤Î¾ì¹ç¤Î¤ß½èÍý¤ò¹Ô¤¦
\r
80 if($plugin->{command} ne "outline"){
\r
81 my $info = $self->{wiki}->get_plugin_info($plugin->{command});
\r
82 if($info->{FORMAT} eq "WIKI"){
\r
83 return $self->SUPER::l_plugin($plugin);
\r