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, 11 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>