42 lines
750 B
42 lines
750 B
#!/usr/bin/perl -w |
|
|
|
my @menu = (); |
|
my $output = $ARGV[0]; |
|
|
|
open TMP, '>', "$output.tmp"; |
|
|
|
while (<STDIN>) { |
|
next if (/^\\input texinfo/../\@node Top/); |
|
next if (/^\@bye/ || /^\.ft/); |
|
if (s/^\@top (.*)/\@node $1,,,Top/) { |
|
push @menu, $1; |
|
} |
|
s/\(\@pxref{\[(URLS|REMOTES)\]}\)//; |
|
print TMP; |
|
} |
|
close TMP; |
|
|
|
printf '\input texinfo |
|
@setfilename gitman.info |
|
@documentencoding UTF-8 |
|
@dircategory Development |
|
@direntry |
|
* Git Man Pages: (gitman). Manual pages for Git revision control system |
|
@end direntry |
|
@node Top,,, (dir) |
|
@top Git Manual Pages |
|
@documentlanguage en |
|
@menu |
|
', $menu[0]; |
|
|
|
for (@menu) { |
|
print "* ${_}::\n"; |
|
} |
|
print "\@end menu\n"; |
|
open TMP, '<', "$output.tmp"; |
|
while (<TMP>) { |
|
print; |
|
} |
|
close TMP; |
|
print "\@bye\n"; |
|
unlink "$output.tmp";
|
|
|