toc: Add startlevel parameter. (kerravonsen)
parent
7cf435b678
commit
ffc9f25e73
|
@ -53,8 +53,8 @@ sub format (@) {
|
|||
my $page="";
|
||||
my $index="";
|
||||
my %anchors;
|
||||
my $curlevel;
|
||||
my $startlevel=0;
|
||||
my $startlevel=($params{startlevel} ? $params{startlevel} : 0);
|
||||
my $curlevel=$startlevel-1;
|
||||
my $liststarted=0;
|
||||
my $indent=sub { "\t" x $curlevel };
|
||||
$p->handler(start => sub {
|
||||
|
@ -65,12 +65,17 @@ sub format (@) {
|
|||
my $anchor="index".++$anchors{$level}."h$level";
|
||||
$page.="$text<a name=\"$anchor\"></a>";
|
||||
|
||||
# Take the first header level seen as the topmost level,
|
||||
# Unless we're given startlevel as a parameter,
|
||||
# take the first header level seen as the topmost level,
|
||||
# even if there are higher levels seen later on.
|
||||
if (! $startlevel) {
|
||||
$startlevel=$level;
|
||||
$curlevel=$startlevel-1;
|
||||
}
|
||||
elsif (defined $params{startlevel} &&
|
||||
$level < $params{startlevel}) {
|
||||
return;
|
||||
}
|
||||
elsif ($level < $startlevel) {
|
||||
$level=$startlevel;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
ikiwiki (3.20091219) UNRELEASED; urgency=low
|
||||
|
||||
* pagestats: Add show parameter. Closes: #562129 (David Paleino)
|
||||
* toc: Add startlevel parameter. (kerravonsen)
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Fri, 25 Dec 2009 14:31:22 -0500
|
||||
|
||||
|
|
|
@ -14,6 +14,12 @@ the `levels` parameter:
|
|||
The toc directive will take the level of the first header as the topmost
|
||||
level, even if there are higher levels seen later in the file.
|
||||
|
||||
To create a table of contents that only shows headers starting with a given
|
||||
level, use the `startlevel` parameter. For example, to show only h2 and
|
||||
smaller headers:
|
||||
|
||||
\[[!toc startlevel=2]]
|
||||
|
||||
The table of contents will be created as an ordered list. If you want
|
||||
an unordered list instead, you can change the list-style in your local
|
||||
style sheet.
|
||||
|
|
Loading…
Reference in New Issue