Junio C Hamano | 5cefc33 | 2007-12-10 01:15:57 -0800 | [diff] [blame] | 1 | #!/usr/bin/perl -w |
| 2 | |
| 3 | my @menu = (); |
| 4 | my $output = $ARGV[0]; |
| 5 | |
| 6 | open TMP, '>', "$output.tmp"; |
| 7 | |
| 8 | while (<STDIN>) { |
| 9 | next if (/^\\input texinfo/../\@node Top/); |
| 10 | next if (/^\@bye/ || /^\.ft/); |
| 11 | if (s/^\@top (.*)/\@node $1,,,Top/) { |
| 12 | push @menu, $1; |
| 13 | } |
Junio C Hamano | 5ada369 | 2008-06-12 14:21:05 -0700 | [diff] [blame] | 14 | s/\(\@pxref{\[(URLS|REMOTES)\]}\)//; |
Junio C Hamano | 5cefc33 | 2007-12-10 01:15:57 -0800 | [diff] [blame] | 15 | print TMP; |
| 16 | } |
| 17 | close TMP; |
| 18 | |
| 19 | printf '\input texinfo |
| 20 | @setfilename gitman.info |
Teemu Likonen | 9c6c304 | 2008-12-29 10:03:09 +0200 | [diff] [blame] | 21 | @documentencoding UTF-8 |
| 22 | @dircategory Development |
| 23 | @direntry |
| 24 | * Git Man Pages: (gitman). Manual pages for Git revision control system |
| 25 | @end direntry |
| 26 | @node Top,,, (dir) |
Junio C Hamano | 5cefc33 | 2007-12-10 01:15:57 -0800 | [diff] [blame] | 27 | @top Git Manual Pages |
| 28 | @documentlanguage en |
| 29 | @menu |
| 30 | ', $menu[0]; |
| 31 | |
| 32 | for (@menu) { |
| 33 | print "* ${_}::\n"; |
| 34 | } |
| 35 | print "\@end menu\n"; |
| 36 | open TMP, '<', "$output.tmp"; |
| 37 | while (<TMP>) { |
| 38 | print; |
| 39 | } |
| 40 | close TMP; |
| 41 | print "\@bye\n"; |
| 42 | unlink "$output.tmp"; |