#!/usr/bin/perl # cd /doc; ./mkdoc # --> creates ../html/*.html my $MKD = "./Markdown.pl"; use 5.10.0; use strict; use warnings; chomp(@ARGV = `cat list`) if not @ARGV; @ARGV = grep { $_ ne 'master-toc.mkd' and /./ } @ARGV; my @save = @ARGV; my $css = join("", ); my $mt = "# gitolite master table of contents/index\n"; my $mf = ''; my $fh; while (<>) { $ARGV =~ /^(?:.*\/)?([^\/]+)\.mkd$/; my $b = $1; if (/^(#+) (?:#(\S+) )?(.*)/) { if ( length($1) == 1 ) { $mt .= "\n"; $mt .= " * [$3][$b]\n"; $mf .= "[$b]: $b.html\n"; } else { $mt .= " " x ( 4 * ( length($1) - 1 ) ); $mt .= " * "; $mt .= ( $2 ? "[$3][$2]" : "$3" ); $mt .= "\n"; $mf .= "[$2]: $b.html" . ($2 ne $b ? "#$2" : "") . "\n" if $2; } } } open($fh, ">", "master-toc.mkd") and print $fh $mt and close $fh; # after this, do this for every mkd (including the master-toc.mkd) # cat $css_block > $base.html # cat $base.mkd $mf | $MKD >> $base.html for my $mkd ("master-toc.mkd", @save) { $mkd =~ /^(?:.*\/)?([^\/]+)\.mkd$/; my $b = $1; open($fh, ">", "../html/$b.html") and print $fh $css and close $fh; my $mkt = `cat $mkd`; $mkt =~ s/^(#+) #(\S+) /$1 <\/a> /mg; open($fh, "|-", "$MKD >> ../html/$b.html") and print $fh $mkt, $mf and close $fh; } __DATA__

master TOC | main page | license