File:  [LON-CAPA] / doc / help / rebuildLabelHash.pl
Revision 1.1: download - view: text, annotated - select for diffs
Fri Jul 5 16:12:30 2002 UTC (21 years, 10 months ago) by bowersj2
Branches: MAIN
CVS tags: HEAD
This commit implements the .tex-based online help system in LON-CAPA. It
may be necessary to manually run loncom/build/help_graphics_converter.pl
and doc/help/rebuildLabelHash.pl after a cvs update, and
loncapa_apache.conf may need to be manually copied to /etc. (The
loncapafiles.lpml has been updated.)

After merging this, the URL http://[loncapahost]/adm/help/Foils.hlp
should display a help file.

Also, some *very* out-of-date files have been removed from the /doc
directory.

    1: #!/usr/bin/perl
    2: 
    3: use strict;
    4: use GDBM_File;
    5: 
    6: my $dirprefix = "/home/httpd/html/adm/help/";
    7: 
    8: # if the topic hash exists, kill it
    9: unlink 'fragmentLabels.gdbm' if ( -e $dirprefix . 'fragmentTopics.gdbm' );
   10: 
   11: tie (my %fragmentLabels, 'GDBM_File', $dirprefix . 'fragmentLabels.gdbm', 1, 0);
   12: my $error = 0;
   13: 
   14: chdir $dirprefix;
   15: 
   16: while (<*.tex>) 
   17: {
   18:     my $file;
   19:     $file = $_;
   20:     open F, $file;
   21:     my $contents = join("\n", <F>);
   22:     my $label;
   23:     
   24:     # Search for labels, of the form '\label{labelname}'
   25:     foreach $label ( $contents =~ /\\label\{([^}]*)\}/g )
   26:     {
   27: 	if (exists $fragmentLabels{$label} )
   28: 	{
   29: 	    print "***ERROR: '$label' in both $fragmentLabels{$label} " .
   30: 	          "and $file. \n";
   31: 	    $error = 1;
   32: 	}
   33: 	$fragmentLabels{$label} = $file;
   34:     }
   35: }
   36: 
   37: if ($error == 0)
   38: {
   39:     print "There were no duplicate labels. Database rebuilt.\n";
   40: }
   41: else
   42: {
   43:     print "There were errors. You must correct the duplicate labels.\n";
   44: }
   45: 
   46: untie %fragmentLabels;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>