mdwn2man
1 #!/usr/bin/env perl 2 # Warning: hack 3 4 my $prog=shift; 5 my $section=shift; 6 7 print ".TH $prog $section\n"; 8 9 while (<>) { 10 s{(\\?)\[\[([^\s\|\]]+)(\|[^\s\]]+)?\]\]}{$1 ? "[[$2]]" : $2}eg; 11 s/\`([^\`]*)\`/\\fB$1\\fP/g; 12 s/\`//g; 13 s/^\s*\./\\&./g; 14 if (/^#\s/) { 15 s/^#\s/.SH /; 16 <>; # blank; 17 } 18 s/^[ \n]+//; 19 s/^\t/ /; 20 s/-/\\-/g; 21 s/^Warning:.*//g; 22 s/^$/.PP\n/; 23 s/^\*\s+(.*)/.IP "$1"/; 24 next if $_ eq ".PP\n" && $skippara; 25 if (/^.IP /) { 26 $inlist=1; 27 $spippara=0; 28 } 29 elsif (/^.SH/) { 30 $skippara=0; 31 $inlist=0; 32 } 33 elsif (/^\./) { 34 $skippara=1; 35 } 36 else { 37 $skippara=0; 38 } 39 if ($inlist && $_ eq ".PP\n") { 40 $_=".IP\n"; 41 } 42 43 print $_; 44 }