# <pre>
# {{toc ¥Ú¡¼¥¸Ì¾}}
# </pre>
+# <p>
+# ¥¢¥¦¥È¥é¥¤¥ó¤Ëɽ¼¨¤¹¤ë¸«½Ð¤·¤Î¥ì¥Ù¥ë¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
+# °Ê²¼¤ÎÎã¤Ç¤Ï¸«½Ð¤·2¤Þ¤Ç¤ò¥¢¥¦¥È¥é¥¤¥ó¤È¤·¤Æɽ¼¨¤·¤Þ¤¹¡£
+# </p>
+# <pre>
+# {{toc 2}}
+# {{toc ¥Ú¡¼¥¸Ì¾,2}}
+# </pre>
#
################################################################################
package plugin::book::Toc;
# ¥Ö¥í¥Ã¥¯¥á¥½¥Ã¥É
#==============================================================================
sub paragraph {
- my $self = shift;
- my $wiki = shift;
- my $page = shift;
- my $cgi = $wiki->get_CGI;
+ my $self = shift;
+ my $wiki = shift;
+ my $page = shift;
+ my $level = shift;
+ my $cgi = $wiki->get_CGI;
my $p_cnt = 0;
+ if($level eq "" && $page =~ /^[0-9]+$/){
+ $level = $page;
+ $page = "";
+ }
$page = $cgi->param("page") unless $page;
# ¥Ú¡¼¥¸¤Î»²¾È¸¢¸Â¤¬¤¢¤ë¤«¤É¤¦¤«Ä´¤Ù¤ë
unless($wiki->can_show($page)){
return undef;
}
- my $parser = plugin::book::TocParser->new($wiki, $page);
+ my $parser = plugin::book::TocParser->new($wiki, $page, $level);
return $parser->outline($wiki->get_page($page));
}
my $class = shift;
my $self = Wiki::HTMLParser->new(shift);
my $page = shift;
+ my $level = shift;
+
+ if($level ne ""){
+ $self->{'display_level'} = $level;
+ } else {
+ $self->{'display_level'} = 3;
+ }
+
$self->{'outline_html'} = "";
$self->{'outline_level'} = 0;
$self->{'outline_cnt'} = 0;
my $self = shift;
my $level = shift;
my $obj = shift;
- my $text = &Util::delete_tag(join("",@$obj));
+
+ if($level > $self->{'display_level'}){
+ return;
+ }
+
+ my $text = &Util::delete_tag(join("",@$obj));
if($level > $self->{outline_level}){
while($level!=$self->{outline_level}){