Return to texxml2latex.pl CVS log | Up to [LON-CAPA] / doc / help |
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.
#!/usr/bin/perl use strict; use HTML::TokeParser; use GDBM_File; # accept texxml document on standard in my $p = HTML::TokeParser->new( $ARGV[0] ); my $dirprefix = "/home/httpd/html/adm/help/tex/"; # Print the header open (LATEX_FILE, $dirprefix . "Latex_Header.tex"); print <LATEX_FILE>; while (my $token = $p->get_token()) { my $type = $token->[0]; if ($type eq 'S') { my $tag = $token->[1]; my $attr = $token->[2]; if ($tag eq 'section') { my $title = $attr->{'name'}; print "\\section{$title}\n\n"; } if ($tag eq 'subsection') { my $title = $attr->{'name'}; print "\\subsection{$title}\n\n"; } if ($tag eq 'subsubsection') { my $title = $attr->{'name'}; print "\\subsubsection{$title}\n\n"; } if ($tag eq 'file') { my $file = $attr->{'name'}; open (LATEX_FILE, $dirprefix . $file); print <LATEX_FILE>; } if ($tag eq 'tex') { print "\n"; print $attr->{'content'}; print "\n"; } } } # Print out the footer. open (LATEX_FILE, $dirprefix . "Latex_Footer.tex"); print <LATEX_FILE>;