git-svn-id: file:///home/dpavlin/private/svn/sysadmin-cookbook-html@11
3e18072f-9615-4e06-9d3a-
648eafba3f8d
my $last_level = 0;
my $toc_html = '';
sub header {
my $last_level = 0;
my $toc_html = '';
sub header {
- my ($level, $content) = @_;
- my $display = $content;
+ my ($level, $name) = @_;
+
+ my $display = $name;
$display =~ s{^\d+[\.-]}{};
$display =~ s{-}{ }g;
$display =~ s{\.\w+$}{};
$display =~ s{^\d+[\.-]}{};
$display =~ s{-}{ }g;
$display =~ s{\.\w+$}{};
- $content =~ s{\W+}{_}g;
- html qq|<a name=$content></a>|;
+
+ my $anchor = $name;
+ $anchor =~ s{</?[^>]+>}{}g;
+ $anchor =~ s{\W+}{_}g;
+
+ html qq|<a name=$anchor></a>|;
html qq|<h$level>$display</h$level>|;
if ( $last_level > $level ) {
html qq|<h$level>$display</h$level>|;
if ( $last_level > $level ) {
} elsif ( $last_level < $level ) {
$toc_html .= "<ul>";
}
} elsif ( $last_level < $level ) {
$toc_html .= "<ul>";
}
- $toc_html .= qq|<li><a href="#$content">$display</li>|;
+ $toc_html .= qq|<li><a href="#$anchor">$display</li>|;