46 lines
		
	
	
	
		
			805 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			805 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable file
		
	
	
	
	
| #!/usr/bin/perl -w
 | |
| 
 | |
| use strict;
 | |
| use warnings;
 | |
| 
 | |
| my @menu = ();
 | |
| my $output = $ARGV[0];
 | |
| 
 | |
| open my $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)\]}\)//;
 | |
| 	s/\@anchor\{[^{}]*\}//g;
 | |
| 	print $tmp $_;
 | |
| }
 | |
| close $tmp;
 | |
| 
 | |
| print '\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
 | |
| ';
 | |
| 
 | |
| for (@menu) {
 | |
| 	print "* ${_}::\n";
 | |
| }
 | |
| print "\@end menu\n";
 | |
| open $tmp, '<', "$output.tmp";
 | |
| while (<$tmp>) {
 | |
| 	print;
 | |
| }
 | |
| close $tmp;
 | |
| print "\@bye\n";
 | |
| unlink "$output.tmp";
 |