0001
0002
0003 use strict;
0004 use warnings;
0005
0006 my @menu = ();
0007 my $output = $ARGV[0];
0008
0009 open my $tmp, '>', "$output.tmp";
0010
0011 while (<STDIN>) {
0012 next if (/^\\input texinfo/../\@node Top/);
0013 next if (/^\@bye/ || /^\.ft/);
0014 if (s/^\@top (.*)/\@node $1,,,Top/) {
0015 push @menu, $1;
0016 }
0017 s/\(\@pxref\{\[(URLS|REMOTES)\]}\)//;
0018 s/\@anchor\{[^{}]*\}//g;
0019 print $tmp $_;
0020 }
0021 close $tmp;
0022
0023 print '\input texinfo
0024 @setfilename gitman.info
0025 @documentencoding UTF-8
0026 @dircategory Development
0027 @direntry
0028 * Git Man Pages: (gitman). Manual pages for Git revision control system
0029 @end direntry
0030 @node Top,,, (dir)
0031 @top Git Manual Pages
0032 @documentlanguage en
0033 @menu
0034 ';
0035
0036 for (@menu) {
0037 print "* ${_}::\n";
0038 }
0039 print "\@end menu\n";
0040 open $tmp, '<', "$output.tmp";
0041 while (<$tmp>) {
0042 print;
0043 }
0044 close $tmp;
0045 print "\@bye\n";
0046 unlink "$output.tmp";