X-Git-Url: http://git.rot13.org/?p=sysadmin-cookbook-html;a=blobdiff_plain;f=bin%2Fhtml.pl;h=cd9485dd7bfcef053c81061da450f6c72e8e947c;hp=0436565491e81c5aed5f44af5d5e90db2afe0fda;hb=bace34e122e1331e987af50ddad063ce136416a5;hpb=0af1b54b628559cca524061dc12875672abe2121 diff --git a/bin/html.pl b/bin/html.pl index 0436565..cd9485d 100755 --- a/bin/html.pl +++ b/bin/html.pl @@ -7,8 +7,7 @@ my $recepies = '/srv/sysadmin-cookbook/recepies'; use File::Find; use File::Slurp; - -my $in_ul = 0; +use Data::Dump qw/dump/; my @html; sub html { push @html, @_ } @@ -21,7 +20,10 @@ sub file { my $content = read_file $path; $content =~ s{[\n\r\s]+$}{}s; $content =~ s/($escape_re)/$escape{$1}/gs; - return $content; + return '' + . "
" . `svn log $path` . "
" + . "
$content
" + ; } my @names; @@ -29,24 +31,42 @@ find({ follow => 0, no_chdir => 1, wanted => sub { push @names, $_ unless m{/\.}; }}, $recepies ); +my $last_level = 0; +my $toc_html = ''; +sub header { + my ($level, $content) = @_; + html qq||; + html qq|$content|; + + if ( $last_level > $level ) { + $toc_html .= ""; + } elsif ( $last_level < $level ) { + $toc_html .= "" if $in_ul++; - html "

$name

" if $in_ul; +$toc_html .= "" foreach ( 1 .. $last_level ); print qq| @@ -55,12 +75,17 @@ print qq| --> | + . "
$toc_html
" , join("\n", @html) , "" ;